[libvirt-users] Installing libvirt and Xen on Red Hat 7.5

Hi, I am installing OpenStack on Red Hat 7.5. For Nova compute component, I choose libvirt and Xen. However, I am running into some problems. It seems libvirt is unable to communicate with Xen. Xen installation: I installed Xen410 using "Xen make easy" https://xen.crc.id.au/support/guides/install/. Here is a list of packages installed and verification that Xen is running. # lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 7.5 (Maipo) Release: 7.5 Codename: Maipo # yum list | grep xen * kernel-xen: us3.mirror.crc.id.au * kernel-xen-extra: us3.mirror.crc.id.au kernel-xen.x86_64 4.14.94-6.el7xen @kernel-xen kernel-xen.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-devel.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-firmware.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-headers.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-release.noarch 1:7-13 @kernel-xen xen410.x86_64 4.10.2-7.el7 @kernel-xen xen410-devel.x86_64 4.10.2-7.el7 @kernel-xen xen410-hypervisor.x86_64 4.10.2-7.el7 @kernel-xen xen410-libs.x86_64 4.10.2-7.el7 @kernel-xen xen410-licenses.x86_64 4.10.2-7.el7 @kernel-xen xen410-ocaml.x86_64 4.10.2-7.el7 @kernel-xen xen410-runtime.x86_64 4.10.2-7.el7 @kernel-xen xen46-licenses.x86_64 4.6.6-16.el7 @kernel-xen # xl info host : nfv-sec-cn01-pa.labs.hpecorp.net release : 4.14.97-6.el7xen.x86_64 version : #2 SMP Fri Feb 1 00:33:52 AEDT 2019 machine : x86_64 nr_cpus : 32 max_cpu_id : 63 nr_nodes : 2 cores_per_socket : 8 threads_per_core : 2 cpu_mhz : 1995 hw_caps : bfebfbff:17bee3ff:2c100800:00000001:00000001:00000000:00000000:00000100 virt_caps : hvm hvm_directio total_memory : 131034 free_memory : 96587 sharing_freed_memory : 0 sharing_used_memory : 0 outstanding_claims : 0 free_cpus : 0 xen_major : 4 xen_minor : 10 xen_extra : .3-pre xen_version : 4.10.3-pre 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 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : Tue Nov 20 15:45:04 2018 +0100 git:b6e203b-dirty xen_commandline : placeholder dom0_mem=32768M cpufreq=xen dom0_max_vcpus=8 dom0_vcpus_pin console=tty0 console=com1 com1=115200,8n1 cc_compiler : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) cc_compile_by : mockbuild cc_compile_domain : cc_compile_date : Wed Nov 21 02:09:26 AEDT 2018 build_id : 2d53c8b15aaf737b0351e78ad863eb5a530e7df0 xend_config_format : 4 libvirt was installed as dependencies of openstack-nova-compute from yum. ================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================== Installing: openstack-nova-compute noarch 1:17.0.9-1.el7 openstack-queens 7.9 k Installing for dependencies: OpenIPMI-modalias x86_64 2.0.23-2.el7 RedHat-7Server-x86_64-errata 16 k attr x86_64 2.4.46-13.el7 RedHat-7Server-x86_64-errata 66 k dosfstools x86_64 3.0.20-9.el7 RedHat-7.1Server-x86_64 101 k fuse x86_64 2.9.2-10.el7 RedHat-7Server-x86_64-errata 86 k gdisk x86_64 0.8.6-5.el7 RedHat-7.1Server-x86_64 187 k glusterfs-cli x86_64 3.8.4-53.el7 RedHat-7Server-x86_64-errata 176 k hivex x86_64 1.3.10-6.9.el7 RedHat-7Server-x86_64-errata 101 k ipmitool x86_64 1.8.18-7.el7 RedHat-7Server-x86_64-errata 441 k libguestfs x86_64 1:1.36.10-6.el7_5.2 RedHat-7Server-x86_64-errata 1.9 M libreport-filesystem x86_64 2.1.11-40.el7 RedHat-7Server-x86_64-errata 39 k libvirt-daemon x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 852 k libvirt-daemon-driver-interface x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 220 k libvirt-daemon-driver-network x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 389 k libvirt-daemon-driver-nodedev x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 221 k libvirt-daemon-driver-nwfilter x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 243 k libvirt-daemon-driver-qemu x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 714 k libvirt-daemon-driver-secret x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 210 k libvirt-daemon-driver-storage x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 173 k libvirt-daemon-driver-storage-core x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 405 k libvirt-daemon-driver-storage-disk x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 182 k libvirt-daemon-driver-storage-gluster x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 183 k libvirt-daemon-driver-storage-iscsi x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 179 k libvirt-daemon-driver-storage-logical x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 183 k libvirt-daemon-driver-storage-mpath x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 178 k libvirt-daemon-driver-storage-rbd x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 185 k libvirt-daemon-driver-storage-scsi x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 179 k libvirt-daemon-kvm x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 173 k libvirt-python x86_64 3.9.0-1.el7 RedHat-7Server-x86_64-errata 335 k mdadm x86_64 4.0-13.el7 RedHat-7Server-x86_64-errata 431 k mtools x86_64 4.0.18-5.el7 RedHat-7.1Server-x86_64 203 k perl-hivex x86_64 1.3.10-6.9.el7 RedHat-7Server-x86_64-errata 41 k python-libguestfs x86_64 1:1.36.10-6.el7_5.2 RedHat-7Server-x86_64-errata 203 k scrub x86_64 2.5.2-7.el7 RedHat-7Server-x86_64-errata 41 k squashfs-tools x86_64 4.3-0.21.gitaae0aff4.el7 RedHat-7.1Server-x86_64 101 k supermin5 x86_64 5.1.19-1.el7 RedHat-7Server-x86_64-errata 631 k syslinux x86_64 4.05-13.el7 RedHat-7Server-x86_64-errata 990 k syslinux-extlinux x86_64 4.05-13.el7 RedHat-7Server-x86_64-errata 363 k However, after installation, Nova complains "no connection driver available for xen:///". Also, virsh cannot connect Xen. /var/log/nova/nova-compute.log 2019-02-01 15:13:29.965 5091 INFO nova.service [-] Starting compute node (version 18.1.0-1.el7) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host [-] Connection to libvirt failed: no connection driver available for xen:///: libvirtError: no connection driver available for xen:/// 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host Traceback (most recent call last): 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 460, in get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host conn = self._get_connection() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 443, in _get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host {'msg': ex}) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host self.force_reraise() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host six.reraise(self.type_, self.value, self.tb) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 432, in _get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host self._wrapped_conn = self._get_new_connection() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 386, in _get_new_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host wrapped_conn = self._connect(self._uri, self._read_only) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 242, in _connect 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host libvirt.openAuth, uri, auth, flags) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 148, in proxy_call 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host rv = execute(f, *args, **kwargs) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 129, in execute 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host six.reraise(c, e, tb) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host rv = meth(*args, **kwargs) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib64/python2.7/site-packages/libvirt.py", line 105, in openAuth 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host if ret is None:raise libvirtError('virConnectOpenAuth() failed') 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host libvirtError: no connection driver available for xen:/// # virsh -c xen:/// list error: failed to connect to the hypervisor error: no connection driver available for xen:/// Then I check the connection drivers of libvirt. It seems the daemon driver for xen is missing. # ls -l /usr/lib64/libvirt/connection-driver/ total 2664 -rwxr-xr-x 1 root root 115976 Jun 5 2018 libvirt_driver_interface.so -rwxr-xr-x 1 root root 292008 Jun 5 2018 libvirt_driver_lxc.so -rwxr-xr-x 1 root root 169424 Jun 5 2018 libvirt_driver_network.so -rwxr-xr-x 1 root root 119720 Jun 5 2018 libvirt_driver_nodedev.so -rwxr-xr-x 1 root root 174216 Jun 5 2018 libvirt_driver_nwfilter.so -rwxr-xr-x 1 root root 1545344 Jun 5 2018 libvirt_driver_qemu.so -rwxr-xr-x 1 root root 86616 Jun 5 2018 libvirt_driver_secret.so -rwxr-xr-x 1 root root 202568 Jun 5 2018 libvirt_driver_storage.so But I couldn't find the xen driver (libvirt-daemon-driver-xen) from yum. I do find it driver on some websites ( http://rpmfind.net/linux/rpm2html/search.php?query=libvirt-daemon-driver-xen), but I am not sure which is the right version to choose. I also found this email https://www.spinics.net/lists/centos-virt/msg05163.html. Then I decided to compile libvirt from source code. So I checked out the source code from github and tried to configure and compile it. However, from the output of ./autogen.sh --system, I don't find driver for xen is enabled. Actually, xen is not listed as driver in the output. configure: configure: Configuration summary configure: ===================== configure: configure: Drivers configure: configure: QEMU: yes configure: OpenVZ: yes configure: VMware: yes configure: VBox: yes configure: XenAPI: no configure: libxl: yes configure: LXC: yes configure: PHYP: no configure: ESX: no configure: Hyper-V: no configure: vz: no configure: Bhyve: no configure: Test: yes configure: Remote: yes configure: Network: yes configure: Libvirtd: yes configure: Interface: yes configure: configure: Storage Drivers configure: configure: Dir: yes configure: FS: yes configure: NetFS: yes configure: LVM: yes configure: iSCSI: yes configure: iscsi-direct: no configure: SCSI: yes configure: mpath: yes configure: Disk: no configure: RBD: no configure: Sheepdog: no configure: Gluster: no configure: ZFS: no configure: Virtuozzo storage: no configure: configure: Security Drivers configure: configure: SELinux: yes configure: AppArmor: no configure: configure: Driver Loadable Modules configure: configure: driver_modules: yes (CFLAGS='' LIBS='-ldl') configure: configure: Libraries configure: configure: acl: no configure: apparmor: no configure: attr: no configure: audit: no configure: avahi: no configure: bash_completion: no configure: blkid: no configure: capng: no configure: curl: no configure: dbus: no configure: dlopen: yes (CFLAGS='' LIBS='-ldl') configure: firewalld: no configure: firewalld-zone: no configure: fuse: no configure: glusterfs: no configure: gnutls: yes (CFLAGS='-I/usr/include/p11-kit-1 ' LIBS='-lgnutls ') configure: hal: no configure: libiscsi: no configure: libnl: yes (CFLAGS=' ' LIBS='-lnl ') configure: libpcap: no configure: libssh: no configure: libxl: yes (CFLAGS=' -DLIBXL_API_VERSION=0x040500' LIBS='-lxenlight -lxlutil -lxenstore -lxentoollog') configure: libxml: yes (CFLAGS='-I/usr/include/libxml2 ' LIBS='-lxml2 ') configure: macvtap: yes (CFLAGS='' LIBS='') configure: netcf: no configure: NLS: yes configure: nss: yes configure: numactl: no configure: openwsman: no configure: pciaccess: yes (CFLAGS=' ' LIBS='-lpciaccess ') configure: pm_utils: yes (CFLAGS='' LIBS='') configure: polkit: no configure: rbd: no configure: readline: no configure: sanlock: no configure: sasl: yes (CFLAGS='' LIBS='-lsasl2') configure: selinux: yes (CFLAGS='' LIBS='-lselinux') configure: ssh2: no configure: udev: yes (CFLAGS=' ' LIBS='-ludev ') configure: virtualport: yes (CFLAGS='' LIBS='') configure: xdr: yes (CFLAGS='' LIBS='') configure: xenapi: no configure: yajl: yes (CFLAGS='' LIBS='-lyajl') configure: configure: Windows configure: configure: Cygwin: no configure: MinGW: no configure: MSVC: no configure: windres: no configure: configure: Test suite configure: configure: Coverage: no configure: Alloc OOM: no configure: configure: Miscellaneous configure: configure: Debug: yes configure: Use -Werror: yes configure: Warning Flags: -fno-common -W -Waddress -Waggressive-loop-optimizations -Wall -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wempty-body -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wold-style-declaration -Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wpsabi -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings -Wnormalized=nfc -Wno-sign-compare -Wjump-misses-init -Wswitch-enum -Wno-format-nonliteral -fstack-protector-strong -fexceptions -fasynchronous-unwind-tables -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror configure: DTrace: no configure: numad: no configure: Init script: systemd configure: Char device locks: /var/lock configure: Default Editor: vi configure: Loader/NVRAM: configure: virt-login-shell: yes configure: virt-host-validate: yes configure: TLS priority: NORMAL configure: configure: Developer Tools configure: configure: wireshark_dissector: no configure: configure: Privileges configure: configure: QEMU: root:root configure: My question is how should I install the libvirt-daemon-driver-xen driver and make Nova work with Xen? Thanks a lot in advance! Best regards, Lianjie Cao

