XEN: Device 0 (vif) could not be connected. Hotplug scripts not working.

After updating OpenSuse from 12.1 to 13.1, Xen 4.4 doesn’t want to start my DomUs. Xm says:
Device 0 (vif) could not be connected. Hotplug scripts not working.

Normally I’ using the routed method. The bridge method doesn’t want to start too.

xen_major              : 4
xen_minor              : 4
xen_extra              : .0_04-303.1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 

The xendlog:

[2014-02-13 20:31:26 1349] DEBUG (XendDomainInfo:105) XendDomainInfo.create('vm', 'name', 'siptha'], 'memory', 2072], 'on_reboot', 'restart'], 'on_crash', 'restart'], 'on_xend_start', 'ignore'], 'on_xend_stop', 'ignore'], 'vcpus', 2], 'oos', 1], 'image', 'linux', 'videoram', 4], 'tsc_mode', 0], 'nomigrate', 0]]], 's3_integrity', 1], 'device', 'vbd', 'uname', 'file:/var/lib/xen/images/siptha/xvda'], 'dev', 'xvda'], 'mode', 'w']]], 'device', 'vif', 'ip', '88.198.62.211'], 'mac', '00:50:56:00:18:43']]]])[2014-02-13 20:31:26 1349] DEBUG (XendDomainInfo:2625) XendDomainInfo.constructDomain
[2014-02-13 20:31:26 1349] DEBUG (balloon:206) Balloon: 177872 KiB free; need 16384; done.
[2014-02-13 20:31:26 1349] DEBUG (XendDomain:476) Adding Domain: 1
[2014-02-13 20:31:26 1349] DEBUG (XendDomainInfo:2971) XendDomainInfo.initDomain: 1 256
[2014-02-13 20:31:26 2520] DEBUG (XendBootloader:130) Launching bootloader as '/usr/bin/pygrub', '--output=/var/run/xend/boot/xenbl.4092', '/var/lib/xen/images/siptha/xvda'].
[2014-02-13 20:31:35 1349] DEBUG (XendDomainInfo:2998) _initDomain:shadow_memory=0x0, memory_static_max=0x81800000, memory_static_min=0x0.
[2014-02-13 20:31:35 1349] DEBUG (balloon:191) Balloon: tmem relinquished -1 KiB of 1944560 KiB requested.
[2014-02-13 20:31:35 1349] DEBUG (balloon:212) Balloon: 177680 KiB free; 0 to scrub; need 2122240; retries: 25.
[2014-02-13 20:31:35 1349] DEBUG (balloon:226) Balloon: setting dom0 target to 6016 MiB.
[2014-02-13 20:31:35 1349] DEBUG (XendDomainInfo:1568) Setting memory target of domain Domain-0 (0) to 6016 MiB.
[2014-02-13 20:31:35 1349] DEBUG (balloon:212) Balloon: 597520 KiB free; 0 to scrub; need 2122240; retries: 30.
[2014-02-13 20:31:35 1349] DEBUG (balloon:226) Balloon: setting dom0 target to 6010 MiB.
[2014-02-13 20:31:35 1349] DEBUG (XendDomainInfo:1568) Setting memory target of domain Domain-0 (0) to 6010 MiB.
[2014-02-13 20:31:35 1349] DEBUG (balloon:212) Balloon: 1478160 KiB free; 0 to scrub; need 2122240; retries: 30.
[2014-02-13 20:31:35 1349] DEBUG (balloon:226) Balloon: setting dom0 target to 6012 MiB.
[2014-02-13 20:31:35 1349] DEBUG (XendDomainInfo:1568) Setting memory target of domain Domain-0 (0) to 6012 MiB.
[2014-02-13 20:31:35 1349] DEBUG (balloon:206) Balloon: 1494544 KiB free; need 2048; done.
[2014-02-13 20:31:36 1349] INFO (image:188) buildDomain os=linux dom=1 vcpus=2
[2014-02-13 20:31:36 1349] DEBUG (image:808) domid          = 1
[2014-02-13 20:31:36 1349] DEBUG (image:809) memsize        = 2072
[2014-02-13 20:31:36 1349] DEBUG (image:810) image          = /var/run/xend/boot/boot_kernel.r5uo9F
[2014-02-13 20:31:36 1349] DEBUG (image:811) store_evtchn   = 1
[2014-02-13 20:31:36 1349] DEBUG (image:812) console_evtchn = 2
[2014-02-13 20:31:36 1349] DEBUG (image:813) cmdline        = root=/dev/xvda2 resume=/dev/xvda1 splash=silent quiet showopts
[2014-02-13 20:31:36 1349] DEBUG (image:814) ramdisk        = /var/run/xend/boot/boot_ramdisk.pDbL8A
[2014-02-13 20:31:36 1349] DEBUG (image:815) vcpus          = 2
[2014-02-13 20:31:36 1349] DEBUG (image:816) features       = 
[2014-02-13 20:31:36 1349] DEBUG (image:817) flags          = 0
[2014-02-13 20:31:36 1349] DEBUG (image:818) superpages     = 0
[2014-02-13 20:31:36 1349] INFO (XendDomainInfo:2484) createDevice: vbd : {'uuid': '065f7393-98fb-f379-fe68-e75ce65bfd37', 'bootable': 1, 'driver': 'paravirtualised', 'dev': 'xvda', 'uname': 'file:/var/lib/xen/images/siptha/xvda', 'mode': 'w'}
[2014-02-13 20:31:36 1349] DEBUG (DevController:95) DevController: writing {'virtual-device': '51712', 'device-type': 'disk', 'protocol': 'x86_64-abi', 'backend-id': '0', 'state': '1', 'backend': '/local/domain/0/backend/vbd/1/51712'} to /local/domain/1/device/vbd/51712.
[2014-02-13 20:31:36 1349] DEBUG (DevController:97) DevController: writing {'domain': 'siptha', 'frontend': '/local/domain/1/device/vbd/51712', 'uuid': '065f7393-98fb-f379-fe68-e75ce65bfd37', 'bootable': '1', 'dev': 'xvda', 'state': '1', 'params': '/var/lib/xen/images/siptha/xvda', 'mode': 'w', 'online': '1', 'frontend-id': '1', 'type': 'file'} to /local/domain/0/backend/vbd/1/51712.
[2014-02-13 20:31:36 1349] INFO (XendDomainInfo:2484) createDevice: vif : {'ip': '88.198.62.211', 'mac': '00:50:56:00:18:43', 'uuid': '379b8b54-a82d-4370-e6fc-4fd3598329f5'}
[2014-02-13 20:31:36 1349] DEBUG (DevController:95) DevController: writing {'mac': '00:50:56:00:18:43', 'handle': '0', 'protocol': 'x86_64-abi', 'backend-id': '0', 'state': '1', 'backend': '/local/domain/0/backend/vif/1/0'} to /local/domain/1/device/vif/0.
[2014-02-13 20:31:36 1349] DEBUG (DevController:97) DevController: writing {'domain': 'siptha', 'handle': '0', 'uuid': '379b8b54-a82d-4370-e6fc-4fd3598329f5', 'script': '/etc/xen/scripts/vif-route-ifup', 'ip': '88.198.62.211', 'mac': '00:50:56:00:18:43', 'frontend-id': '1', 'state': '1', 'online': '1', 'frontend': '/local/domain/1/device/vif/0'} to /local/domain/0/backend/vif/1/0.
[2014-02-13 20:31:36 1349] DEBUG (XendDomainInfo:3583) Storing VM details: {'on_xend_stop': 'ignore', 'pool_name': 'Pool-0', 'shadow_memory': '0', 'uuid': '536b2750-4c1d-b248-36a8-245ff037c174', 'on_reboot': 'restart', 'start_time': '1392319896.51', 'on_poweroff': 'destroy', 'bootloader_args': '', 'on_xend_start': 'ignore', 'on_crash': 'restart', 'xend/restart_count': '0', 'vcpus': '2', 'vcpu_avail': '3', 'bootloader': '', 'image': "(linux (kernel '') (superpages 0) (videoram 4) (pci ()) (nomigrate 0) (tsc_mode 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel') (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 0) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071562080256) (LOADER generic) (INIT_P2M 18446719884453740544) (SUSPEND_CANCEL 1) (ENTRY 18446744071562076160) (XEN_VERSION xen-3.0) (MOD_START_PFN 1)))", 'name': 'siptha'}
[2014-02-13 20:31:36 1349] DEBUG (XendDomainInfo:1913) Storing domain details: {'console/ring-ref': '1120038', 'image/entry': '18446744071562076160', 'console/port': '2', 'store/ring-ref': '1120039', 'image/loader': 'generic', 'vm': '/vm/536b2750-4c1d-b248-36a8-245ff037c174', 'control/platform-feature-multiprocessor-suspend': '1', 'image/features/auto-translated-physmap': '1', 'image/guest-os': 'linux', 'cpu/1/availability': 'online', 'image/features/writable-descriptor-tables': '1', 'image/virt-base': '18446744071562067968', 'memory/target': '2121728', 'image/guest-version': '2.6', 'image/features/supervisor-mode-kernel': '1', 'control/platform-feature-xs_reset_watches': '1', 'description': '', 'console/limit': '1048576', 'image/paddr-offset': '0', 'image/hypercall-page': '18446744071562080256', 'image/suspend-cancel': '1', 'cpu/0/availability': 'online', 'image/features/writable-page-tables': '1', 'console/type': 'xenconsoled', 'image/mod-start-pfn': '1', 'name': 'siptha', 'domid': '1', 'image/xen-version': 'xen-3.0', 'image/init-p2m': '18446719884453740544', 'store/port': '1'}
[2014-02-13 20:31:36 1349] DEBUG (DevController:95) DevController: writing {'protocol': 'x86_64-abi', 'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/console/1/0'} to /local/domain/1/device/console/0.
[2014-02-13 20:31:36 1349] DEBUG (DevController:97) DevController: writing {'domain': 'siptha', 'frontend': '/local/domain/1/device/console/0', 'uuid': '498be72a-667f-7e2c-3cd9-c7f0c5adc469', 'frontend-id': '1', 'state': '1', 'location': '2', 'online': '1', 'protocol': 'vt100'} to /local/domain/0/backend/console/1/0.
[2014-02-13 20:31:36 1349] DEBUG (XendDomainInfo:2000) XendDomainInfo.handleShutdownWatch
[2014-02-13 20:31:36 1349] DEBUG (DevController:139) Waiting for devices tap2.
[2014-02-13 20:31:36 1349] DEBUG (DevController:139) Waiting for devices vif.
[2014-02-13 20:31:36 1349] DEBUG (DevController:144) Waiting for 0.
[2014-02-13 20:31:36 1349] DEBUG (DevController:671) hotplugStatusCallback /local/domain/0/backend/vif/1/0/hotplug-status.
[2014-02-13 20:33:14 1349] DEBUG (DevController:671) hotplugStatusCallback /local/domain/0/backend/vif/1/0/hotplug-status.
[2014-02-13 20:33:14 1349] DEBUG (DevController:685) hotplugStatusCallback 2.
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:3218) XendDomainInfo.destroy: domid=1
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2528) Destroying device model
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2535) Releasing devices
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2541) Removing console/0
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:1322) XendDomainInfo.destroyDevice: deviceClass = console, device = console/0
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2541) Removing vbd/51712
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:1322) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2533) No device model
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2535) Releasing devices
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:2541) Removing vbd/51712
[2014-02-13 20:33:14 1349] DEBUG (XendDomainInfo:1322) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/51712

