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
(cherry picked from commit 8eaebf86b6
)
This commit is contained in:
parent
445a3e4127
commit
8b2abfe446
3 changed files with 13 additions and 11 deletions
|
@ -120,15 +120,14 @@ def map_obj_to_commands(want, have, module):
|
|||
"%(col)s"
|
||||
commands.append(templatized_command % module.params)
|
||||
else:
|
||||
if want == have:
|
||||
# Nothing to commit
|
||||
return commands
|
||||
if module.params['key'] is None:
|
||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
||||
"%(col)s=%(value)s"
|
||||
commands.append(templatized_command % module.params)
|
||||
elif 'key' not in have.keys():
|
||||
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']:
|
||||
else:
|
||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s set %(table)s %(record)s " \
|
||||
"%(col)s:%(key)s=%(value)s"
|
||||
commands.append(templatized_command % module.params)
|
||||
|
@ -171,7 +170,7 @@ def map_config_to_obj(module):
|
|||
obj['key'] = module.params['key']
|
||||
obj['value'] = col_value_to_dict[module.params['key']]
|
||||
else:
|
||||
obj['value'] = col_value.strip()
|
||||
obj['value'] = str(col_value.strip())
|
||||
|
||||
return obj
|
||||
|
||||
|
@ -199,7 +198,7 @@ def main():
|
|||
'record': {'required': True},
|
||||
'col': {'required': True},
|
||||
'key': {'required': False},
|
||||
'value': {'required': True},
|
||||
'value': {'required': True, 'type': 'str'},
|
||||
'timeout': {'default': 5, 'type': 'int'},
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,8 @@
|
|||
table: Bridge
|
||||
record: br-test
|
||||
col: stp_enable
|
||||
value: true
|
||||
value: 'true'
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
@ -76,7 +77,8 @@
|
|||
table: Bridge
|
||||
record: br-test
|
||||
col: stp_enable
|
||||
value: true
|
||||
value: 'true'
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
@ -90,6 +92,7 @@
|
|||
record: br-test
|
||||
col: other_config
|
||||
value: true
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
|
|
@ -114,8 +114,8 @@ class TestOpenVSwitchDBModule(TestOpenVSwitchModule):
|
|||
value='True'))
|
||||
self.execute_module(
|
||||
changed=True,
|
||||
commands=['/usr/bin/ovs-vsctl -t 5 add Bridge test-br other_config'
|
||||
' disable-in-band=True'],
|
||||
commands=['/usr/bin/ovs-vsctl -t 5 set Bridge test-br other_config'
|
||||
':disable-in-band=True'],
|
||||
test_name='test_openvswitch_db_present_adds_key')
|
||||
|
||||
def test_openvswitch_db_present_updates_key(self):
|
||||
|
|
Loading…
Reference in a new issue