[tripleo][ironic] What I had to do to get standalone ironic working with ovn enabled
Harald Jensås
hjensas at redhat.com
Sun Feb 24 23:12:20 UTC 2019
On Wed, 2019-02-20 at 19:21 -0500, Lars Kellogg-Stedman wrote:
> On Thu, Feb 21, 2019 at 10:54:33AM +1300, Steve Baker wrote:
> > > 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.
> >
> > 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:
>
> Upon closer inspection, I believe you are correct. The problem is
> twofold:
>
> - First, by default, NeutronMechanismDrivers is unset. So if you
> simply run:
>
> openstack tripleo container image prepare -e container-prepare-
> parameters.yaml
>
> ...you get no OVN images.
>
> - Second, the ironic.yaml environment file explicitly sets:
>
> NeutronMechanismDrivers: ['openvswitch', 'baremetal']
>
> So if ironic.yaml is included after something like
> neutron-ovn-standalone.yaml, it will override the value.
>
> Is this one bug or two? Arguably, ironic.yaml shouldn't be setting
> NeutronMechanismDrivers explicitly like that (although I don't know
> if
> there is an "append" mechanism). But shouldn't
> NeutronMechanismDrivers default to 'ovn', if that's the default
> mechanism now?
>
The 'ovn' driver does not support VNIC_BAREMETAL type, so we should
load a mechanism driver that does support VNIC_BAREMETAL when using
ironic. With the switch to ovn by default in TripleO maybe ironic.yaml
environment file should be updated to set:
NeutronMechanismDrivers: ['ovn', 'baremetal']
We could also add the DCHP agent and Metadata agent, as these also seem
to be required for ironic use, according previous messages in this
thread?
OS::TripleO::Services::NeutronDhcpAgent: /usr/share/openstack-
tripleo-heat-templates/deployment/neutron/neutron-dhcp-container-
puppet.yaml
NeutronEnableForceMetadata: true
OS::TripleO::Services::NeutronMetadataAgent: /usr/share/openstack-
tripleo-heat-templates/deployment/neutron/neutron-metadata-container-
puppet.yaml
https://github.com/openstack/networking-ovn/blob/master/networking_ovn/ml2/mech_driver.py#L133-L134
More information about the openstack-discuss
mailing list