openvswitch_db : Handle column value conversion and idempotency in no_key case (#43869)
* change column value to string. handle idempotency in no key case * fix unit test failures in baseline
This commit is contained in:
parent
2974df9d5e
commit
8eaebf86b6
3 changed files with 13 additions and 11 deletions
|
@ -120,15 +120,14 @@ def map_obj_to_commands(want, have, module):
|
||||||
"%(col)s"
|
"%(col)s"
|
||||||
commands.append(templatized_command % module.params)
|
commands.append(templatized_command % module.params)
|
||||||
else:
|
else:
|
||||||
|
if want == have:
|
||||||
|
# Nothing to commit
|
||||||
|
return commands
|
||||||
if module.params['key'] is None:
|
if module.params['key'] is None:
|
||||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
||||||
"%(col)s=%(value)s"
|
"%(col)s=%(value)s"
|
||||||
commands.append(templatized_command % module.params)
|
commands.append(templatized_command % module.params)
|
||||||
elif 'key' not in have.keys():
|
else:
|
||||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s add %(table)s %(record)s " \
|
|
||||||
"%(col)s %(key)s=%(value)s"
|
|
||||||
commands.append(templatized_command % module.params)
|
|
||||||
elif want['value'] != have['value']:
|
|
||||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
||||||
"%(col)s:%(key)s=%(value)s"
|
"%(col)s:%(key)s=%(value)s"
|
||||||
commands.append(templatized_command % module.params)
|
commands.append(templatized_command % module.params)
|
||||||
|
@ -171,7 +170,7 @@ def map_config_to_obj(module):
|
||||||
obj['key'] = module.params['key']
|
obj['key'] = module.params['key']
|
||||||
obj['value'] = col_value_to_dict[module.params['key']]
|
obj['value'] = col_value_to_dict[module.params['key']]
|
||||||
else:
|
else:
|
||||||
obj['value'] = col_value.strip()
|
obj['value'] = str(col_value.strip())
|
||||||
|
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
@ -199,7 +198,7 @@ def main():
|
||||||
'record': {'required': True},
|
'record': {'required': True},
|
||||||
'col': {'required': True},
|
'col': {'required': True},
|
||||||
'key': {'required': False},
|
'key': {'required': False},
|
||||||
'value': {'required': True},
|
'value': {'required': True, 'type': 'str'},
|
||||||
'timeout': {'default': 5, 'type': 'int'},
|
'timeout': {'default': 5, 'type': 'int'},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,8 @@
|
||||||
table: Bridge
|
table: Bridge
|
||||||
record: br-test
|
record: br-test
|
||||||
col: stp_enable
|
col: stp_enable
|
||||||
value: true
|
value: 'true'
|
||||||
|
become: yes
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
|
@ -82,7 +83,8 @@
|
||||||
table: Bridge
|
table: Bridge
|
||||||
record: br-test
|
record: br-test
|
||||||
col: stp_enable
|
col: stp_enable
|
||||||
value: true
|
value: 'true'
|
||||||
|
become: yes
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
|
@ -96,6 +98,7 @@
|
||||||
record: br-test
|
record: br-test
|
||||||
col: other_config
|
col: other_config
|
||||||
value: true
|
value: true
|
||||||
|
become: yes
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
|
|
|
@ -114,8 +114,8 @@ class TestOpenVSwitchDBModule(TestOpenVSwitchModule):
|
||||||
value='True'))
|
value='True'))
|
||||||
self.execute_module(
|
self.execute_module(
|
||||||
changed=True,
|
changed=True,
|
||||||
commands=['/usr/bin/ovs-vsctl -t 5 add Bridge test-br other_config'
|
commands=['/usr/bin/ovs-vsctl -t 5 set Bridge test-br other_config'
|
||||||
' disable-in-band=True'],
|
':disable-in-band=True'],
|
||||||
test_name='test_openvswitch_db_present_adds_key')
|
test_name='test_openvswitch_db_present_adds_key')
|
||||||
|
|
||||||
def test_openvswitch_db_present_updates_key(self):
|
def test_openvswitch_db_present_updates_key(self):
|
||||||
|
|
Loading…
Reference in a new issue