don't retrieve config in running_config when config is provided for diff (#41400)

* don't retrieve config in running_config when config is provided for diff

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix for eos, nxos

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* add integration test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
This commit is contained in:
Trishna Guha 2018-06-14 18:02:19 +05:30 committed by GitHub
parent a4f49ed648
commit 8ab0d654f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 106 additions and 6 deletions

View file

@ -410,7 +410,7 @@ def main():
result['changed'] = True result['changed'] = True
running_config = None running_config = module.params['running_config']
startup_config = None startup_config = None
diff_ignore_lines = module.params['diff_ignore_lines'] diff_ignore_lines = module.params['diff_ignore_lines']
@ -435,7 +435,7 @@ def main():
output = run_commands(module, {'command': 'show running-config', 'output': 'text'}) output = run_commands(module, {'command': 'show running-config', 'output': 'text'})
contents = output[0] contents = output[0]
else: else:
contents = running_config.config_text contents = running_config
# recreate the object in order to process diff_ignore_lines # recreate the object in order to process diff_ignore_lines
running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines) running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines)

View file

@ -447,7 +447,7 @@ def main():
result['changed'] = True result['changed'] = True
running_config = None running_config = module.params['running_config']
startup_config = None startup_config = None
diff_ignore_lines = module.params['diff_ignore_lines'] diff_ignore_lines = module.params['diff_ignore_lines']
@ -470,7 +470,7 @@ def main():
output = run_commands(module, 'show running-config') output = run_commands(module, 'show running-config')
contents = output[0] contents = output[0]
else: else:
contents = running_config.config_text contents = running_config
# recreate the object in order to process diff_ignore_lines # recreate the object in order to process diff_ignore_lines
running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines) running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines)

View file

@ -444,7 +444,7 @@ def main():
result['changed'] = True result['changed'] = True
running_config = None running_config = module.params['running_config']
startup_config = None startup_config = None
diff_ignore_lines = module.params['diff_ignore_lines'] diff_ignore_lines = module.params['diff_ignore_lines']
@ -467,7 +467,7 @@ def main():
output = execute_show_commands(module, 'show running-config') output = execute_show_commands(module, 'show running-config')
contents = output[0] contents = output[0]
else: else:
contents = running_config.config_text contents = running_config
# recreate the object in order to process diff_ignore_lines # recreate the object in order to process diff_ignore_lines
running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines) running_config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines)

View file

@ -0,0 +1,9 @@
version 15.6
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname an-ios-01.ansible.com
!
boot-start-marker
boot-end-marker

View file

@ -0,0 +1,9 @@
version 15.6
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname an-ios-02.ansible.com
!
boot-start-marker
boot-end-marker

View file

@ -0,0 +1,29 @@
---
- debug: msg="START cli/diff.yaml on connection={{ ansible_connection }}"
- name: ios_config diff against retrieved config
ios_config:
diff_against: intended
intended_config: "{{ lookup('file', '{{ role_path }}/templates/basic/intended_running_config') }}"
diff: true
register: result
- assert:
that:
- "'hostname an-ios-02.ansible.com' in result['diff']['after']"
- "'hostname {{ shorter_hostname }}' in result['diff']['before']"
- name: ios_config diff against provided running_config
ios_config:
diff_against: intended
intended_config: "{{ lookup('file', '{{ role_path }}/templates/basic/intended_running_config') }}"
running_config: "{{ lookup('file', '{{ role_path }}/templates/basic/base_running_config') }}"
diff: true
register: result
- assert:
that:
- "'hostname an-ios-02.ansible.com' in result['diff']['after']"
- "'hostname an-ios-01.ansible.com' in result['diff']['before']"
- debug: msg="END cli/diff.yaml on connection={{ ansible_connection }}"

View file

@ -0,0 +1,10 @@
version 7.0(3)I6(1)
hostname an-nxos9k-02.ansible.com
vdc an-nxos9k-02 id 1
limit-resource vlan minimum 16 maximum 4094
limit-resource vrf minimum 2 maximum 4096
limit-resource port-channel minimum 0 maximum 511
limit-resource u4route-mem minimum 96 maximum 96
limit-resource u6route-mem minimum 24 maximum 24
limit-resource m4route-mem minimum 58 maximum 58
limit-resource m6route-mem minimum 8 maximum 8

View file

@ -0,0 +1,10 @@
version 7.0(3)I6(1)
hostname an-nxos9k-01.ansible.com
vdc an-nxos9k-01 id 1
limit-resource vlan minimum 16 maximum 4094
limit-resource vrf minimum 2 maximum 4096
limit-resource port-channel minimum 0 maximum 511
limit-resource u4route-mem minimum 96 maximum 96
limit-resource u6route-mem minimum 24 maximum 24
limit-resource m4route-mem minimum 58 maximum 58
limit-resource m6route-mem minimum 8 maximum 8

View file

@ -0,0 +1,33 @@
---
- debug: msg="START cli/diff.yaml on connection={{ ansible_connection }}"
- name: setup hostname
nxos_config:
lines: hostname switch
- name: nxos_config diff against retrieved config
nxos_config:
diff_against: intended
intended_config: "{{ lookup('file', '{{ role_path }}/templates/basic/intended_running_config') }}"
diff: true
register: result
- assert:
that:
- "'hostname an-nxos9k-01.ansible.com' in result['diff']['after']"
- "'hostname switch' in result['diff']['before']"
- name: nxos_config diff against provided running_config
nxos_config:
diff_against: intended
intended_config: "{{ lookup('file', '{{ role_path }}/templates/basic/intended_running_config') }}"
running_config: "{{ lookup('file', '{{ role_path }}/templates/basic/base_running_config') }}"
diff: true
register: result
- assert:
that:
- "'hostname an-nxos9k-01.ansible.com' in result['diff']['after']"
- "'hostname an-nxos9k-02.ansible.com' in result['diff']['before']"
- debug: msg="END cli/diff.yaml on connection={{ ansible_connection }}"