On Mon, Feb 04, 2019 at 03:57:29PM -0800, Lianjie Cao wrote:
Hi,
I am installing OpenStack on Red Hat 7.5. For Nova compute component, I choose libvirt and Xen. However, I am running into some problems. It seems libvirt is unable to communicate with Xen.
[snip]
# virsh -c xen:/// list error: failed to connect to the hypervisor error: no connection driver available for xen:///
Then I check the connection drivers of libvirt. It seems the daemon driver for xen is missing.
Yes, that is correct. The libvirt packages shipped with RHEL do not enable the Xen driver as this is no longer a supported hypervisor for RHEL since RHEL-6 GA.
Then I decided to compile libvirt from source code. So I checked out the source code from github and tried to configure and compile it. However, from the output of ./autogen.sh --system, I don't find driver for xen is enabled. Actually, xen is not listed as driver in the output.
configure: configure: Configuration summary configure: ===================== configure: configure: Drivers configure: configure: QEMU: yes configure: OpenVZ: yes configure: VMware: yes configure: VBox: yes configure: XenAPI: no configure: libxl: yes
"libxl" is the modern Xen driver & it has been successfully enabled. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

I believe you need libvirt-daemon-driver-libxl Here is my libvirt installed RPMs (Its a stable system so does not get frequent updates so may be older than yours) libvirt-daemon-driver-xen-3.2.1-402.el7.x86_64 libvirt-daemon-kvm-3.2.1-402.el7.x86_64 libvirt-3.2.1-402.el7.x86_64 libvirt-daemon-driver-secret-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-core-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-logical-3.2.1-402.el7.x86_64 libvirt-libs-3.2.1-402.el7.x86_64 libvirt-daemon-config-nwfilter-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-disk-3.2.1-402.el7.x86_64 libvirt-daemon-driver-nodedev-3.2.1-402.el7.x86_64 libvirt-daemon-driver-libxl-3.2.1-402.el7.x86_64 libvirt-daemon-driver-qemu-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-3.2.1-402.el7.x86_64 libvirt-glib-1.0.0-1.el7.x86_64 libvirt-daemon-driver-storage-mpath-3.2.1-402.el7.x86_64 libvirt-daemon-3.2.1-402.el7.x86_64 libvirt-daemon-config-network-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-rbd-3.2.1-402.el7.x86_64 libvirt-daemon-driver-interface-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-iscsi-3.2.1-402.el7.x86_64 libvirt-gobject-1.0.0-1.el7.x86_64 libvirt-daemon-driver-storage-scsi-3.2.1-402.el7.x86_64 libvirt-daemon-driver-network-3.2.1-402.el7.x86_64 libvirt-daemon-driver-lxc-3.2.1-402.el7.x86_64 libvirt-daemon-driver-storage-gluster-3.2.1-402.el7.x86_64 libvirt-daemon-driver-nwfilter-3.2.1-402.el7.x86_64 libvirt-python-3.2.0-3.el7_4.1.x86_64 libvirt-client-3.2.1-402.el7.x86_64 libvirt-gconfig-1.0.0-1.el7.x86_64 On 2/4/19 6:57 PM, Lianjie Cao wrote:
Hi,
I am installing OpenStack on Red Hat 7.5. For Nova compute component, I choose libvirt and Xen. However, I am running into some problems. It seems libvirt is unable to communicate with Xen.
Xen installation: I installed Xen410 using "Xen make easy" https://xen.crc.id.au/support/guides/install/. Here is a list of packages installed and verification that Xen is running.
# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 7.5 (Maipo) Release: 7.5 Codename: Maipo
# yum list | grep xen * kernel-xen: us3.mirror.crc.id.au <http://us3.mirror.crc.id.au> * kernel-xen-extra: us3.mirror.crc.id.au <http://us3.mirror.crc.id.au> kernel-xen.x86_64 4.14.94-6.el7xen @kernel-xen kernel-xen.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-devel.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-firmware.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-headers.x86_64 4.14.97-6.el7xen @kernel-xen kernel-xen-release.noarch 1:7-13 @kernel-xen xen410.x86_64 4.10.2-7.el7 @kernel-xen xen410-devel.x86_64 4.10.2-7.el7 @kernel-xen xen410-hypervisor.x86_64 4.10.2-7.el7 @kernel-xen xen410-libs.x86_64 4.10.2-7.el7 @kernel-xen xen410-licenses.x86_64 4.10.2-7.el7 @kernel-xen xen410-ocaml.x86_64 4.10.2-7.el7 @kernel-xen xen410-runtime.x86_64 4.10.2-7.el7 @kernel-xen xen46-licenses.x86_64 4.6.6-16.el7 @kernel-xen
# xl info host : nfv-sec-cn01-pa.labs.hpecorp.net <http://nfv-sec-cn01-pa.labs.hpecorp.net> release : 4.14.97-6.el7xen.x86_64 version : #2 SMP Fri Feb 1 00:33:52 AEDT 2019 machine : x86_64 nr_cpus : 32 max_cpu_id : 63 nr_nodes : 2 cores_per_socket : 8 threads_per_core : 2 cpu_mhz : 1995 hw_caps : bfebfbff:17bee3ff:2c100800:00000001:00000001:00000000:00000000:00000100 virt_caps : hvm hvm_directio total_memory : 131034 free_memory : 96587 sharing_freed_memory : 0 sharing_used_memory : 0 outstanding_claims : 0 free_cpus : 0 xen_major : 4 xen_minor : 10 xen_extra : .3-pre xen_version : 4.10.3-pre 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 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : Tue Nov 20 15:45:04 2018 +0100 git:b6e203b-dirty xen_commandline : placeholder dom0_mem=32768M cpufreq=xen dom0_max_vcpus=8 dom0_vcpus_pin console=tty0 console=com1 com1=115200,8n1 cc_compiler : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) cc_compile_by : mockbuild cc_compile_domain : cc_compile_date : Wed Nov 21 02:09:26 AEDT 2018 build_id : 2d53c8b15aaf737b0351e78ad863eb5a530e7df0 xend_config_format : 4
libvirt was installed as dependencies of openstack-nova-compute from yum.
================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================== Installing: openstack-nova-compute noarch 1:17.0.9-1.el7 openstack-queens 7.9 k Installing for dependencies: OpenIPMI-modalias x86_64 2.0.23-2.el7 RedHat-7Server-x86_64-errata 16 k attr x86_64 2.4.46-13.el7 RedHat-7Server-x86_64-errata 66 k dosfstools x86_64 3.0.20-9.el7 RedHat-7.1Server-x86_64 101 k fuse x86_64 2.9.2-10.el7 RedHat-7Server-x86_64-errata 86 k gdisk x86_64 0.8.6-5.el7 RedHat-7.1Server-x86_64 187 k glusterfs-cli x86_64 3.8.4-53.el7 RedHat-7Server-x86_64-errata 176 k hivex x86_64 1.3.10-6.9.el7 RedHat-7Server-x86_64-errata 101 k ipmitool x86_64 1.8.18-7.el7 RedHat-7Server-x86_64-errata 441 k libguestfs x86_64 1:1.36.10-6.el7_5.2 RedHat-7Server-x86_64-errata 1.9 M libreport-filesystem x86_64 2.1.11-40.el7 RedHat-7Server-x86_64-errata 39 k libvirt-daemon x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 852 k libvirt-daemon-driver-interface x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 220 k libvirt-daemon-driver-network x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 389 k libvirt-daemon-driver-nodedev x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 221 k libvirt-daemon-driver-nwfilter x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 243 k libvirt-daemon-driver-qemu x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 714 k libvirt-daemon-driver-secret x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 210 k libvirt-daemon-driver-storage x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 173 k libvirt-daemon-driver-storage-core x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 405 k libvirt-daemon-driver-storage-disk x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 182 k libvirt-daemon-driver-storage-gluster x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 183 k libvirt-daemon-driver-storage-iscsi x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 179 k libvirt-daemon-driver-storage-logical x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 183 k libvirt-daemon-driver-storage-mpath x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 178 k libvirt-daemon-driver-storage-rbd x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 185 k libvirt-daemon-driver-storage-scsi x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 179 k libvirt-daemon-kvm x86_64 3.9.0-14.el7_5.6 RedHat-7Server-x86_64-errata 173 k libvirt-python x86_64 3.9.0-1.el7 RedHat-7Server-x86_64-errata 335 k mdadm x86_64 4.0-13.el7 RedHat-7Server-x86_64-errata 431 k mtools x86_64 4.0.18-5.el7 RedHat-7.1Server-x86_64 203 k perl-hivex x86_64 1.3.10-6.9.el7 RedHat-7Server-x86_64-errata 41 k python-libguestfs x86_64 1:1.36.10-6.el7_5.2 RedHat-7Server-x86_64-errata 203 k scrub x86_64 2.5.2-7.el7 RedHat-7Server-x86_64-errata 41 k squashfs-tools x86_64 4.3-0.21.gitaae0aff4.el7 RedHat-7.1Server-x86_64 101 k supermin5 x86_64 5.1.19-1.el7 RedHat-7Server-x86_64-errata 631 k syslinux x86_64 4.05-13.el7 RedHat-7Server-x86_64-errata 990 k syslinux-extlinux x86_64 4.05-13.el7 RedHat-7Server-x86_64-errata 363 k
However, after installation, Nova complains "no connection driver available for xen:///". Also, virsh cannot connect Xen.
/var/log/nova/nova-compute.log 2019-02-01 15:13:29.965 5091 INFO nova.service [-] Starting compute node (version 18.1.0-1.el7) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host [-] Connection to libvirt failed: no connection driver available for xen:///: libvirtError: no connection driver available for xen:/// 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host Traceback (most recent call last): 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 460, in get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host conn = self._get_connection() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 443, in _get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host {'msg': ex}) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host self.force_reraise() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host six.reraise(self.type_, self.value, self.tb) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 432, in _get_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host self._wrapped_conn = self._get_new_connection() 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 386, in _get_new_connection 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host wrapped_conn = self._connect(self._uri, self._read_only) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 242, in _connect 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host libvirt.openAuth, uri, auth, flags) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 148, in proxy_call 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host rv = execute(f, *args, **kwargs) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 129, in execute 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host six.reraise(c, e, tb) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host rv = meth(*args, **kwargs) 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host File "/usr/lib64/python2.7/site-packages/libvirt.py", line 105, in openAuth 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host if ret is None:raise libvirtError('virConnectOpenAuth() failed') 2019-02-01 15:13:30.023 5091 ERROR nova.virt.libvirt.host libvirtError: no connection driver available for xen:///
# virsh -c xen:/// list error: failed to connect to the hypervisor error: no connection driver available for xen:///
Then I check the connection drivers of libvirt. It seems the daemon driver for xen is missing.
# ls -l /usr/lib64/libvirt/connection-driver/ total 2664 -rwxr-xr-x 1 root root 115976 Jun 5 2018 libvirt_driver_interface.so -rwxr-xr-x 1 root root 292008 Jun 5 2018 libvirt_driver_lxc.so -rwxr-xr-x 1 root root 169424 Jun 5 2018 libvirt_driver_network.so -rwxr-xr-x 1 root root 119720 Jun 5 2018 libvirt_driver_nodedev.so -rwxr-xr-x 1 root root 174216 Jun 5 2018 libvirt_driver_nwfilter.so -rwxr-xr-x 1 root root 1545344 Jun 5 2018 libvirt_driver_qemu.so -rwxr-xr-x 1 root root 86616 Jun 5 2018 libvirt_driver_secret.so -rwxr-xr-x 1 root root 202568 Jun 5 2018 libvirt_driver_storage.so
But I couldn't find the xen driver (libvirt-daemon-driver-xen) from yum. I do find it driver on some websites (http://rpmfind.net/linux/rpm2html/search.php?query=libvirt-daemon-driver-xen), but I am not sure which is the right version to choose. I also found this email https://www.spinics.net/lists/centos-virt/msg05163.html. Then I decided to compile libvirt from source code. So I checked out the source code from github and tried to configure and compile it. However, from the output of ./autogen.sh --system, I don't find driver for xen is enabled. Actually, xen is not listed as driver in the output.
configure: configure: Configuration summary configure: ===================== configure: configure: Drivers configure: configure: QEMU: yes configure: OpenVZ: yes configure: VMware: yes configure: VBox: yes configure: XenAPI: no configure: libxl: yes configure: LXC: yes configure: PHYP: no configure: ESX: no configure: Hyper-V: no configure: vz: no configure: Bhyve: no configure: Test: yes configure: Remote: yes configure: Network: yes configure: Libvirtd: yes configure: Interface: yes configure: configure: Storage Drivers configure: configure: Dir: yes configure: FS: yes configure: NetFS: yes configure: LVM: yes configure: iSCSI: yes configure: iscsi-direct: no configure: SCSI: yes configure: mpath: yes configure: Disk: no configure: RBD: no configure: Sheepdog: no configure: Gluster: no configure: ZFS: no configure: Virtuozzo storage: no configure: configure: Security Drivers configure: configure: SELinux: yes configure: AppArmor: no configure: configure: Driver Loadable Modules configure: configure: driver_modules: yes (CFLAGS='' LIBS='-ldl') configure: configure: Libraries configure: configure: acl: no configure: apparmor: no configure: attr: no configure: audit: no configure: avahi: no configure: bash_completion: no configure: blkid: no configure: capng: no configure: curl: no configure: dbus: no configure: dlopen: yes (CFLAGS='' LIBS='-ldl') configure: firewalld: no configure: firewalld-zone: no configure: fuse: no configure: glusterfs: no configure: gnutls: yes (CFLAGS='-I/usr/include/p11-kit-1 ' LIBS='-lgnutls ') configure: hal: no configure: libiscsi: no configure: libnl: yes (CFLAGS=' ' LIBS='-lnl ') configure: libpcap: no configure: libssh: no configure: libxl: yes (CFLAGS=' -DLIBXL_API_VERSION=0x040500' LIBS='-lxenlight -lxlutil -lxenstore -lxentoollog') configure: libxml: yes (CFLAGS='-I/usr/include/libxml2 ' LIBS='-lxml2 ') configure: macvtap: yes (CFLAGS='' LIBS='') configure: netcf: no configure: NLS: yes configure: nss: yes configure: numactl: no configure: openwsman: no configure: pciaccess: yes (CFLAGS=' ' LIBS='-lpciaccess ') configure: pm_utils: yes (CFLAGS='' LIBS='') configure: polkit: no configure: rbd: no configure: readline: no configure: sanlock: no configure: sasl: yes (CFLAGS='' LIBS='-lsasl2') configure: selinux: yes (CFLAGS='' LIBS='-lselinux') configure: ssh2: no configure: udev: yes (CFLAGS=' ' LIBS='-ludev ') configure: virtualport: yes (CFLAGS='' LIBS='') configure: xdr: yes (CFLAGS='' LIBS='') configure: xenapi: no configure: yajl: yes (CFLAGS='' LIBS='-lyajl') configure: configure: Windows configure: configure: Cygwin: no configure: MinGW: no configure: MSVC: no configure: windres: no configure: configure: Test suite configure: configure: Coverage: no configure: Alloc OOM: no configure: configure: Miscellaneous configure: configure: Debug: yes configure: Use -Werror: yes configure: Warning Flags: -fno-common -W -Waddress -Waggressive-loop-optimizations -Wall -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wempty-body -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wold-style-declaration -Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wpsabi -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings -Wnormalized=nfc -Wno-sign-compare -Wjump-misses-init -Wswitch-enum -Wno-format-nonliteral -fstack-protector-strong -fexceptions -fasynchronous-unwind-tables -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror configure: DTrace: no configure: numad: no configure: Init script: systemd configure: Char device locks: /var/lock configure: Default Editor: vi configure: Loader/NVRAM: configure: virt-login-shell: yes configure: virt-host-validate: yes configure: TLS priority: NORMAL configure: configure: Developer Tools configure: configure: wireshark_dissector: no configure: configure: Privileges configure: configure: QEMU: root:root configure:
My question is how should I install the libvirt-daemon-driver-xen driver and make Nova work with Xen?
Thanks a lot in advance! Best regards, Lianjie Cao
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
-- Alvin Starr || land: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 alvin@netvel.net ||
participants (3)
-
Alvin Starr
-
Daniel P. Berrangé
-
Lianjie Cao