fix nxos_system issues (#40347)

This commit is contained in:
saichint
2018-05-22 01:49:34 -07:00
committed by Trishna Guha
parent 7eb98660a4
commit 97070c9688
5 changed files with 208 additions and 59 deletions

View File

@@ -2,7 +2,7 @@
- debug: msg="START cli/set_name_servers.yaml"
- name: setup
nxos_config:
nxos_config: &reset
lines:
- no ip name-server 1.1.1.1
- no ip name-server 2.2.2.2
@@ -76,12 +76,25 @@
- result.commands|length == 1
- "'no ip name-server 3.3.3.3' in result.commands"
- name: default name server
nxos_system: &defns
name_servers: default
register: result
- assert:
that:
- result.changed == true
- name: Idempotent check
nxos_system: *defns
register: result
- assert:
that:
- result.changed == false
- name: teardown
nxos_config:
lines:
- no ip lookup source-interface
match: none
nxos_config: *reset
ignore_errors: yes
# FIXME Copied from iosxr, not sure what we need here
- debug: msg="END cli/set_name_servers.yaml"

View File

@@ -4,28 +4,124 @@
when: ansible_connection == "local"
- block:
- name: remove configuration
nxos_system: &remove
state: absent
register: result
ignore_errors: yes
- name: configure domain lookup
nxos_system: &dlo
domain_lookup: true
state: present
register: result
- name: configure hostname and domain-name
nxos_system: &hostname
hostname: switch
domain_name: test.example.com
register: result
- name: remove configuration
nxos_system:
state: absent
- assert: &true
that:
- "result.changed == true"
- name: Idempotence check
nxos_system: *hostname
register: result
- assert: &false
that:
- "result.changed == false"
- name: configure name servers
nxos_system:
nxos_system: &ns
name_servers:
- 8.8.8.8
- 8.8.4.4
register: result
- assert: *true
- name: Idempotence check
nxos_system: *ns
register: result
- assert: *false
- name: configure name servers with VRF support
nxos_system:
nxos_system: &nsv
name_servers:
- { server: 8.8.8.8, vrf: management }
- { server: 8.8.4.4, vrf: management }
register: result
- assert: *true
- name: Idempotence check
nxos_system: *nsv
register: result
- assert: *false
- name: configure domain lookup1
nxos_system: &ndlo
domain_lookup: false
register: result
- assert: *true
- name: Idempotence check
nxos_system: *ndlo
register: result
- assert: *false
- name: configure domain lookup2
nxos_system: *dlo
register: result
- assert: *true
- name: Idempotence check
nxos_system: *dlo
register: result
- assert: *false
- name: configure system mtu
nxos_system: &sysmtu
system_mtu: 3000
register: result
- assert: *true
- name: Idempotence check
nxos_system: *sysmtu
register: result
- assert: *false
- name: default configuration
nxos_system: &default
hostname: default
domain_name: default
name_servers: default
system_mtu: default
register: result
- assert: *true
- name: Idempotence check
nxos_system: *default
register: result
- assert: *false
always:
- name: remove configuration
nxos_system: *remove
- name: Re-configure hostname
nxos_system: *hostname

View File

@@ -6,7 +6,7 @@
- block:
- name: setup
nxos_config:
lines: hostname switch
lines: "hostname {{ inventory_hostname }}"
match: none
- name: configure hostname
@@ -30,7 +30,7 @@
always:
- name: teardown
nxos_config:
lines: hostname switch
lines: "hostname {{ inventory_hostname }}"
match: none

View File

@@ -5,7 +5,7 @@
# nxapi will error if you try and remove a non-existent entry,
# Therefore we do this as a with_items loop with ignore_errors
- name: setup
nxos_config:
nxos_config: &reset
lines:
- no ip name-server {{ item }}
match: none
@@ -82,12 +82,29 @@
- result.commands|length == 1
- "'no ip name-server 3.3.3.3' in result.commands"
- name: default name server
nxos_system: &defns
name_servers: default
register: result
- assert:
that:
- result.changed == true
- name: Idempotent check
nxos_system: *defns
register: result
- assert:
that:
- result.changed == false
- name: teardown
nxos_config:
lines:
- no ip lookup source-interface
match: none
nxos_config: *reset
with_items:
- 1.1.1.1
- 2.2.2.2
- 3.3.3.3
ignore_errors: yes
# FIXME Copied from iosxr, not sure what we need here
- debug: msg="END nxapi/set_name_servers.yaml"