When deploying multi node overcloud with containers, neutron-openvswitchagent does not start on compute hosts with traceback[3].
deploy command:
#openstack overcloud deploy --templates /tmp/tripleo-heat-templates -e /tmp/tripleo-heat-templates/environments/docker.yaml -e /home/stack/containers-default-parameters.yaml -r roles_data.yaml
However adding '-e docker-network.yaml' creates the external bridge and ovsagent starts fine. But doing an re-deploy on an existing overcloud with the above mentioned environment does not fix it.
It seems like by default[1] ovs agent expects the external bridge for provider networks.
Probably it makes sense to have the external bridge created by default like the controller[2]
[1] http://git.openstack.org/cgit/openstack/tripleo-heat-templates/tree/puppet/services/neutron-ovs-agent.yaml#n43
[2] http://git.openstack.org/cgit/openstack/tripleo-heat-templates/tree/overcloud-resource-registry-puppet.j2.yaml#n40
[3]
[heat-admin@overcloud-novacompute-0 ~]$ tail -20f /var/log/containers/neutron/neutron-openvswitch-agent.log
2017-05-17 08:16:20.667 21275 INFO ovsdbapp.backend.ovs_idl.vlog [-] tcp:127.0.0.1:6640: connecting...
2017-05-17 08:16:20.668 21275 INFO ovsdbapp.backend.ovs_idl.vlog [-] tcp:127.0.0.1:6640: connected
2017-05-17 08:16:21.094 21275 INFO neutron.plugins.ml2.drivers.openvswitch.agent.openflow.native.ovs_bridge [-] Bridge br-int has datapath-ID 0000fe29856e114a
2017-05-17 08:16:21.101 21275 INFO neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-7e5dfd8c-7792-4c9b-bcac-7969ae36712e - - - - -] Mapping physical network datacentre to bridge br-ex
2017-05-17 08:16:21.102 21275 ERROR neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-7e5dfd8c-7792-4c9b-bcac-7969ae36712e - - - - -] Bridge br-ex for physical network datacentre does not exist. Agent terminated!
2017-05-17 08:16:21.102 21275 ERROR ryu.lib.hub [req-7e5dfd8c-7792-4c9b-bcac-7969ae36712e - - - - -] hub: uncaught exception: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ryu/lib/hub.py", line 54, in _launch
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_ryuapp.py", line 40, in agent_main_wrapper
ovs_agent.main(bridge_classes)
File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 2167, in main
agent = OVSNeutronAgent(bridge_classes, cfg.CONF)
File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 183, in __init__
self.setup_physical_bridges(self.bridge_mappings)
File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 153, in wrapper
return f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 1096, in setup_physical_bridges
sys.exit(1)
SystemExit: 1
Fix proposed to branch: master /review. openstack. org/465468
Review: https:/