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:
Peter Sprygada 2017-02-25 16:36:00 -05:00 committed by GitHub
parent f9b108e319
commit 14c05d9e2b
11 changed files with 17 additions and 17 deletions

View file

@ -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')

View file

@ -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)

View file

@ -34,7 +34,7 @@
- assert:
that:
- "result.changed == true"
- "result.updates is not defined"
- "result.updates is defined"
- name: collect any backup files
find:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -34,7 +34,7 @@
- assert:
that:
- "result.changed == true"
- "result.updates is not defined"
- "result.updates is defined"
- name: collect any backup files
find:

View file

@ -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:

View file

@ -4,6 +4,7 @@
- name: setup
nxos_config:
lines: feature bgp
match: none
provider: "{{ nxapi }}"
- name: configure multi level command

View file

@ -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:

View file

@ -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: