Lenovo cnos l3interface (#51322)

* Adding cnos_l3_interface module in alignment with others vendors.
This commit is contained in:
Anil Kumar Muraleedharan 2019-02-01 19:47:52 +05:30 committed by Nathaniel Case
commit 004d8b03d4
12 changed files with 898 additions and 7 deletions

View file

@ -34,6 +34,7 @@
import time
import socket
import re
import json
try:
from ansible.module_utils.network.cnos import cnos_errorcodes
from ansible.module_utils.network.cnos import cnos_devicerules
@ -192,11 +193,23 @@ def run_cnos_commands(module, commands, check_rc=True):
return str(retVal)
def get_capabilities(module):
if hasattr(module, '_cnos_capabilities'):
return module._cnos_capabilities
try:
capabilities = Connection(module._socket_path).get_capabilities()
except ConnectionError as exc:
module.fail_json(msg=to_text(exc, errors='surrogate_then_replace'))
module._cnos_capabilities = json.loads(capabilities)
return module._cnos_capabilities
def load_config(module, config):
try:
conn = get_connection(module)
conn.get('enable')
conn.edit_config(config)
resp = conn.edit_config(config)
return resp.get('response')
except ConnectionError as exc:
module.fail_json(msg=to_text(exc))