Bug ID 920253
Summary xencommons startup script does not behave under a pvops xen environment
Classification openSUSE
Product openSUSE Factory
Version 201502*
Hardware x86-64
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Xen
Assignee carnold@suse.com
Reporter mlatimer@suse.com
QA Contact qa-bugs@suse.de
CC jgross@suse.com
Found By ---
Blocker ---

When booting into Xen with a pvops kernel, /proc/xen is not mounted and
xl/virsh commands fail to connect to libxl. Manually mounting xenfs (using
`mount none /proc/xen -t xenfs`) allows the xl/virsh commands to work properly.

Juergen found that this problem seems to be related to the xencommons
definition for systemd:

# cat /usr/lib/systemd/system/xencommons.service
[Unit]
Description=Xencommons - Script to start and stop xenstored and xenconsoled
ConditionPathExists=/proc/xen

[Service]
Type=oneshot
RemainAfterExit=true
ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
ExecStart=-/etc/init.d/xencommons start
ExecStop=/etc/init.d/xencommons stop

[Install]
WantedBy=multi-user.target


The "ExecStartPre" condition tests /proc/xen/capabilities, which in turn
will appear only after xencommons has been started...

As xencommons is handling the non-Xen case just fine, I'd suggest to
remove the "ExecStartPre" line completely.


In addition to the above problem, Juergen found another issue in xencommons -
the xen kernel modules have been renamed to xen-* in the pvops kernel. As such,
the /etc/init.d/xencommons script needs to be modified to handle both variants,
as follows:

modprobe evtchn 2>/dev/null || modprobe xen-evtchn 2>/dev/null || true
modprobe gntdev 2>/dev/null || modprobe xen-gntdev 2>/dev/null || true
modprobe gntalloc 2>/dev/null || modprobe xen-gntalloc 2>/dev/null || true
modprobe netbk 2>/dev/null || modprobe xen-netback 2>/dev/null || true
modprobe blkbk 2>/dev/null || modprobe xen-blkback 2>/dev/null || true
modprobe xen-scsibk 2>/dev/null || modprobe xen-scsiback 2>/dev/null || true
modprobe usbbk 2>/dev/null || modprobe xen-usbback 2>/dev/null || true
modprobe pciback 2>/dev/null || modprobe xen-pciback 2>/dev/null || true


You are receiving this mail because: