fix nxos_snapshot issues (#41034)

* fix nxos_snapshot issues

* review comments

* doc change
This commit is contained in:
saichint 2018-06-04 22:26:32 -07:00 committed by Trishna Guha
parent 2db6a8c26a
commit 6733bffd5d
2 changed files with 89 additions and 26 deletions

View file

@ -289,12 +289,6 @@ def invoke(name, *args, **kwargs):
return func(*args, **kwargs)
def get_snapshot(module):
command = 'show snapshot dump {0}'.format(module.params['snapshot_name'])
body = execute_show_command(command, module)[0]
return body
def write_on_file(content, filename, module):
path = module.params['path']
if path[-1] != '/':
@ -373,10 +367,10 @@ def main():
result['changed'] = True
if action == 'create' and module.params['path'] and module.params['save_snapshot_locally']:
command = 'show snapshot | include {}'.format(module.params['snapshot_name'])
command = 'show snapshot dump {} | json'.format(module.params['snapshot_name'])
content = execute_show_command(command, module)[0]
if content:
write_on_file(content, module.params['snapshot_name'], module)
write_on_file(str(content), module.params['snapshot_name'], module)
module.exit_json(**result)

View file

@ -4,19 +4,61 @@
when: ansible_connection == "local"
- set_fact: snapshot_run="true"
- set_fact: snapshot_run="false"
when: titanium and ( connection.transport is match('nxapi'))
when: titanium and (ansible_connection is match('nxapi'))
- set_fact: snapshot_run="false"
when: platform is match('N35')
- set_fact: add_sec="true"
- set_fact: add_sec="false"
when: imagetag is search("D1")
- block:
- name: create snapshot
nxos_snapshot:
nxos_snapshot: &crss1
action: create
snapshot_name: test_snapshot1
description: Ansible
save_snapshot_locally: true
save_snapshot_locally: True
register: result
- assert: &true
that:
- "result.changed == true"
- name: "Conf Idempotence"
nxos_snapshot: *crss1
register: result
- assert: &false
that:
- "result.changed == false"
- block:
- name: Add section
nxos_snapshot: &add
action: add
section: myshow
show_command: show ip interface brief
row_id: ROW_intf
element_key1: intf-name
element_key2: intf-name
register: result
- assert: *true
- name: "Conf Idempotence"
nxos_snapshot: *add
register: result
- assert: *false
when: add_sec
- name: create another snapshot
nxos_snapshot:
nxos_snapshot: &crss2
action: create
snapshot_name: test_snapshot2
description: row
@ -24,7 +66,15 @@
show_command: show ip interface brief
row_id: ROW_intf
element_key1: intf-name
save_snapshot_locally: true
register: result
- assert: *true
- name: "Conf Idempotence"
nxos_snapshot: *crss2
register: result
- assert: *false
- name: compare snapshots
nxos_snapshot:
@ -35,25 +85,44 @@
compare_option: summary
path: '.'
- name: FAIL compare snapshots
nxos_snapshot:
action: compare
snapshot1: test_snapshot1
snapshot2: test_snapshot2
compare_option: summary
path: '.'
- name: delete snapshot
nxos_snapshot: &del
snapshot_name: test_snapshot2
action: delete
register: result
ignore_errors: yes
- assert:
that:
- 'result.failed == True'
- '"action is compare but all of the following are missing: comparison_results_file" in result.msg'
- assert: *true
- name: "Conf Idempotence"
nxos_snapshot: *del
register: result
- assert: *false
- name: delete all snapshots
nxos_snapshot: &delall
action: delete_all
register: result
- assert: *true
- name: "Conf Idempotence"
nxos_snapshot: *delall
register: result
- assert: *false
when: snapshot_run
always:
- name: delete snapshot
- name: delete all sections
nxos_config:
commands:
- snapshot section delete myshow
match: none
ignore_errors: yes
- name: delete all snapshots
nxos_snapshot:
action: delete_all
ignore_errors: yes