roll up of fixes for nxos_config (#21949)
* fixes provider to not log entries * fixes nxapi send_request with config statements * fixes nxapi get_config() * updates nxos_config integration tests
This commit is contained in:
parent
f9b108e319
commit
14c05d9e2b
11 changed files with 17 additions and 17 deletions
|
@ -50,7 +50,7 @@ nxos_argument_spec = {
|
|||
'validate_certs': dict(type='bool'),
|
||||
'timeout': dict(type='int'),
|
||||
|
||||
'provider': dict(type='dict', no_log=True),
|
||||
'provider': dict(type='dict'),
|
||||
'transport': dict(choices=['cli', 'nxapi'])
|
||||
}
|
||||
|
||||
|
@ -212,7 +212,7 @@ class Nxapi:
|
|||
# only 10 show commands can be encoded in each request
|
||||
# messages sent to the remote device
|
||||
if output != 'config':
|
||||
commands = collections.deque(commands)
|
||||
commands = collections.deque(to_list(commands))
|
||||
stack = list()
|
||||
requests = list()
|
||||
|
||||
|
@ -230,7 +230,8 @@ class Nxapi:
|
|||
requests.append(data)
|
||||
|
||||
else:
|
||||
requests = commands
|
||||
body = self._request_builder(commands, 'config')
|
||||
requests = [self._module.jsonify(body)]
|
||||
|
||||
headers = {'Content-Type': 'application/json'}
|
||||
result = list()
|
||||
|
@ -241,7 +242,7 @@ class Nxapi:
|
|||
headers['Cookie'] = self._nxapi_auth
|
||||
|
||||
response, headers = fetch_url(
|
||||
self._module, self._url, data=data, headers=headers,
|
||||
self._module, self._url, data=req, headers=headers,
|
||||
timeout=timeout, method='POST'
|
||||
)
|
||||
self._nxapi_auth = headers.get('set-cookie')
|
||||
|
@ -275,7 +276,7 @@ class Nxapi:
|
|||
return self._device_configs[cmd]
|
||||
except KeyError:
|
||||
out = self.send_request(cmd)
|
||||
cfg = str(out['result'][0]['output']).strip()
|
||||
cfg = str(out[0]).strip()
|
||||
self._device_configs[cmd] = cfg
|
||||
return cfg
|
||||
|
||||
|
@ -309,8 +310,7 @@ class Nxapi:
|
|||
def load_config(self, commands):
|
||||
"""Sends the ordered set of commands to the device
|
||||
"""
|
||||
cmds = ['configure terminal']
|
||||
cmds.extend(commands)
|
||||
commands = to_list(commands)
|
||||
self.send_request(commands, output='config')
|
||||
|
||||
|
||||
|
|
|
@ -325,7 +325,7 @@ def main():
|
|||
result = dict(changed=False, warnings=warnings)
|
||||
|
||||
if module.params['backup']:
|
||||
result['__backup__'] = module.config.get_config()
|
||||
result['__backup__'] = get_config(module)
|
||||
|
||||
if any((module.params['src'], module.params['lines'])):
|
||||
run(module, result)
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: collect any backup files
|
||||
find:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with defaults included
|
||||
nxos_config:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
# https://github.com/ansible/ansible-modules-core/issues/4807
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with config
|
||||
nxos_config:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
# Defend https://github.com/ansible/ansible-modules-core/issues/4807
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with config
|
||||
nxos_config:
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: collect any backup files
|
||||
find:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with defaults included
|
||||
nxos_config:
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
- name: setup
|
||||
nxos_config:
|
||||
lines: feature bgp
|
||||
match: none
|
||||
provider: "{{ nxapi }}"
|
||||
|
||||
- name: configure multi level command
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
# https://github.com/ansible/ansible-modules-core/issues/4807
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with config
|
||||
nxos_config:
|
||||
|
|
|
@ -22,13 +22,12 @@
|
|||
that:
|
||||
- "result.changed == true"
|
||||
# https://github.com/ansible/ansible-modules-core/issues/4807
|
||||
- "result.updates is not defined"
|
||||
- "result.updates is defined"
|
||||
|
||||
- name: check device with config
|
||||
nxos_config:
|
||||
src: basic/config.j2
|
||||
provider: "{{ nxapi }}"
|
||||
match: none
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
|
Loading…
Reference in a new issue