Hi,
I'm currently running a few servers with CentOS 5.3 (i386) with the stock
Xen version:
# rpm -q kernel-xen xen libvirt
kernel-xen-2.6.18-92.1.22.el5
kernel-xen-2.6.18-128.1.6.el5
xen-3.0.3-80.el5_3.2
libvirt-0.6.3-1
libvirt was compiled from the src RPM from
libvirt.org to run on i386
architecture without issue. I'm having a problem when trying to connect to
remote Xen installations using versions of libvirt starting from 0.5.0 and
above. When issuing virsh commands to query the local instance, it works
without issue, but any remote sources gives 'error: failed to connect to the
hypervisor'. Here's what LIBVIRT_DEBUG reveals:
# LIBVIRT_DEBUG=6 virsh -d 5 -c xen://node3/ list
command: "list "
13:53:17.132: debug : virInitialize:290 : register drivers
13:53:17.132: debug : virRegisterDriver:667 : registering Test as driver 0
13:53:17.132: debug : virRegisterNetworkDriver:567 : registering Test as
network driver 0
13:53:17.132: debug : virRegisterStorageDriver:598 : registering Test as
storage driver 0
13:53:17.132: debug : virRegisterDeviceMonitor:629 : registering Test as
device driver 0
13:53:17.132: debug : xenHypervisorInit:1922 : Using new hypervisor call:
30001
13:53:17.132: debug : xenHypervisorInit:1991 : Using hypervisor call v2, sys
ver3 dom ver5
13:53:17.132: debug : virRegisterDriver:667 : registering Xen as driver 1
13:53:17.132: debug : virRegisterDriver:667 : registering OPENVZ as driver 2
13:53:17.133: debug : vboxRegister:68 : VBoxCGlueInit failed: 0.0.0,
errorval=-1
13:53:17.133: debug : virRegisterDriver:667 : registering VBOX as driver 3
13:53:17.133: debug : virRegisterDriver:667 : registering remote as driver 4
13:53:17.133: debug : virRegisterNetworkDriver:567 : registering remote as
network driver 1
13:53:17.133: debug : virRegisterStorageDriver:598 : registering remote as
storage driver 1
13:53:17.133: debug : virRegisterDeviceMonitor:629 : registering remote as
device driver 1
13:53:17.133: debug : virConnectOpenAuth:1100 : name=xen://node3/,
auth=0x67d0080, flags=0
13:53:17.133: debug : do_open:920 : name "xen://node3/" to URI components:
scheme xen
opaque (null)
authority (null)
server node3
user (null)
port 0
path /
13:53:17.133: debug : do_open:930 : trying driver 0 (Test) ...
13:53:17.133: debug : do_open:936 : driver 0 Test returned DECLINED
13:53:17.133: debug : do_open:930 : trying driver 1 (Xen) ...
13:53:17.133: debug : do_open:936 : driver 1 Xen returned DECLINED
13:53:17.133: debug : do_open:930 : trying driver 2 (OPENVZ) ...
13:53:17.133: debug : do_open:936 : driver 2 OPENVZ returned DECLINED
13:53:17.133: debug : do_open:930 : trying driver 3 (VBOX) ...
13:53:17.133: debug : do_open:936 : driver 3 VBOX returned DECLINED
13:53:17.133: debug : do_open:930 : trying driver 4 (remote) ...
13:53:17.133: debug : do_open:936 : driver 4 remote returned DECLINED
13:53:17.133: debug : virUnrefConnect:210 : unref connection 0x93275d0 1
13:53:17.134: debug : virReleaseConnect:171 : release connection 0x93275d0
error: failed to connect to the hypervisor
But when connecting to localhost, it works just fine:
# LIBVIRT_DEBUG=6 virsh -d 5 -c xen:/// list
command: "list "
13:53:23.558: debug : virInitialize:290 : register drivers
13:53:23.558: debug : virRegisterDriver:667 : registering Test as driver 0
13:53:23.558: debug : virRegisterNetworkDriver:567 : registering Test as
network driver 0
13:53:23.558: debug : virRegisterStorageDriver:598 : registering Test as
storage driver 0
13:53:23.558: debug : virRegisterDeviceMonitor:629 : registering Test as
device driver 0
13:53:23.559: debug : xenHypervisorInit:1922 : Using new hypervisor call:
30001
13:53:23.559: debug : xenHypervisorInit:1991 : Using hypervisor call v2, sys
ver3 dom ver5
13:53:23.559: debug : virRegisterDriver:667 : registering Xen as driver 1
13:53:23.559: debug : virRegisterDriver:667 : registering OPENVZ as driver 2
13:53:23.559: debug : vboxRegister:68 : VBoxCGlueInit failed: 0.0.0,
errorval=-1
13:53:23.559: debug : virRegisterDriver:667 : registering VBOX as driver 3
13:53:23.559: debug : virRegisterDriver:667 : registering remote as driver 4
13:53:23.559: debug : virRegisterNetworkDriver:567 : registering remote as
network driver 1
13:53:23.560: debug : virRegisterStorageDriver:598 : registering remote as
storage driver 1
13:53:23.560: debug : virRegisterDeviceMonitor:629 : registering remote as
device driver 1
13:53:23.560: debug : virConnectOpenAuth:1100 : name=xen:///,
auth=0x67d0080, flags=0
13:53:23.560: debug : do_open:920 : name "xen:///" to URI components:
scheme xen
opaque (null)
authority (null)
server (null)
user (null)
port 0
path /
13:53:23.560: debug : do_open:930 : trying driver 0 (Test) ...
13:53:23.560: debug : do_open:936 : driver 0 Test returned DECLINED
13:53:23.560: debug : do_open:930 : trying driver 1 (Xen) ...
13:53:23.560: debug : xenUnifiedOpen:295 : Trying hypervisor sub-driver
13:53:23.560: debug : xenUnifiedOpen:298 : Activated hypervisor sub-driver
13:53:23.560: debug : xenUnifiedOpen:306 : Trying XenD sub-driver
13:53:23.563: debug : xenUnifiedOpen:309 : Activated XenD sub-driver
13:53:23.563: debug : xenUnifiedOpen:315 : Trying XM sub-driver
13:53:23.563: debug : xenUnifiedOpen:318 : Activated XM sub-driver
13:53:23.563: debug : xenUnifiedOpen:322 : Trying XS sub-driver
13:53:23.564: debug : xenStoreOpen:346 : Failed to add event handle,
disabling events
13:53:23.564: debug : xenUnifiedOpen:325 : Activated XS sub-driver
13:53:23.570: debug : xenUnifiedOpen:361 : Trying Xen inotify sub-driver
13:53:23.571: debug : xenInotifyOpen:439 : Adding a watch on /etc/xen
13:53:23.571: debug : xenInotifyOpen:451 : Building initial config cache
13:53:23.571: debug : xenXMConfigCacheAddFile:387 : Adding file
/etc/xen/centos
13:53:23.571: debug : xenXMConfigCacheAddFile:436 : Failed to read
/etc/xen/centos
13:53:23.571: debug : xenXMConfigCacheAddFile:387 : Adding file
/etc/xen/test3
13:53:23.571: debug : xenXMConfigCacheAddFile:465 : Added config test3
/etc/xen/test3
13:53:23.571: debug : xenXMConfigCacheAddFile:387 : Adding file
/etc/xen/hany
13:53:23.571: debug : xenXMConfigCacheAddFile:465 : Added config hany
/etc/xen/hany
13:53:23.572: debug : xenXMConfigCacheAddFile:387 : Adding file
/etc/xen/hany2
13:53:23.572: debug : xenXMConfigCacheAddFile:465 : Added config hany4
/etc/xen/hany2
13:53:23.572: debug : xenInotifyOpen:458 : Registering with event loop
13:53:23.572: debug : xenInotifyOpen:462 : Failed to add inotify handle,
disabling events
13:53:23.572: debug : virConnectRef:1165 : conn=0x996b5c8 refs=3
13:53:23.572: debug : xenUnifiedOpen:364 : Activated Xen inotify sub-driver
13:53:23.572: debug : do_open:936 : driver 1 Xen returned SUCCESS
13:53:23.572: debug : do_open:956 : network driver 0 Test returned DECLINED
13:53:23.572: debug : doRemoteOpen:511 : proceeding with name = xen:///
13:53:23.572: debug : call:6543 : Doing call 66 (nil)
13:53:23.573: debug : call:6613 : We have the buck 66 0xb736c008 0xb736c008
13:53:23.573: debug : processCallRecvLen:6201 : Got length, now need 36
total (32 more)
13:53:23.573: debug : processCalls:6469 : Giving up the buck 66 0xb736c008
(nil)
13:53:23.573: debug : call:6644 : All done with our call 66 (nil) 0xb736c008
13:53:23.573: debug : call:6543 : Doing call 1 (nil)
13:53:23.573: debug : call:6613 : We have the buck 1 0x997f3b0 0x997f3b0
13:53:23.584: debug : processCallRecvLen:6201 : Got length, now need 28
total (24 more)
13:53:23.585: debug : processCalls:6469 : Giving up the buck 1 0x997f3b0
(nil)
13:53:23.585: debug : call:6644 : All done with our call 1 (nil) 0x997f3b0
13:53:23.585: debug : doRemoteOpen:822 : Adding Handler for remote events
13:53:23.585: debug : doRemoteOpen:829 : virEventAddHandle failed: No
addHandleImpl defined. continuing without events.
13:53:23.585: debug : do_open:956 : network driver 1 remote returned SUCCESS
13:53:23.585: debug : do_open:978 : storage driver 0 Test returned DECLINED
13:53:23.585: debug : do_open:978 : storage driver 1 remote returned SUCCESS
13:53:23.585: debug : do_open:999 : node driver 0 Test returned DECLINED
13:53:23.585: debug : do_open:999 : node driver 1 remote returned SUCCESS
13:53:23.585: debug : virConnectNumOfDomains:1440 : conn=0x996b5c8
13:53:23.585: debug : virConnectListDomains:1401 : conn=0x996b5c8,
ids=0x997a6d0, maxids=1
Id Name State
----------------------------------
13:53:23.586: debug : virDomainLookupByID:1576 : conn=0x996b5c8, id=0
13:53:23.586: debug : virGetDomain:271 : New hash entry 0x997b300
13:53:23.586: debug : virDomainGetInfo:2569 : domain=0x997b300,
info=0xbfc34c64
13:53:23.586: debug : virDomainGetName:2268 : domain=0x997b300
13:53:23.586: debug : virDomainGetID:2361 : domain=0x997b300
0 Domain-0 running
13:53:23.586: debug : virDomainFree:1806 : domain=0x997b300
13:53:23.586: debug : virUnrefDomain:345 : unref domain 0x997b300 Domain-0 1
13:53:23.586: debug : virReleaseDomain:303 : release domain 0x997b300
Domain-0
13:53:23.587: debug : virReleaseDomain:315 : unref connection 0x996b5c8 5
13:53:23.587: debug : virConnectClose:1118 : conn=0x996b5c8
13:53:23.587: debug : call:6543 : Doing call 2 (nil)
13:53:23.587: debug : call:6613 : We have the buck 2 0x997f3b0 0x997f3b0
13:53:23.588: debug : processCallRecvLen:6201 : Got length, now need 28
total (24 more)
13:53:23.588: debug : processCalls:6469 : Giving up the buck 2 0x997f3b0
(nil)
13:53:23.588: debug : call:6644 : All done with our call 2 (nil) 0x997f3b0
13:53:23.588: debug : virUnrefConnect:210 : unref connection 0x996b5c8 4
13:53:23.588: debug : virUnrefConnect:210 : unref connection 0x996b5c8 3
13:53:23.589: debug : virUnrefConnect:210 : unref connection 0x996b5c8 2
13:53:23.589: debug : virUnrefConnect:210 : unref connection 0x996b5c8 1
13:53:23.589: debug : virReleaseConnect:171 : release connection 0x996b5c8
Anybody else run into this? Any help would be greatly appreciated.
Thanks,
Hany