Created attachment 917189 [details]
production.log from the staypuft host.
Rubygem-Staypuft: Neutron deployment gets stuck on 60% installing the Neutron Networker.
Steps to reproduce:
1. Install and run the rhel-osp-installer.
2. Create a Neutron deployment with 3 nodes ( Controller (Neutron) + Neutron Networker + Compute (Neutron) )
3. Tenant Network Type: flat and set eth0 for network and compute nodes in the respective fields on the same page.
the deployment gets paused on 53.3%.
In "more details" I see that the Neutron Networker is stuck on 60%.
Trying to run the puppet agent manually on that node gives me:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: join(): Requires array to work with at /etc/puppet/environments/production/modules/neutron/manifests/agents/ovs.pp:57 on node 525400868094.lab.eng.rdu2.redhat.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Expected result: The deplloyment should complete 100% with no errors.
From the logs,
no puppet_class: quickstack::pacemaker::mysql found
missing param backend_gluster in quickstack::pacemaker::cinder trying to set default_value: false found in puppetclasses: 
Not sure if that is relevant but it is worth reviewing. Note this is non-HA Neutron.
The respective line in puppet manifest is:
br_map_str = join($bridge_mappings, ',')
Checking the UI - I see that the value being configured for the "bridge mappings" parameter is ["inter-vlan:br-eth0","ext-vlan:br-ex"]
I looked at the Astapor side just to be sure - we're just passing the parameter through and the defaults seem to be set to empty array everywhere.
Just guessing - could the problem be that the staypuft seeds seem to default the parameter to a string? (Maybe the parameter type is detected from it and it's getting passed to Puppet as string even when not using the default value?)
The value seeded in seeder is later evaluated to array so that is fine. About the value itself and why we are setting it that is better to ask sseago. I do not know.
Fix merged on master from https://github.com/theforeman/staypuft/pull/213
Soon to be in 0.1.13 gem build.
Reproduced on rhel-osp-installer-0.1.4-1.el6ost.noarch
Move back to ON_QA. The problem in this bug is that a parameter is missing. The missing param was verified as no longer missing by many people since then. Any new issues should be filed separately.
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.