Bug 958587

Summary: packstack install succeeds even when puppet completely fails
Product: [Community] RDO Reporter: Robert Harker <harker-redhat>
Component: openstack-packstackAssignee: Ivan Chavero <ichavero>
Status: CLOSED CURRENTRELEASE QA Contact: yeylon <yeylon>
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: aortega, bsettle, derekh, ichavero, mmagr, srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-packstack-2013.2.1-0.11.dev806.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-30 23:04:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
packstack answer file
none
packstack log file none

Description Robert Harker 2013-05-01 23:18:19 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
Build Identifier: 

Packstack will report sucessful completion even when the puppet install is broken


Reproducible: Always

Steps to Reproduce:
1. Break puppet install
   puppet/util/command_line (LoadError)
2. Run:
   packstack --answer-file=packstack-science

Actual Results:  
Packstack reports successful install:
packstack --answer-file=packstack-science
Welcome to Installer setup utility

Installing:
Clean Up...                                              [ DONE ]
Setting up ssh keys...                                   [ DONE ]
Adding pre install manifest entries...                   [ DONE ]
Installing time synchronization via NTP...               [ DONE ]
Adding MySQL manifest entries...                         [ DONE ]
Adding QPID manifest entries...                          [ DONE ]
Adding Keystone manifest entries...                      [ DONE ]
Adding Glance Keystone manifest entries...               [ DONE ]
Adding Glance manifest entries...                        [ DONE ]
Adding Cinder Keystone manifest entries...               [ DONE ]
Installing dependencies for Cinder...                    [ DONE ]
Checking if the Cinder server has a cinder-volumes vg... [ DONE ]
Adding Cinder manifest entries...                        [ DONE ]
Adding Nova API manifest entries...                      [ DONE ]
Adding Nova Keystone manifest entries...                 [ DONE ]
Adding Nova Cert manifest entries...                     [ DONE ]
Adding Nova Conductor manifest entries...                [ DONE ]
Adding Nova Compute manifest entries...                  [ DONE ]
Adding Nova Network manifest entries...                  [ DONE ]
Adding Nova Scheduler manifest entries...                [ DONE ]
Adding Nova VNC Proxy manifest entries...                [ DONE ]
Adding Nova Common manifest entries...                   [ DONE ]
Adding OpenStack Client manifest entries...              [ DONE ]
Adding Horizon manifest entries...                       [ DONE ]
Adding Swift Keystone manifest entries...                [ DONE ]
Adding Swift builder manifest entries...                 [ DONE ]
Adding Swift proxy manifest entries...                   [ DONE ]
Adding Swift storage manifest entries...                 [ DONE ]
Adding Swift common manifest entries...                  [ DONE ]
Preparing servers...                                     [ DONE ]
Preparing servers...                                     [ DONE ]
Adding Nagios server manifest entries...                 [ DONE ]
Adding Nagios host manifest entries...                   [ DONE ]
Adding post install manifest entries...                  [ DONE ]
Installing Dependencies...                               [ DONE ]
Copying Puppet modules and manifests...                  [ DONE ]
Applying Puppet manifests...
Applying 10.4.0.254_prescript.pp
10.4.0.254_prescript.pp :                                            [ DONE ]
Applying 10.4.0.254_ntpd.pp
10.4.0.254_ntpd.pp :                                                 [ DONE ]
Applying 10.4.0.254_mysql.pp
Applying 10.4.0.254_qpid.pp
10.4.0.254_mysql.pp :                                                [ DONE ]
10.4.0.254_qpid.pp :                                                 [ DONE ]
Applying 10.4.0.254_keystone.pp
Applying 10.4.0.254_glance.pp
Applying 10.4.0.254_cinder.pp
10.4.0.254_keystone.pp :                                             [ DONE ]
10.4.0.254_cinder.pp :                                               [ DONE ]
10.4.0.254_glance.pp :                                               [ DONE ]
Applying 10.4.0.254_api_nova.pp
10.4.0.254_api_nova.pp :                                             [ DONE ]
Applying 10.4.0.254_nova.pp
Applying 10.4.0.254_osclient.pp
Applying 10.4.0.254_horizon.pp
10.4.0.254_nova.pp :                                                 [ DONE ]
10.4.0.254_horizon.pp :                                              [ DONE ]
10.4.0.254_osclient.pp :                                             [ DONE ]
Applying 10.4.0.254_ring_swift.pp
10.4.0.254_ring_swift.pp :                                           [ DONE ]
Applying 10.4.0.254_swift.pp
Applying 10.4.0.254_nagios.pp
Applying 10.4.0.254_nagios_nrpe.pp
10.4.0.254_swift.pp :                                                [ DONE ]
10.4.0.254_nagios_nrpe.pp :                                          [ DONE ]
10.4.0.254_nagios.pp :                                               [ DONE ]
Applying 10.4.0.254_postscript.pp
10.4.0.254_postscript.pp :                                           [ DONE ]
                            [ DONE ]

 **** Installation completed successfully ******
Additional information:
 * Did not create a cinder volume group, one already existed
 * To use the command line tools you need to source the file /root/keystonerc_admin created on 10.4.0.254
 * NOTE : A certificate was generated to be used for ssl, You should change the ssl certificate configured in /etc/httpd/conf.d/ssl.conf on 10.4.0.254 to use a CA signed cert.
 * To use the console, browse to https://10.4.0.254/dashboard
 * To use Nagios, browse to http://10.4.0.254/nagios username : nagiosadmin, password : 3c8bc9a8c3eb4f6b
 * The installation log file is available at: /var/tmp/packstack/20130501-155805-VarWJ9/openstack-setup.log

Expected Results:  
Packstack install should fail


When I run puppet manually I get:
puppet
/usr/share/rubygems/rubygems/custom_require.rb:36:in `require': cannot load such file -- puppet/util/command_line (LoadError)
        from /usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
        from /usr/bin/puppet:3:in `<main>'

I suspect my puppet configuration is broken with a mix of fedora and puppetlabs rpm modules.  I will trouble shoot this myself.

The point here is that if puppet is failing, packstack should fail as well

Comment 1 Robert Harker 2013-05-01 23:19:34 UTC
Created attachment 742400 [details]
packstack answer file

Comment 2 Robert Harker 2013-05-01 23:21:47 UTC
Created attachment 742401 [details]
packstack log file

Comment 3 Robert Harker 2013-05-01 23:22:53 UTC
The packstack install took less than 30 seconds to complete.
It did not install any software.

Comment 4 Ivan Chavero 2013-10-03 07:25:13 UTC
I succesfully reproduced your problem:

I broke puppet by commenting the command_line require in /usr/bin/puppet, i made it give me this error while executing it:

[root@localhost ~]# puppet
/usr/bin/puppet:4: uninitialized constant Puppet (NameError)


then i ran packstack -d --allinone and got no error in the general log file but i get the error in the manifest log file. for example:

[root@localhost ~]# cat /var/tmp/packstack/20131002-233917-QWaTXm/manifests/192.168.100.215_nova.pp.log /usr/bin/puppet:4: uninitialized constant Puppet (NameError)

I found where the problem might be but i have to make further verifications.