Bug 509 - Changes needed to support dom0 in Indiana
: Changes needed to support dom0 in Indiana
Status: CLOSED TRACKEDINBUGSTER
Product: opensolaris
software
: unspecified
: Other Solaris
: P3 enhancement (vote)
: in-preview3
Assigned To: osol/software watcher
:
:
: BugsterCR=6885672
:
:
:
  Show dependency treegraph
 
Reported: 2008-02-11 11:05 UTC by Dave Miner
Modified: 2009-10-14 23:14 UTC (History)
5 users (show)

See Also:


Attachments


Note

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


Description Dave Miner 2008-02-11 11:05:19 UTC
I was unable to install any xVM domU's on preview 2 (after adding all of the
necessary packages, of course).  Every attempt would fail with the following in
/var/log/xen/xend.log:

[2008-02-10 12:52:26 xend 3669] DEBUG (XendDomain:431) Adding Domain: 23
[2008-02-10 12:52:26 xend 3669] DEBUG (DevController:149) Waiting for devices
vif.
[2008-02-10 12:52:26 xend.XendDomainInfo 3669] DEBUG (XendDomainInfo:824)
XendDomainInfo.handleShutdownWatch
[2008-02-10 12:52:26 xend 3669] DEBUG (DevController:154) Waiting for 0.
[2008-02-10 12:52:26 xend 3669] DEBUG (DevController:561) hotplugStatusCallback
/local/domain/0/backend/vif/23/0/hotplug-status.
[2008-02-10 12:54:06 xend 3669] DEBUG (DevController:549) destroyCallback
/local/domain/23/device/vif/0.
[2008-02-10 12:54:16 xend 3669] ERROR (SrvBase:88) Request wait_for_devices
failed.
Traceback (most recent call last):
File "/usr/lib/python2.4/vendor-packages/xen/web/SrvBase.py", line 85, in
perform
return op_method(op, req)
File "/usr/lib/python2.4/vendor-packages/xen/xend/server/SrvDomain.py", line
85, in op_wait_for_devices
return self.dom.waitForDevices()
File "/usr/lib/python2.4/vendor-packages/xen/xend/XendDomainInfo.py", line 518,
in waitForDevices
self.getDeviceController(devclass).waitForDevices()
File "/usr/lib/python2.4/vendor-packages/xen/xend/server/DevController.py",
line 150, in waitForDevices
return map(self.waitForDevice, self.deviceIDs())
File "/usr/lib/python2.4/vendor-packages/xen/xend/server/DevController.py",
line 159, in waitForDevice
self.destroyDevice(devid, False)
File "/usr/lib/python2.4/vendor-packages/xen/xend/server/DevController.py",
line 237, in destroyDevice
raise EnvironmentError
EnvironmentError
[2008-02-10 12:54:16 xend.XendDomainInfo 3669] DEBUG (XendDomainInfo:1519)
XendDomainInfo.destroy: domid=23
[2008-02-10 12:54:16 xend.XendDomainInfo 3669] DEBUG (XendDomainInfo:1527)
XendDomainInfo.destroyDomain(23)
[2008-02-10 12:54:17 xend 3669] DEBUG (DevController:549) destroyCallback
/local/domain/23/device/vif/0.
[2008-02-10 12:54:17 xend 3669] DEBUG (DevController:557) destroyCallback
/local/domain/23/device/vif/0 is destroyed 

With assistance from the xVM community, we discovered that the sysevent
registrations that xVM is relying on are not included, because they're done in
the postinstall script of SUNWxvmdomu.  We likely need to add a sysevent action
to handle these registrations.

The workaround is to run the following after all the xVM packages are
installed:

syseventadm add  -c EC_xendev \
            /usr/lib/xen/scripts/xpvd-event 'action=$subclass' \
            'domain=$domain' 'vdev=$vdev' 'device=$device' \
            'devclass=$devclass' 'febe=$fob'
syseventadm add  -c EC_xpvsys \
            /usr/lib/xen/scripts/xpvsys-event 'subclass=$subclass' \
            'shutdown=$shutdown'
Comment 1 Stephen Hahn 2008-02-13 10:54:14 UTC
We could do this as a dedicated action (syseventadm has a -R option), but, if
this registration isn't needed for system boot, we could also handle it via the
coalescing idea for "postaction".
Comment 2 David Comay 2008-03-19 15:17:59 UTC
I spoke with John Levon about this recently and either using Stephen's
"postaction" consumer or perhaps folding this into one of existing relevant xVM
services as a part of the start method seem to be viable solutions.
Comment 3 David Comay 2008-04-16 20:58:25 UTC
Fixed Assignee.
Comment 4 David Comay 2008-04-16 20:58:57 UTC
...and the QA Contact.
Comment 5 David Comay 2008-04-29 09:42:07 UTC
*** Bug 1693 has been marked as a duplicate of this bug. ***
Comment 6 John Levon 2008-08-06 12:20:50 UTC
comment #2: actually, I don't see how this would work, as we also need to
remove the actions if the packages are removed. Nor can we just drop
files into /etc/sysevent/config/, since we have no way to signal syseventd.

A proper sysevent action is the only solution I can see here that works
properly.
Comment 7 Stephen Hahn 2008-08-07 13:38:13 UTC
Actually, you'll be able to restart or refresh any service on file addition or
removal.
Comment 8 John Levon 2008-08-07 13:50:01 UTC
So we need to make /etc/sysevent/config/ a Stable interface instead
of the current private one, and wait for the ability to nudge FMRIs on a
file action, right?
Comment 9 John Levon 2008-11-10 11:55:03 UTC
The issue with syseventadm should be resolved now. Keeping this open
to cover the addition of the xVM entries to menu.lst and the need to
enable the xVM services by hand.
Comment 10 David Comay 2008-11-10 16:56:12 UTC
*** Bug 4765 has been marked as a duplicate of this bug. ***
Comment 11 John Levon 2009-10-14 22:58:51 UTC
Fixed by 6885672, in b126