fix nxos_snapshot issues (#41034)
* fix nxos_snapshot issues * review comments * doc change
This commit is contained in:
parent
2db6a8c26a
commit
6733bffd5d
2 changed files with 89 additions and 26 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue