From b51a1e90455e93bf3dc058d62d1519bcadf94536 Mon Sep 17 00:00:00 2001 From: Ricardo Carrillo Cruz Date: Sat, 5 Aug 2017 17:07:51 +0200 Subject: [PATCH] Fix junos_netconf idempotency issues (#27804) * Fix junos_netconf idempotency issues * Fix pep8 issue * Fix pep8 issue --- .../modules/network/junos/junos_netconf.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/ansible/modules/network/junos/junos_netconf.py b/lib/ansible/modules/network/junos/junos_netconf.py index fba91b6037..d2d16c1892 100644 --- a/lib/ansible/modules/network/junos/junos_netconf.py +++ b/lib/ansible/modules/network/junos/junos_netconf.py @@ -82,16 +82,11 @@ def map_obj_to_commands(updates, module): want, have = updates commands = list() - if want['state'] == 'present' and have['state'] == 'absent': - commands.append( - 'set system services netconf ssh port %s' % want['netconf_port'] - ) - - elif want['state'] == 'absent' and have['state'] == 'present': - commands.append('delete system services netconf') - - elif want['state'] == 'present': - if want['netconf_port'] != have.get('netconf_port'): + if want['state'] == 'absent': + if have['state'] == 'present': + commands.append('delete system services netconf') + else: + if have['state'] == 'absent' or want['netconf_port'] != have.get('netconf_port'): commands.append( 'set system services netconf ssh port %s' % want['netconf_port'] ) @@ -113,7 +108,7 @@ def map_config_to_obj(module): config = str(out).strip() obj = {'state': 'absent'} - if config: + if 'ssh' in config: obj.update({ 'state': 'present', 'netconf_port': parse_port(config)