container ovs-agent, ensure br-ex exists

Currently the container neutron-ovs-agent is stuck in a restart loop
in many environments because the bridge br-ex is missing.

This bridge is created by running the puppet class
neutron::agents::ml2::ovs but limiting that run to tag
neutron::plugins::ovs::bridge.

The hiera neutron::agents::ml2::ovs::bridge_mappings should already
exists to create the bridge with the required settings.

This change should ensure br-ex exists after step 3.

Since br-ex is created regardless of the chosen network config,
environments/docker-network.yaml is not longer required. It can be
deleted once there are no more references to it in CI and
documentation.

Change-Id: Ie425148b0ad0f38e149c5fa0a97d98ec35d0a5bb
Closes-Bug: #1699261
Closes-Bug: #1691403
Closes-Bug: #1689556
This commit is contained in:
Steve Baker 2017-08-15 10:26:24 +12:00
parent f2d7d4d733
commit 76f130d6e8
2 changed files with 33 additions and 2 deletions

View File

@ -78,6 +78,37 @@ outputs:
owner: neutron:neutron
recurse: true
docker_config:
step_3:
neutron_ovs_bridge:
detach: false
image: {get_param: DockerNeutronConfigImage}
net: host
pid: host
user: root
privileged: true
command:
- puppet
- apply
- --modulepath
- /etc/puppet/modules:/usr/share/openstack-puppet/modules
- --tags
- file,file_line,concat,augeas,neutron::plugins::ovs::bridge
- -v
- -e
- include neutron::agents::ml2::ovs
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/neutron_ovs_agent.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/puppet-generated/neutron/:/var/lib/kolla/config_files/src:ro
- /lib/modules:/lib/modules:ro
- /run:/run
- /etc/puppet:/etc/puppet:ro
- /usr/share/openstack-puppet/modules/:/usr/share/openstack-puppet/modules/:ro
- /var/run/openvswitch/db.sock:/var/run/openvswitch/db.sock
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
step_4:
neutron_ovs_agent:
image: {get_param: DockerOpenvswitchImage}

View File

@ -1,2 +1,2 @@
resource_registry:
OS::TripleO::Compute::Net::SoftwareConfig: ../net-config-bridge.yaml
# TODO(sbaker) Remove once CI and documentation no longer use this file
resource_registry: {}