Bug 1452735 - Packstack fails to install on rhel-7.4 (libvirt-client)
Summary: Packstack fails to install on rhel-7.4 (libvirt-client)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-packstack
Version: 12.0 (Pike)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: Upstream M2
: 12.0 (Pike)
Assignee: Alfredo Moralejo
QA Contact: nlevinki
URL:
Whiteboard:
Depends On:
Blocks: 1463529 1463621 1471895
TreeView+ depends on / blocked
 
Reported: 2017-05-19 14:08 UTC by Attila Fazekas
Modified: 2018-02-05 19:07 UTC (History)
6 users (show)

Fixed In Version: openstack-packstack-10.1.0-0.20170602191437.8d1cfb5.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1463529 (view as bug list)
Environment:
Last Closed: 2017-12-13 21:28:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 467629 0 None None None 2017-05-24 15:05:59 UTC
RDO 7077 0 None None None 2017-06-15 14:13:55 UTC
Red Hat Product Errata RHEA-2017:3462 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 12.0 Enhancement Advisory 2018-02-16 01:43:25 UTC

Description Attila Fazekas 2017-05-19 14:08:10 UTC
Description of problem:

packstack/puppet/modules/packstack/manifests/nova/compute/libvirt.pp:
    file_line { 'libvirt-guests':
      path    => '/etc/sysconfig/libvirt-guests',
      line    => 'ON_BOOT=ignore',
      match   => '^[\s#]*ON_BOOT=.*',
      require => Class['::nova::compute::libvirt'],
    }

packstack/puppet tries to modify a not existing file.

The file belongs to the libvirt-client package,
but it is not installed.

It is possible on rhel 7.3 something else pulls it, but now it is not pulled and the installation fails.

Version-Release number of selected component (if applicable):
puppet-xinetd-2.0.1-0.20170330143624.ee8b4d8.el7ost.noarch
puppet-mysql-3.11.1-0.20170509103830.4fc16bc.el7ost.noarch
puppet-manila-11.1.0-0.20170424155949.2876e50.el7ost.noarch
puppet-ceilometer-11.1.0-0.20170510221322.3d45585.el7ost.noarch
puppet-mongodb-0.17.1-0.20170429000058.98b137a.el7ost.noarch
puppet-concat-4.0.1-0.20170425132039.3d1a90a.el7ost.noarch
puppet-vswitch-7.1.0-0.20170511171651.74bac67.el7ost.noarch
puppet-cinder-11.1.0-0.20170508094535.02e29ba.el7ost.noarch
puppet-panko-11.1.0-0.20170508094431.020a8e3.el7ost.noarch
puppet-certmonger-1.2.0-0.20170322174804.bca6294.el7.noarch
puppet-4.8.2-1.el7ost.noarch
puppet-apache-1.11.1-0.20170510211042.8aed782.el7ost.noarch
puppet-rsync-0.4.1-0.20170511190057.0aa5ada.el7ost.noarch
puppet-staging-1.0.5-0.20170309132835.b466d93.el7.noarch
puppet-oslo-11.1.0-0.20170428232738.df41e1e.el7ost.noarch
puppet-nova-11.1.0-0.20170504072502.2125355.el7ost.noarch
puppet-trove-11.1.0-0.20170510091014.264da12.el7ost.noarch
puppet-swift-11.1.0-0.20170427122157.1a22b51.el7ost.noarch
puppet-tempest-11.1.0-0.20170425233500.a13bad7.el7ost.noarch
puppet-nssdb-1.0.2-0.20170309140103.2ed2a2d.el7.noarch
puppet-openstack_extras-11.1.0-0.20170424160748.6ae42d2.el7ost.noarch
puppet-stdlib-4.16.1-0.20170427151808.f15cc31.el7ost.noarch
puppet-sysctl-0.0.11-0.20170309165336.65ffe83.el7.noarch
puppet-firewall-1.8.3-0.20170510185409.410f956.el7ost.noarch
puppet-rabbitmq-5.6.1-0.20170419162840.2000ce7.el7ost.noarch
puppet-keystone-11.1.0-0.20170424155543.5401a0f.el7ost.noarch
puppet-neutron-11.1.0-0.20170504172305.b4dcaa0.el7ost.noarch
puppet-heat-11.1.0-0.20170424155048.7b77423.el7ost.noarch
puppet-sahara-11.1.0-0.20170508094227.9f03acf.el7ost.noarch
puppet-horizon-11.1.0-0.20170424155251.ca72a7b.el7ost.noarch
puppet-redis-3.0.1-0.20170511185443.481a487.el7ost.noarch
puppet-remote-10.0.0-0.20170510134025.fa647f6.el7ost.noarch
puppet-inifile-1.6.1-0.20170331171230.1166cfa.el7ost.noarch
puppet-memcached-3.0.3-0.20170510133534.c2a0b54.el7ost.noarch
puppet-glance-11.1.0-0.20170508094755.b01ba77.el7ost.noarch
puppet-gnocchi-11.1.0-0.20170424155000.f8dea50.el7ost.noarch
puppet-ssh-3.0.1-0.20170309134612.ba2fb16.el7.noarch
openstack-packstack-puppet-10.1.0-0.20170510133419.f5716c9.el7ost.noarch
puppet-vcsrepo-1.5.1-0.20170510225929.42312fc.el7ost.noarch
puppet-openstacklib-11.1.0-0.20170424160949.16d87ac.el7ost.noarch
puppet-ironic-11.1.0-0.20170508200711.6071888.el7ost.noarch
puppet-aodh-11.1.0-0.20170424153756.ef76499.el7ost.noarch
puppet-corosync-5.0.1-0.20170409143803.527cda5.el7ost.noarch
openstack-packstack-10.1.0-0.20170510133419.f5716c9.el7ost.noarch
libvirt-daemon-driver-storage-disk-3.2.0-4.el7.x86_64
libvirt-daemon-driver-interface-3.2.0-4.el7.x86_64
libvirt-daemon-driver-secret-3.2.0-4.el7.x86_64
libvirt-libs-3.2.0-4.el7.x86_64
libvirt-daemon-driver-nwfilter-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-scsi-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-3.2.0-4.el7.x86_64
libvirt-client-3.2.0-4.el7.x86_64
libvirt-python-3.2.0-2.el7.x86_64
libvirt-daemon-config-nwfilter-3.2.0-4.el7.x86_64
libvirt-daemon-driver-network-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-rbd-3.2.0-4.el7.x86_64
libvirt-daemon-driver-qemu-3.2.0-4.el7.x86_64
libvirt-daemon-driver-nodedev-3.2.0-4.el7.x86_64
libvirt-daemon-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-core-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-mpath-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-iscsi-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-gluster-3.2.0-4.el7.x86_64
libvirt-daemon-driver-storage-logical-3.2.0-4.el7.x86_64
libvirt-daemon-kvm-3.2.0-4.el7.x86_64