My domU config:

name="siptha"memory=2072
vcpus=2
localtime=0
keymap="de"
builder="linux"


disk= 'file:/var/lib/xen/images/siptha/xvda,xvda,w', ]


vif= 'ip=88.198.62.211,mac=00:50:56:00:18:43']


os_type="opensuse11"
pxe_boot=0
apic=0
non_pae=0


on_reboot='restart'
on_crash = "restart"

I get no detailled error message. Does anyone have an idea how to get more information about the error or does anyone a running DomU with 13.1? I found no working solution in the web.

Thanks, Sven

For this kind of error,
I highly suspect you didn’t install Xen from the OSS repo.
If you d/l xen from anywhere else, I recommend you remove all traces and install from the official openSUSE repositories, preferably by using YAST.

YAST > Install Hypervisor and Tools

Also, since this is an upgrade from 12.3 > 13.1,
Did you update your system to get all the patches, fixes and improvements since 13.1 was released? This is important

zypper up

If you install from OSS, then I recommend you do a “force update/re-install” of the Xen packages.
First search for the Xen packages you have installed, eg

zypper se xen

Then do a force update

zypper in -f 
[list your packages separated by a space]

TSU

What repo do you exactly prefer? I just used the official opensuse rep http://download.opensuse.org/distribution/13.1/repo/oss/
The non-oss rep doesn’t contain xen packages.

