Fix junos modules check_mode issue (#37311) (#37918)

Fixes #37208

If check_mode is enabled instead of committing th config need to
discard all the chnages to cnadidate db
In case of cli to discard changes issue `rollback 0` command
and for netconf execute `discard-changes` rpc call
(cherry picked from commit 8eaa9cc938)
pull/37668/merge
Ganesh Nalawade 7 years ago committed by GitHub
parent ec59181a28
commit f91cda4b02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -180,9 +180,9 @@ def locked_config(module):
unlock_configuration(module) unlock_configuration(module)
def discard_changes(module, exit=False): def discard_changes(module):
conn = get_connection(module) conn = get_connection(module)
return conn.discard_changes(exit=exit) return conn.discard_changes()
def get_diff(module, rollback='0'): def get_diff(module, rollback='0'):

@ -84,10 +84,8 @@ class Cliconf(CliconfBase):
command += b' and-quit' command += b' and-quit'
return self.send_command(command) return self.send_command(command)
def discard_changes(self, rollback_id=None): def discard_changes(self):
command = b'rollback' command = b'rollback 0'
if rollback_id is not None:
command += b' %s' % int(rollback_id)
for cmd in chain(to_list(command), b'exit'): for cmd in chain(to_list(command), b'exit'):
self.send_command(cmd) self.send_command(cmd)

@ -78,6 +78,20 @@
- "result.changed == true" - "result.changed == true"
- "'<message>this is my login banner</message>' in config.xml" - "'<message>this is my login banner</message>' in config.xml"
- name: check mode
junos_banner:
banner: login
text: this is not the login banner you're looking for
state: present
provider: "{{ netconf }}"
register: result
check_mode: yes
- assert:
that:
- "result.changed == true"
- "result.failed == false"
- name: delete login banner - name: delete login banner
junos_banner: junos_banner:
banner: login banner: login

Loading…
Cancel
Save