mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Return commands instead of command (#24061)
Ok, so for openvswitch_db in particular we just return one command but in the sake of consistency and code re-use, let's return a list of "commands", even if it's just one.
This commit is contained in:
parent
9456f93ea8
commit
2716fad38f
3 changed files with 20 additions and 19 deletions
|
@ -103,26 +103,26 @@ EXAMPLES = '''
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
def map_obj_to_command(want, have, module):
|
def map_obj_to_commands(want, have, module):
|
||||||
""" Define ovs-vsctl command to meet desired state """
|
""" Define ovs-vsctl command to meet desired state """
|
||||||
command = None
|
commands = list()
|
||||||
|
|
||||||
if module.params['state'] == 'absent':
|
if module.params['state'] == 'absent':
|
||||||
if 'key' in have.keys():
|
if 'key' in have.keys():
|
||||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s remove %(table)s %(record)s " \
|
templatized_command = "%(ovs-vsctl)s -t %(timeout)s remove %(table)s %(record)s " \
|
||||||
"%(col)s %(key)s=%(value)s"
|
"%(col)s %(key)s=%(value)s"
|
||||||
command = templatized_command % module.params
|
commands.append(templatized_command % module.params)
|
||||||
else:
|
else:
|
||||||
if 'key' not in have.keys():
|
if 'key' not in have.keys():
|
||||||
templatized_command = "%(ovs-vsctl)s -t %(timeout)s add %(table)s %(record)s " \
|
templatized_command = "%(ovs-vsctl)s -t %(timeout)s add %(table)s %(record)s " \
|
||||||
"%(col)s %(key)s=%(value)s"
|
"%(col)s %(key)s=%(value)s"
|
||||||
command = templatized_command % module.params
|
commands.append(templatized_command % module.params)
|
||||||
elif want['value'] != have['value']:
|
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"
|
||||||
command = templatized_command % module.params
|
commands.append(templatized_command % module.params)
|
||||||
|
|
||||||
return command
|
return commands
|
||||||
|
|
||||||
|
|
||||||
def map_config_to_obj(module):
|
def map_config_to_obj(module):
|
||||||
|
@ -190,12 +190,13 @@ def main():
|
||||||
want = map_params_to_obj(module)
|
want = map_params_to_obj(module)
|
||||||
have = map_config_to_obj(module)
|
have = map_config_to_obj(module)
|
||||||
|
|
||||||
command = map_obj_to_command(want, have, module)
|
commands = map_obj_to_commands(want, have, module)
|
||||||
result['command'] = command
|
result['commands'] = commands
|
||||||
|
|
||||||
if command:
|
if commands:
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
module.run_command(command, check_rc=True)
|
for c in commands:
|
||||||
|
module.run_command(c, check_rc=True)
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
|
@ -65,7 +65,7 @@ class AnsibleFailJson(Exception):
|
||||||
class TestOpenVSwitchModule(unittest.TestCase):
|
class TestOpenVSwitchModule(unittest.TestCase):
|
||||||
|
|
||||||
def execute_module(self, failed=False, changed=False,
|
def execute_module(self, failed=False, changed=False,
|
||||||
command=None, test_name=None):
|
commands=None, test_name=None):
|
||||||
|
|
||||||
self.load_fixtures(test_name)
|
self.load_fixtures(test_name)
|
||||||
|
|
||||||
|
@ -76,8 +76,8 @@ class TestOpenVSwitchModule(unittest.TestCase):
|
||||||
result = self.changed(changed)
|
result = self.changed(changed)
|
||||||
self.assertEqual(result['changed'], changed, result)
|
self.assertEqual(result['changed'], changed, result)
|
||||||
|
|
||||||
if command:
|
if commands:
|
||||||
self.assertEqual(command, result['command'], result['command'])
|
self.assertEqual(commands, result['commands'], result['commands'])
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
|
@ -87,8 +87,8 @@ class TestOpenVSwitchDBModule(TestOpenVSwitchModule):
|
||||||
value='True'))
|
value='True'))
|
||||||
self.execute_module(
|
self.execute_module(
|
||||||
changed=True,
|
changed=True,
|
||||||
command='/usr/bin/ovs-vsctl -t 5 remove Bridge test-br other_config'
|
commands=['/usr/bin/ovs-vsctl -t 5 remove Bridge test-br other_config'
|
||||||
' disable-in-band=True',
|
' disable-in-band=True'],
|
||||||
test_name='test_openvswitch_db_absent_removes_key')
|
test_name='test_openvswitch_db_absent_removes_key')
|
||||||
|
|
||||||
def test_openvswitch_db_present_idempotent(self):
|
def test_openvswitch_db_present_idempotent(self):
|
||||||
|
@ -105,8 +105,8 @@ class TestOpenVSwitchDBModule(TestOpenVSwitchModule):
|
||||||
value='True'))
|
value='True'))
|
||||||
self.execute_module(
|
self.execute_module(
|
||||||
changed=True,
|
changed=True,
|
||||||
command='/usr/bin/ovs-vsctl -t 5 add Bridge test-br other_config'
|
commands=['/usr/bin/ovs-vsctl -t 5 add 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):
|
||||||
|
@ -116,6 +116,6 @@ class TestOpenVSwitchDBModule(TestOpenVSwitchModule):
|
||||||
value='False'))
|
value='False'))
|
||||||
self.execute_module(
|
self.execute_module(
|
||||||
changed=True,
|
changed=True,
|
||||||
command='/usr/bin/ovs-vsctl -t 5 set Bridge test-br other_config'
|
commands=['/usr/bin/ovs-vsctl -t 5 set Bridge test-br other_config'
|
||||||
':disable-in-band=False',
|
':disable-in-band=False'],
|
||||||
test_name='test_openvswitch_db_present_updates_key')
|
test_name='test_openvswitch_db_present_updates_key')
|
||||||
|
|
Loading…
Reference in a new issue