I updated my distribution with “zypper dup” and “zypper up”. Averything is up to date.

Btw: I used now “YAST > Install Hypervisor and Tools” and it installed a bridge. This caused another problem, because opensuse switched to networkmanager connection method and I cannot switch back to the traditional ifup method. Yast doesn’t save my choice. Seems to be a bug but know I have another problem to switch back to the traditional method. https://forums.opensuse.org/showthread.php/495485-OpenSuse-13-1-Unable-to-switch-back-to-traditional-ifup-method

I forgot, that I also used the http://download.opensuse.org/repositories/Virtualization/openSUSE_13.1/x86_64/ repository.

Sounds OK that you used official openSUSE repos.

Yes, the YAST install installs a Linux bridging device, but that should not throw you. That device is simply an intermediate component that binds to a particular networking interface (typically eth0 or whatever your wired connection is named. If you want to connect to a wireless network, you’ll have to create a different bridging device).

After installing Xen, you also need to make a major decision whether to manage your virtualization using Libvirt (vm manager, vm install, virt install). If you choose this path (highly recommended for the GUI tools), the bridge device you just created may or may not be used. You can easily create new virtual networks in vm manager which can be configured in a variety of ways (DHCP or not, address range, bind to specified network device including wireless). The bridge devices created by libvirt start with “virbr” instead of simply “br” which is the standard names used by YAST.

