Bug 503111 - failed kickstart actions not notified correctly to server
Summary: failed kickstart actions not notified correctly to server
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Provisioning
Version: unspecified
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Clifford Perry
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: 462714 479461
TreeView+ depends on / blocked
 
Reported: 2009-05-28 22:13 UTC by Pradeep Kilambi
Modified: 2014-07-04 13:27 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-04 13:27:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Pradeep Kilambi 2009-05-28 22:13:04 UTC
Description of problem:

If there isn't enough memory for the guest kickstart to proceed it fails on the client. But the UI thinks its still in progress. The issue here is that the right error code is not communicated to the server so the kickstart action can be shown as a failed instead of in progress. Even though a  libvirtError('virDomainCreateLinux() failed', conn=self) is raised, the action is still show as being scheduled successfully. See tracback followed by the response sent to the server.


How reproducible:
always

Steps to Reproduce:
1. schedule a guest kickstart for RHEL5-x86_64
2. rhn_check -vvvv
$ rhn_check -vvvv
D: do_call kickstart_guest.initiate ('rlx-0-16.rhndev.redhat.com', 'rlx-2-22.rhndev.redhat.com:1:RHEL5-x64', 'xenpv', 65, 'RHEL5-x64', 524288, 1, 5, 'xenbr0', '/var/lib/xen/RHEL5-x64', 'ks=http://rlx-0-16.rhndev.redhat.com/ty/LakMzDQV ksdevice=eth0 ')
- looking for Cobbler at http://rlx-0-16.rhndev.redhat.com/cobbler_api
- reading URL: http://rlx-0-16.rhndev.redhat.com/cblr/svc/op/ks/system/rlx-2-22.rhndev.redhat.com:1:RHEL5-x64
install_tree: http://rlx-0-16.rhndev.redhat.com:80/ty/nzfHPtpZ
libvirtd (pid 1942) is running...
downloading initrd initrd.img to /var/lib/xen/initrd.img
url=http://rlx-0-16.rhndev.redhat.com/cobbler/images/ks-rhel-x86_64-server-5-u3:xen/initrd.img
- reading URL: http://rlx-0-16.rhndev.redhat.com/cobbler/images/ks-rhel-x86_64-server-5-u3:xen/initrd.img
downloading kernel vmlinuz to /var/lib/xen/vmlinuz
url=http://rlx-0-16.rhndev.redhat.com/cobbler/images/ks-rhel-x86_64-server-5-u3:xen/vmlinuz
- reading URL: http://rlx-0-16.rhndev.redhat.com/cobbler/images/ks-rhel-x86_64-server-5-u3:xen/vmlinuz
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByUUID
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
libvir: Xen Daemon error : POST operation failed: (xend.err 'Error creating domain: (4, \'Out of memory\', "xc_dom_boot_mem_init: can\'t allocate low memory for domain\\n")')
libvirt.libvirtError
virDomainCreateLinux() failed POST operation failed: (xend.err 'Error creating domain: (4, \'Out of memory\', "xc_dom_boot_mem_init: can\'t allocate low memory for domain\\n")')
  File "/usr/share/rhn/spacewalkkoan/spacewalkkoan.py", line 116, in initiate_guest
    k.run()
   File "/usr/lib/python2.4/site-packages/koan/app.py", line 296, in run
    self.virt()
   File "/usr/lib/python2.4/site-packages/koan/app.py", line 584, in virt
    return self.net_install(after_download)
   File "/usr/lib/python2.4/site-packages/koan/app.py", line 503, in net_install
    after_download(self, profile_data)
   File "/usr/lib/python2.4/site-packages/koan/app.py", line 582, in after_download
    self.virt_net_install(profile_data)
   File "/usr/lib/python2.4/site-packages/koan/app.py", line 1051, in virt_net_install
    virt_type     =  self.virt_type
   File "/usr/lib/python2.4/site-packages/koan/xencreate.py", line 177, in start_install
    guest.start_install()
   File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 822, in start_install
    return self._do_install(consolecb, meter, wait)
   File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 843, in _do_install
    self.domain = self.conn.createLinux(install_xml, 0)
   File "/usr/lib/python2.4/site-packages/libvirt.py", line 573, in createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)

D: Sending back response (0, 'Guest kickstart initiated successfully.', {})
D: do_call packages.checkNeedUpdate ('rhnsd=1',)
D: Called refresh_rpmlist
Updating package profile
D: local action status:  (0, 'rpmlist refreshed', {})
D: closed   db index       /var/lib/rpm/Providename
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: May free Score board((nil))

3. Check th UI:
https://rlx-0-16.rhndev.redhat.com/rhn/systems/details/kickstart/SessionStatus.do?sid=1000010061

and the server thinks the kickstart is still in progress. Even though no trace of guest on the client
# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1509     1 r-----    746.9


Note You need to log in before you can comment on or make changes to this bug.