Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1452735

Summary: Packstack fails to install on rhel-7.4 (libvirt-client)
Product: Red Hat OpenStack Reporter: Attila Fazekas <afazekas>
Component: openstack-packstackAssignee: Alfredo Moralejo <amoralej>
Status: CLOSED ERRATA QA Contact: nlevinki <nlevinki>
Severity: high Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: aortega, apevec, jpena, jschluet, mburns, srevivo
Target Milestone: Upstream M2Keywords: AutomationBlocker, Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-packstack-10.1.0-0.20170602191437.8d1cfb5.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1463529 (view as bug list) Environment:
Last Closed: 2017-12-13 21:28:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1463529, 1463621, 1471895    

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