How reproducible:
always

Steps to Reproduce:
1. have RHEL-7.4 installed without /etc/sysconfig/libvirt-guests (even without libvirt-client)
2. try to install openstack 11 or 12  vie `packstack --allinone`
3.

Actual results:

Applying 192.168.9.153_controller.pp
192.168.9.153_controller.pp:                         [ DONE ]          
Applying 192.168.9.153_network.pp
192.168.9.153_network.pp:                            [ DONE ]       
Applying 192.168.9.153_compute.pp
192.168.9.153_compute.pp:                         [ ERROR ]         
Applying Puppet manifests                         [ ERROR ]

ERROR : Error appeared during Puppet run: 192.168.9.153_compute.pp
Error: /Stage[main]/Packstack::Nova::Compute::Libvirt/File_line[libvirt-guests]: Could not evaluate: No such file or directory - /etc/sysconfig/libvirt-guests
You will find full trace in log /var/tmp/packstack/20170519-093302-UHP2V8/manifests/192.168.9.153_compute.pp.log
Please check log file /var/tmp/packstack/20170519-093302-UHP2V8/openstack-setup.log for more information


Expected results:

Installation completes,
packstack should request explicitly the presence of  /etc/sysconfig/libvirt-guests presence or the libvirt-client package.


Additional info:
WORKAROUND: 
sudo yum install -y libvirt-client || sudo yum install -y /etc/sysconfig/libvirt-guests

Comment 3 Javier Peña 2017-05-24 15:05:59 UTC
That file seems to be modified by Packstack due to a very old workaround. I have proposed https://review.openstack.org/467629 as a fix.

Comment 6 Alfredo Moralejo 2017-06-15 09:06:46 UTC
After the initial fix in upstream packstack, we are still seeing problems because libvirt-client is not installed in compute nodes:

172.16.1.13_compute.pp:                           [ ERROR ]
13:25:06 Applying Puppet manifests                         [ ERROR ]
13:25:06 
13:25:06 ERROR : Error appeared during Puppet run: 172.16.1.13_compute.pp
13:25:06 Error: /Stage[main]/Packstack::Nova::Compute::Libvirt/Exec[virsh-net-destroy-default]: Could not evaluate: Could not find command '/usr/bin/virsh'
13:25:06 You will find full trace in log /var/tmp/packstack/20170614-091130-NMIUL2/manifests/172.16.1.13_compute.pp.log

The root cause is that libvirt-client has been removed as dependency for libvirt-daemon after libvirt-2.1 (http://pkgs.fedoraproject.org/cgit/rpms/libvirt.git/commit/?h=f26&id=b1ac7b57910fa4b2ca87039c3150dcb77ca576d1)

We are discussing if we should add libvirt-client as dependency for openstack-nova-compute or fix it in all tooling that requires it.

Comment 7 Attila Fazekas 2017-06-15 14:10:03 UTC
Theoretically all config steps is doable without virsh usage,
so we should not depend on it.
For example any libvirt binding (libvirt-python) is capable of doing the job.

It might be tempting to just as add libvirt-client dependency to something,
but it might not be the best solution.

Comment 8 Alfredo Moralejo 2017-06-15 14:13:34 UTC
We've discussed it in https://review.rdoproject.org/r/#/c/7077/ . Finally we've added the dependency to keep backwards compatibility.

Comment 12 errata-xmlrpc 2017-12-13 21:28:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:3462


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