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/m...