[tripleo][ironic] What I had to do to get standalone ironic working with ovn enabled

Steve Baker sbaker at redhat.com
Wed Feb 20 21:54:33 UTC 2019


On 20/02/19 5:15 PM, Lars Kellogg-Stedman wrote:
> I'm using the tripleo standalone install to set up an Ironic test
> environment. With recent tripleo master, the deploy started failing
> because the DockerOvn*Image parameters weren't defined.  Here's what I
> did to get everything working:
>
> 1. I added to my deploy:
>
>       -e /usr/share/tripleo-heat-templates/environment/services/neutron-ovn-standalone.yaml
>
>     With this change, `openstack tripleo container image prep`
>     correctly detected that ovn was enabled and generated the
>     appropriate image parameters.
>
> 2. environments/services/ironic.yaml sets:
>
>       NeutronMechanismDrivers: ['openvswitch', 'baremetal']
>
>     Since I didn't want openvswitch enabled in this deployment, I
>     explicitly set the mechanism drivers in a subsequent environment
>     file:
>
>       NeutronMechanismDrivers: ['ovn', 'baremetal']

Can you provide your full deployment command. I think it is most likely 
that the order of environment files is resulting in an incorrect value 
in NeutronMechanismDrivers. You may be able to confirm this by looking 
at the resulting plan file with something like:

openstack object save --file - overcloud plan-environment.yaml

>
> 3. The neutron-ovn-standalone.yaml environment explicitly disables
>     the non-ovn neutron services.  Ironic requires the
>     services of the neutron_dhcp_agent, so I had to add:
>
>        OS::TripleO::Services::NeutronDhcpAgent: /usr/share/openstack-tripleo-heat-templates/deployment/neutron/neutron-dhcp-container-puppet.yaml
>
>     With this in place, the ironic nodes were able to receive dhcp
>     responses and were able to boot.
>
> 3. In order to provide the baremetal nodes with a route to the nova
>     metadata service, I added the following to my deploy:
>
>       NeutronEnableForceMetadata: true
>
>     This provides the baremetal nodes with a route to 169.254.169.254
>     via the neutron dhcp namespace.
>
> 4. In order get the metadata service to respond correctly, I also had
>     to enable the neutron metadata agent:
>
>       OS::TripleO::Services::NeutronMetadataAgent: /usr/share/openstack-tripleo-heat-templates/deployment/neutron/neutron-metadata-container-puppet.yaml
>
> This returned my Ironic deployment to a functioning state: I can
> successfully boot baremetal nodes and provide them with configuration
> information via the metadata service.
>
> I'm curious if this was the *correct* solution, or if there was a
> better method of getting things working.
>



More information about the openstack-discuss mailing list