Description of problem: Puppet register *during provisioning stage* fails with: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Local ip for ovs agent must be set when tunneling is enabled at /etc/puppet/environments/production/modules/neutron/manifests/agents/ovs.pp:32 on node controller6.prariegrass.us Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run when using the rhel-osp-installer-client Version-Release number of selected component (if applicable): rhel-osp-installer-client-0.5.5-2.el7ost.noarch How reproducible: Install a controller with gre or vxlan. Steps to Reproduce: 1. Choose vxlan or gre in installer 2. create a private subnet and ensure ip assigned to nics in it 3. discover a host 4. assign it as a controller 5. deploy Actual results: Most steps will work, until the client tries to register. The registration will fail with a 400 error about the local ip setting. Expected results: Host should register fine and be able to parse the catalog. Additional info: Puppet won't compile the catalog if it can't find a value for the local ip. But in a provisioning situation there is no reason that second (ie non provisioning) nic should have an ip. So the catalog fails.
As a work around, to be sure it was the nic, i added this: ifdown eno33554960 ifup eno33554960 to the script (where eno33554960 is the private tunnel nic)
This is a known issue cause by the host being assigned to a hostgroup before the host is fully configured and cannot be fixed at the puppet level, moving to rhel-osp-installer for further triage.
*** This bug has been marked as a duplicate of bug 1175399 ***