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)
|
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):
|
def write_on_file(content, filename, module):
|
||||||
path = module.params['path']
|
path = module.params['path']
|
||||||
if path[-1] != '/':
|
if path[-1] != '/':
|
||||||
|
@ -373,10 +367,10 @@ def main():
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
|
|
||||||
if action == 'create' and module.params['path'] and module.params['save_snapshot_locally']:
|
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]
|
content = execute_show_command(command, module)[0]
|
||||||
if content:
|
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)
|
module.exit_json(**result)
|
||||||
|
|
||||||
|
|
|
@ -4,19 +4,61 @@
|
||||||
when: ansible_connection == "local"
|
when: ansible_connection == "local"
|
||||||
|
|
||||||
- set_fact: snapshot_run="true"
|
- set_fact: snapshot_run="true"
|
||||||
|
|
||||||
- set_fact: snapshot_run="false"
|
- 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:
|
- block:
|
||||||
- name: create snapshot
|
- name: create snapshot
|
||||||
nxos_snapshot:
|
nxos_snapshot: &crss1
|
||||||
action: create
|
action: create
|
||||||
snapshot_name: test_snapshot1
|
snapshot_name: test_snapshot1
|
||||||
description: Ansible
|
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
|
- name: create another snapshot
|
||||||
nxos_snapshot:
|
nxos_snapshot: &crss2
|
||||||
action: create
|
action: create
|
||||||
snapshot_name: test_snapshot2
|
snapshot_name: test_snapshot2
|
||||||
description: row
|
description: row
|
||||||
|
@ -24,7 +66,15 @@
|
||||||
show_command: show ip interface brief
|
show_command: show ip interface brief
|
||||||
row_id: ROW_intf
|
row_id: ROW_intf
|
||||||
element_key1: intf-name
|
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
|
- name: compare snapshots
|
||||||
nxos_snapshot:
|
nxos_snapshot:
|
||||||
|
@ -35,25 +85,44 @@
|
||||||
compare_option: summary
|
compare_option: summary
|
||||||
path: '.'
|
path: '.'
|
||||||
|
|
||||||
- name: FAIL compare snapshots
|
- name: delete snapshot
|
||||||
nxos_snapshot:
|
nxos_snapshot: &del
|
||||||
action: compare
|
snapshot_name: test_snapshot2
|
||||||
snapshot1: test_snapshot1
|
action: delete
|
||||||
snapshot2: test_snapshot2
|
|
||||||
compare_option: summary
|
|
||||||
path: '.'
|
|
||||||
register: result
|
register: result
|
||||||
ignore_errors: yes
|
|
||||||
|
|
||||||
- assert:
|
- assert: *true
|
||||||
that:
|
|
||||||
- 'result.failed == True'
|
- name: "Conf Idempotence"
|
||||||
- '"action is compare but all of the following are missing: comparison_results_file" in result.msg'
|
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
|
when: snapshot_run
|
||||||
|
|
||||||
always:
|
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:
|
nxos_snapshot:
|
||||||
action: delete_all
|
action: delete_all
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
Loading…
Add table
Reference in a new issue