openvswitch_bridge.py: Avoid runtime error with no external_ids (#25128)

This happens when there is external_ids configured on the existing
OvS bridge, though playbook doesn't.
This commit is contained in:
Kei Nohguchi 2017-05-29 05:44:17 -07:00 committed by Ricardo Carrillo Cruz
parent 9cbae80c3b
commit 6dd8a4cf78

View file

@ -157,11 +157,12 @@ def map_obj_to_commands(want, have, module):
templatized_command = ("%(ovs-vsctl)s -t %(timeout)s" templatized_command = ("%(ovs-vsctl)s -t %(timeout)s"
" br-set-external-id %(bridge)s") " br-set-external-id %(bridge)s")
command = templatized_command % module.params command = templatized_command % module.params
for k, v in iteritems(want['external_ids']): if want['external_ids']:
if (k not in have['external_ids'] for k, v in iteritems(want['external_ids']):
or want['external_ids'][k] != have['external_ids'][k]): if (k not in have['external_ids']
command += " " + k + " " + v or want['external_ids'][k] != have['external_ids'][k]):
commands.append(command) command += " " + k + " " + v
commands.append(command)
else: else:
templatized_command = ("%(ovs-vsctl)s -t %(timeout)s add-br" templatized_command = ("%(ovs-vsctl)s -t %(timeout)s add-br"
" %(bridge)s") " %(bridge)s")