add check option to bridge module

This commit is contained in:
Valentin Gurmeza 2017-06-05 15:57:30 -07:00
parent 35020e9c4e
commit 928c795f4a
2 changed files with 75 additions and 46 deletions

View file

@ -107,40 +107,40 @@ from ansible.module_utils.basic import AnsibleModule
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
argument_spec=dict( argument_spec=dict(
hostname = dict(required=True), hostname = dict(required=True),
username = dict(required=True), username = dict(required=True),
password = dict(required=True), password = dict(required=True),
name = dict(required=False, type='str'), name = dict(required=False, type='str'),
comment = dict(required=False, type='str'), comment = dict(required=False, type='str'),
admin_mac = dict(required=False, type='str'), admin_mac = dict(required=False, type='str'),
auto_mac = dict(required=False, type='str'), auto_mac = dict(required=False, type='str'),
ageing_time = dict(required=False, type='str'), ageing_time = dict(required=False, type='str'),
forward_delay = dict(required=False, type='str'), forward_delay = dict(required=False, type='str'),
max_message_age=dict(required=False, type='str'), max_message_age=dict(required=False, type='str'),
transmit_hold_count=dict(required=False, type='str'), transmit_hold_count=dict(required=False, type='str'),
arp = dict( arp = dict(
required = False, required = False,
choices = ['disabled', 'enabled', 'proxy-arp', 'reply-only'], choices = ['disabled', 'enabled', 'proxy-arp', 'reply-only'],
type='str' type='str'
), ),
protocol_mode= dict( protocol_mode= dict(
required = False, required = False,
choices = ['none', 'rstp', 'stp'], choices = ['none', 'rstp', 'stp'],
type='str' type='str'
), ),
settings= dict( settings= dict(
required = False, required = False,
type='dict' type='dict'
), ),
state= dict( state= dict(
required = False, required = False,
choices = ['present', 'absent'], choices = ['present', 'absent'],
type = 'str' type = 'str'
), ),
) ),
supports_check_mode=True
) )
hostname = module.params['hostname'] hostname = module.params['hostname']
@ -148,6 +148,7 @@ def main():
password = module.params['password'] password = module.params['password']
state = module.params['state'] state = module.params['state']
ansible_bridge_name = module.params['name'] ansible_bridge_name = module.params['name']
check_mode = module.check_mode
changed = False changed = False
changed_message = [] changed_message = []
msg = "" msg = ""
@ -199,7 +200,8 @@ def main():
bridge_settings_diff_keys[key] = settings[key] bridge_settings_diff_keys[key] = settings[key]
if bridge_settings_diff_keys != {}: if bridge_settings_diff_keys != {}:
mk.api_edit(base_path=settings_path, params=bridge_settings_diff_keys) if not check_mode:
mk.api_edit(base_path=settings_path, params=bridge_settings_diff_keys)
changed_message.append(bridge_settings_diff_keys) changed_message.append(bridge_settings_diff_keys)
changed = True changed = True
else: else:
@ -227,10 +229,11 @@ def main():
################################################################### ###################################################################
if (state == "present" and isinstance(ansible_bridge_name, str)): if (state == "present" and isinstance(ansible_bridge_name, str)):
if mikrotik_bridge == {}: if mikrotik_bridge == {}:
mk.api_add( if not check_mode:
base_path=bridge_path, mk.api_add(
params=bridge_params base_path=bridge_path,
) params=bridge_params
)
changed_message.append(ansible_bridge_name + " added") changed_message.append(ansible_bridge_name + " added")
changed = True, changed = True,
else: else:
@ -244,7 +247,8 @@ def main():
bridge_diff_keys[key] = bridge_params[key] bridge_diff_keys[key] = bridge_params[key]
if bridge_diff_keys != {}: if bridge_diff_keys != {}:
bridge_diff_keys['numbers'] = client_id bridge_diff_keys['numbers'] = client_id
mk.api_edit(base_path=bridge_path, params=bridge_diff_keys) if not check_mode:
mk.api_edit(base_path=bridge_path, params=bridge_diff_keys)
changed = True changed = True
changed_message.append("Changed bridge: " + bridge_params['name']) changed_message.append("Changed bridge: " + bridge_params['name'])
else: else:
@ -256,7 +260,8 @@ def main():
elif state == "absent": elif state == "absent":
if client_id: if client_id:
mk.api_remove(base_path=bridge_path, remove_id=client_id) if not check_mode:
mk.api_remove(base_path=bridge_path, remove_id=client_id)
changed_message.append(bridge_params['name'] + " removed") changed_message.append(bridge_params['name'] + " removed")
changed = True changed = True
##################################################### #####################################################

View file

@ -1252,7 +1252,11 @@
with_items: with_items:
- "bridge1" - "bridge1"
register: mod_bridge1 register: mod_bridge1
failed_when: ( mod_bridge1 | changed ) failed_when: (
not ansible_check_mode
) and (
( mod_bridge1 | changed )
)
# bridge ports depend on bridge being created first # bridge ports depend on bridge being created first
@ -1280,7 +1284,11 @@
- [ "bridge1" ] - [ "bridge1" ]
- [ "ether8" ] - [ "ether8" ]
register: mod_bridge1_port register: mod_bridge1_port
failed_when: ( mod_bridge1_port | changed ) failed_when: (
not ansible_check_mode
) and (
( mod_bridge1_port | changed )
)
- name: Add additional param to bridge port - name: Add additional param to bridge port
mt_interface_bridge_port: mt_interface_bridge_port:
@ -1308,7 +1316,11 @@
- [ "bridge1" ] - [ "bridge1" ]
- [ "ether7" ] - [ "ether7" ]
register: bridge1_add_2nd_inter register: bridge1_add_2nd_inter
failed_when: not ( bridge1_add_2nd_inter | changed ) failed_when: (
not ansible_check_mode
) and (
not ( bridge1_add_2nd_inter | changed )
)
- name: ALWAYS_CHANGES Remove 2nd interface to bridge1 port - name: ALWAYS_CHANGES Remove 2nd interface to bridge1 port
mt_interface_bridge_port: mt_interface_bridge_port:
@ -1322,7 +1334,11 @@
- [ "bridge1" ] - [ "bridge1" ]
- [ "ether7" ] - [ "ether7" ]
register: bridge1_rem_2nd_inter register: bridge1_rem_2nd_inter
failed_when: not ( bridge1_rem_2nd_inter | changed ) failed_when: (
not ansible_check_mode
) and (
not ( bridge1_rem_2nd_inter | changed )
)
- name: Add bridge2 - name: Add bridge2
mt_interface_bridge: mt_interface_bridge:
@ -1359,7 +1375,11 @@
use-ip-firewall-for-vlan: no use-ip-firewall-for-vlan: no
use-ip-firewall-for-pppoe: no use-ip-firewall-for-pppoe: no
register: bridge_settings_1 register: bridge_settings_1
failed_when: not ( bridge_settings_1 | changed ) failed_when: (
not ansible_check_mode
) and (
not ( bridge_settings_1 | changed )
)
- name: Adjust settings again (idempotency test) - name: Adjust settings again (idempotency test)
mt_interface_bridge: mt_interface_bridge:
@ -1372,7 +1392,11 @@
use-ip-firewall-for-vlan: no use-ip-firewall-for-vlan: no
use-ip-firewall-for-pppoe: no use-ip-firewall-for-pppoe: no
register: bridge_settings_2 register: bridge_settings_2
failed_when: ( bridge_settings_2 | changed ) failed_when: (
not ansible_check_mode
) and (
( bridge_settings_2 | changed )
)
tags: bridge tags: bridge