So, why the Linux bridge devices? It’s to simplify your life. Once these virtual networks are setup, when you create or want to modify a Guest to use a particular type of network, you simply configure that virtual network during install or later in the Guest settings. Nothing needs to be done inside the Guest except whether to use Network Manager or not and like any ordinary openSUSE install you can enable or disable according to your need and taste.

Inside the Guest, your network connection will <always> be a wired connection (eth0). That never changes no matter what is happening “in the real world” – whether you’re connecting through NAT, bridging (same IP address as physical network), Host Only, wired, wireless, etc.

HTH,
TSU

The way I take it, this seems to be a xend/libvirtd setup. I had the same problems with that config (in addition to some others), but switching to a libvirtd/libxl layout drastically changed things.
I recommend that you also switch to libxenlight instead of xend (I received word that xend is deprecated, anyway, and therefore most likely to be removed from future distros).

Upon switching to libvirtd/libxl things that previously caused headaches all the sudden started to work out, and with a few minor manual adjustments to the XML declarations of the domUs (unfortunately vm-install - this is the process that virt-manager seems to rely on for VM creation - gets certain things wrong that must be manually corrected) they all the sudden started working.

However, this requires you to move the network handling from xend to libvirtd (define a virtual network in /var/lib/libvirt/network that has a forward mode of the desired type - that is, nat, route, or bridge - and declare a bridge device that can either be attached to a physical device or not) and declare a virtual network within the domain definition set to “bridge”. Please note that “network” won’t work and causes libvirtd to hiccup.