Skip to content

Commit

Permalink
fix nxos_snmp_community issues (ansible#39258)
Browse files Browse the repository at this point in the history
  • Loading branch information
saichint authored and ilicmilan committed Aug 15, 2018
1 parent 91e3fa7 commit e915879
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 5 deletions.
10 changes: 7 additions & 3 deletions lib/ansible/modules/network/nxos/nxos_snmp_community.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@
- Group to which the community belongs.
acl:
description:
- ACL name to filter snmp requests.
default: 1
- ACL name to filter snmp requests or keyword 'default'.
state:
description:
- Manage the state of the resource.
Expand Down Expand Up @@ -150,7 +149,8 @@ def get_snmp_community(module, name):
def config_snmp_community(delta, community):
CMDS = {
'group': 'snmp-server community {0} group {group}',
'acl': 'snmp-server community {0} use-acl {acl}'
'acl': 'snmp-server community {0} use-acl {acl}',
'no_acl': 'no snmp-server community {0} use-acl {no_acl}'
}
commands = []
for k, v in delta.items():
Expand Down Expand Up @@ -203,6 +203,10 @@ def main():
args = dict(group=group, acl=acl)
proposed = dict((k, v) for k, v in args.items() if v is not None)
delta = dict(set(proposed.items()).difference(existing.items()))
if delta.get('acl') == 'default':
delta.pop('acl')
if existing.get('acl'):
delta['no_acl'] = existing.get('acl')

commands = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
nxos_snmp_community: &config
community: TESTING7
group: network-operator
#access: ro
state: present
provider: "{{ connection }}"
register: result
Expand All @@ -34,6 +33,22 @@
that:
- "result.changed == false"

- name: Change snmp_community group
nxos_snmp_community: &chg
community: TESTING7
group: network-admin
state: present
provider: "{{ connection }}"
register: result

- assert: *true

- name: Idempotence Check
nxos_snmp_community: *chg
register: result

- assert: *false

- name: Remove snmp_community
nxos_snmp_community: *remove
register: result
Expand Down Expand Up @@ -91,6 +106,40 @@

- assert: *false

- name: Change acl
nxos_snmp_community: &chgacl
community: TESTING7
access: rw
acl: new_acl
state: present
provider: "{{ connection }}"
register: result

- assert: *true

- name: Idempotence Check
nxos_snmp_community: *chgacl
register: result

- assert: *false

- name: Remove acl
nxos_snmp_community: &removeacl
community: TESTING7
access: rw
acl: default
state: present
provider: "{{ connection }}"
register: result

- assert: *true

- name: Idempotence Check
nxos_snmp_community: *removeacl
register: result

- assert: *false

always:
- name: Cleanup
nxos_snmp_community: *remove
Expand Down
1 change: 0 additions & 1 deletion test/sanity/validate-modules/ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1198,7 +1198,6 @@ lib/ansible/modules/network/nxos/nxos_pim_interface.py E326
lib/ansible/modules/network/nxos/nxos_pim_rp_address.py E326
lib/ansible/modules/network/nxos/nxos_reboot.py E325
lib/ansible/modules/network/nxos/nxos_smu.py E324
lib/ansible/modules/network/nxos/nxos_snmp_community.py E324
lib/ansible/modules/network/nxos/nxos_system.py E325
lib/ansible/modules/network/nxos/nxos_vpc.py E324
lib/ansible/modules/network/nxos/nxos_vpc_interface.py E325
Expand Down

0 comments on commit e915879

Please sign in to comment.