Iosxr attribute error #27122 (#27425)

* WIP fixing iosxr_logging idempotency

* remove debug stuff from module, add teardown section to start of test
This commit is contained in:
David Newswanger 2017-07-28 10:37:34 -04:00 committed by Trishna Guha
parent 36c6d0f748
commit 3b1f2aeb16
3 changed files with 42 additions and 19 deletions

View file

@ -122,7 +122,6 @@ def validate_size(value, module):
def map_obj_to_commands(updates, module):
commands = list()
want, have = updates
for w in want:
dest = w['dest']
name = w['name']
@ -162,7 +161,6 @@ def map_obj_to_commands(updates, module):
dest_cmd += ' {}'.format(level)
commands.append(dest_cmd)
return commands
@ -208,7 +206,7 @@ def parse_name(line, dest):
def parse_level(line, dest):
level_group = ('emergencies', 'alerts', 'critical', 'errors', 'warnings',
level_group = ('emergencies', 'alerts', 'critical', 'errors', 'warning',
'notifications', 'informational', 'debugging')
if dest == 'hostnameprefix':
@ -228,25 +226,25 @@ def parse_level(line, dest):
def map_config_to_obj(module):
obj = []
dest_group = ('console', 'hostnameprefix', 'monitor', 'buffered', 'on')
data = get_config(module, flags=['logging'])
lines = data.split("\n")
for line in data.split('\n'):
for line in lines:
match = re.search(r'logging (\S+)', line, re.M)
if match:
if match.group(1) in dest_group:
dest = match.group(1)
else:
pass
obj.append({'dest': dest,
obj.append({
'dest': dest,
'name': parse_name(line, dest),
'size': parse_size(line, dest),
'facility': parse_facility(line),
'level': parse_level(line, dest)})
'level': parse_level(line, dest)
})
return obj

View file

@ -10,7 +10,7 @@
- assert:
that:
- 'result.chaned == true'
- 'result.changed == true'
- '"logging host 172.16.0.1" in result.commands'
- '"logging facility local7" in result.commands'

View file

@ -1,4 +1,29 @@
---
# Remove old logging entries so that they don't conflict with tests
- name: Remove host logging
iosxr_logging:
dest: hostnameprefix
name: 172.16.0.1
state: absent
provider: "{{ cli }}"
- name: Remove console logging
iosxr_logging:
dest: console
level: warning
state: absent
provider: "{{ cli }}"
register: result
- name: Remove buffer
iosxr_logging:
dest: buffered
size: 4800000
state: absent
provider: "{{ cli }}"
register: result
# Start tests
- name: Set up host logging
iosxr_logging:
dest: hostnameprefix
@ -9,7 +34,7 @@
- assert:
that:
- 'result.chaned == true'
- 'result.changed == true'
- '"logging hostnameprefix 172.16.0.1" in result.commands'
- '"logging facility local7" in result.commands'
@ -50,10 +75,10 @@
that:
- 'result.changed == false'
- name: Console logging with level warnings
- name: Console logging with level warning
iosxr_logging:
dest: console
level: warnings
level: warning
state: present
provider: "{{ cli }}"
register: result
@ -61,7 +86,7 @@
- assert:
that:
- 'result.changed == true'
- '"logging console warnings" in result.commands'
- '"logging console warning" in result.commands'
- name: Configure Buffer size
iosxr_logging:
@ -78,7 +103,7 @@
- name: remove logging as collection tearDown
iosxr_logging:
aggregate:
- { dest: console, level: warnings, state: absent }
- { dest: console, level: warning, state: absent }
- { dest: buffered, size: 4800000, state: absent }
provider: "{{ cli }}"
register: result