mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 22:33:25 +00:00
Add backup filename and dir path option for config network modules (#50801)
* Add configurable backup path option for network config modules Fixes #50283 Fixes #32724 * Add back_options in network config module argspec * Handle backup path options in network action plugin * Fix review comments * Add integration tests * Update changelog
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
- debug: msg="END cli_config/backup.yaml on connection={{ ansible_connection }}"
|
||||
|
||||
- name: delete configurable backup file path
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ role_path }}/backup_test_dir/"
|
||||
- "{{ role_path }}/backup/backup.cfg"
|
||||
|
||||
- name: collect any backup files
|
||||
find:
|
||||
paths: "{{ role_path }}/backup"
|
||||
pattern: "{{ inventory_hostname_short }}_config*"
|
||||
register: backup_files
|
||||
connection: local
|
||||
|
||||
- name: delete backup files
|
||||
file:
|
||||
path: "{{ item.path }}"
|
||||
state: absent
|
||||
with_items: "{{backup_files.files|default([])}}"
|
||||
|
||||
- name: take config backup
|
||||
cli_config:
|
||||
backup: yes
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: collect any backup files
|
||||
find:
|
||||
paths: "{{ role_path }}/backup"
|
||||
pattern: "{{ inventory_hostname_short }}_config*"
|
||||
register: backup_files
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_files.files is defined"
|
||||
|
||||
- name: take configuration backup in custom filename and directory path
|
||||
cli_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
filename: backup.cfg
|
||||
dir_path: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-1 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}/backup.cfg"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- name: take configuration backup in custom filename
|
||||
cli_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
filename: backup.cfg
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-2 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup/backup.cfg"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- name: take configuration backup in custom path and default filename
|
||||
cli_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
dir_path: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-3 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
pattern: "{{ inventory_hostname_short }}_config*"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- debug: msg="END cli_config/backup.yaml on connection={{ ansible_connection }}"
|
||||
@@ -45,4 +45,80 @@
|
||||
that:
|
||||
- "backup_files.files is defined"
|
||||
|
||||
- name: delete configurable backup file path
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ role_path }}/backup_test_dir/"
|
||||
- "{{ role_path }}/backup/backup.cfg"
|
||||
|
||||
- name: take configuration backup in custom filename and directory path
|
||||
junos_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
filename: backup.cfg
|
||||
dir_path: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-1 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}/backup.cfg"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- name: take configuration backup in custom filename
|
||||
junos_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
filename: backup.cfg
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-2 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup/backup.cfg"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- name: take configuration backup in custom path and default filename
|
||||
junos_config:
|
||||
backup: yes
|
||||
backup_options:
|
||||
dir_path: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
become: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: check if the backup file-3 exist
|
||||
find:
|
||||
paths: "{{ role_path }}/backup_test_dir/{{ inventory_hostname_short }}"
|
||||
pattern: "{{ inventory_hostname_short }}_config*"
|
||||
register: backup_file
|
||||
connection: local
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "backup_file.files is defined"
|
||||
|
||||
- debug: msg="END netconf/backup.yaml on connection={{ ansible_connection }}"
|
||||
|
||||
Reference in New Issue
Block a user