nxos_interface: Fix admin_state check for n6k (#55673)
* Fix admin_state check for n6k * Fix rx and tx_rate intent check test
This commit is contained in:
parent
a5b6a161b5
commit
bceca72eb7
2 changed files with 22 additions and 2 deletions
|
@ -573,6 +573,11 @@ def map_config_to_obj(want, module):
|
||||||
elif intf_type in ('loopback', 'management', 'nve'):
|
elif intf_type in ('loopback', 'management', 'nve'):
|
||||||
obj['name'] = normalize_interface(interface_table.get('interface'))
|
obj['name'] = normalize_interface(interface_table.get('interface'))
|
||||||
obj['admin_state'] = interface_table.get('admin_state')
|
obj['admin_state'] = interface_table.get('admin_state')
|
||||||
|
if obj['admin_state'] is None and intf_type == 'loopback':
|
||||||
|
# Some platforms don't have the 'admin_state' key.
|
||||||
|
# For loopback interfaces it's safe to use the
|
||||||
|
# 'state' key instead.
|
||||||
|
obj['admin_state'] = interface_table.get('state')
|
||||||
obj['description'] = interface_table.get('desc')
|
obj['description'] = interface_table.get('desc')
|
||||||
|
|
||||||
elif intf_type == 'portchannel':
|
elif intf_type == 'portchannel':
|
||||||
|
@ -581,6 +586,16 @@ def map_config_to_obj(want, module):
|
||||||
obj['description'] = interface_table.get('desc')
|
obj['description'] = interface_table.get('desc')
|
||||||
obj['mtu'] = interface_table.get('eth_mtu')
|
obj['mtu'] = interface_table.get('eth_mtu')
|
||||||
|
|
||||||
|
if obj['admin_state'] is None:
|
||||||
|
# Some nxos platforms do not have the 'admin_state' key.
|
||||||
|
# Use the 'state_rsn_desc' key instead to determine the
|
||||||
|
# admin state of the interface.
|
||||||
|
state_description = interface_table.get('state_rsn_desc')
|
||||||
|
if state_description == 'Administratively down':
|
||||||
|
obj['admin_state'] = 'down'
|
||||||
|
elif state_description is not None:
|
||||||
|
obj['admin_state'] = 'up'
|
||||||
|
|
||||||
objs.append(obj)
|
objs.append(obj)
|
||||||
|
|
||||||
return objs
|
return objs
|
||||||
|
|
|
@ -26,11 +26,16 @@
|
||||||
that:
|
that:
|
||||||
- "result.failed == false"
|
- "result.failed == false"
|
||||||
|
|
||||||
|
- name: "Clear interface {{ testint2 }} counters before next task"
|
||||||
|
nxos_command:
|
||||||
|
commands: "clear counters interface {{ testint2 }}"
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Check intent arguments (failed condition)
|
- name: Check intent arguments (failed condition)
|
||||||
nxos_interface:
|
nxos_interface:
|
||||||
name: "{{ testint2 }}"
|
name: "{{ testint2 }}"
|
||||||
admin_state: down
|
admin_state: down
|
||||||
tx_rate: gt(0)
|
tx_rate: gt(10000)
|
||||||
rx_rate: lt(0)
|
rx_rate: lt(0)
|
||||||
provider: "{{ connection }}"
|
provider: "{{ connection }}"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
@ -39,7 +44,7 @@
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.failed == true"
|
- "result.failed == true"
|
||||||
- "'tx_rate gt(0)' in result.failed_conditions"
|
- "'tx_rate gt(10000)' in result.failed_conditions"
|
||||||
- "'rx_rate lt(0)' in result.failed_conditions"
|
- "'rx_rate lt(0)' in result.failed_conditions"
|
||||||
|
|
||||||
- name: aggregate definition of interface
|
- name: aggregate definition of interface
|
||||||
|
|
Loading…
Reference in a new issue