Description of problem: I assume packstack/puppet can't handle the redhat-release version string for centos 7? # cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) # facter operatingsystemrelease 7.0.1406 # packstack --allinone [..] Applying 10.33.20.177_prescript.pp 10.33.20.177_prescript.pp: [ ERROR ] Applying Puppet manifests [ ERROR ] ERROR : Error appeared during Puppet run: 10.33.20.177_prescript.pp Error: comparison of String with 7 failed at /var/tmp/packstack/2848366e5ad9455eafea6eea017c1f1a/manifests/10.33.20.177_prescript.pp:15 on node localhost.gsslab.fab.redhat.com You will find full trace in log /var/tmp/packstack/20140708-071224-MJh2vH/manifests/10.33.20.177_prescript.pp.log Please check log file /var/tmp/packstack/20140708-071224-MJh2vH/openstack-setup.log for more information Version-Release number of selected component (if applicable): # rpm -qa | grep packstack openstack-packstack-puppet-2014.1.1-0.21.dev1157.el7.noarch openstack-packstack-2014.1.1-0.21.dev1157.el7.noarch How reproducible: Always Steps to Reproduce: 1. Create a nested guest for testing : root@host # virt-builder -o /var/lib/libvirt/images/rdo-centos7-allinone.img --size 20G centos-7.0 root@host # virt-install --import --name rdo-centos7-allinone -w bridge=br1,model=virtio --disk path=/var/lib/libvirt/images/rdo-centos7-allinone.img,format=raw --ram 16384 --vcpus 4 2. Install rdo-release and openstack-packstack : root@guest # yum update -y root@guest # yum install http://rdo.fedorapeople.org/rdo-release.rpm -y root@guest # yum install openstack-packstack -y 3. Run packstack --allinone : root@guest # packstack --allinone Actual results: Error displayed, install aborted. Expected results: No error displayed, install continues. Additional info: Workaround is to manually
The following patch works around this but I have no idea where to send it : # rpm -qa | grep facter facter-2.0.1-2.el7.x86_64 # facter operatingsystemrelease 7.0.1406 # diff -c /usr/share/ruby/vendor_ruby/facter/operatingsystemrelease.rb.org /usr/share/ruby/vendor_ruby/facter/operatingsystemrelease.rb *** /usr/share/ruby/vendor_ruby/facter/operatingsystemrelease.rb.org 2014-07-08 08:34:40.473000000 -0400 --- /usr/share/ruby/vendor_ruby/facter/operatingsystemrelease.rb 2014-07-08 08:38:23.099000000 -0400 *************** *** 41,46 **** --- 41,48 ---- line = release.split("\n").first.chomp if match = /\(Rawhide\)$/.match(line) "Rawhide" + elsif match = /release (\d.\d)(\.(\d))/.match(line) + match[1] elsif match = /release (\d[\d.]*)/.match(line) match[1] end # facter operatingsystemrelease 7.0
I've submitted a bug [1] and PR [2] upstream for this, again I'm not sure if this is the correct process so I'm keeping this assigned to the packstack component for now. [1] https://tickets.puppetlabs.com/browse/FACT-616 [2] https://github.com/puppetlabs/facter/pull/719
*** This bug has been marked as a duplicate of bug 1117035 ***