salt-nornir
salt-nornir copied to clipboard
Salt 3007.0 Compatability
With the release of Salt 3007, thought i'd open this up to show what is happening with SaltNornir when using the cfg_gen functions.
This is just an open placeholder to keep you in the loop.
For the interim i have hard-coded my version of Saltstack back to 3006.x
salt_cfg_gen:
Traceback (most recent call last):
File "/opt/saltstack/salt/extras-3.10/salt_nornir/proxy/nornir_proxy_module.py", line 1221, in _download_and_render_files
rendered = __render(value)
File "/opt/saltstack/salt/extras-3.10/salt_nornir/proxy/nornir_proxy_module.py", line 1199, in __render
content = _file_download(ret, saltenv)
File "/opt/saltstack/salt/extras-3.10/salt_nornir/proxy/nornir_proxy_module.py", line 767, in _file_download
file_path = __salt__["cp.get_url"](url, dest="", saltenv=saltenv)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 160, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1233, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1248, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/cp.py", line 416, in get_url
with _client() as client:
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/cp.py", line 171, in _client
return salt.fileclient.get_file_client(__opts__)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/fileclient.py", line 54, in get_file_client
return {"remote": RemoteClient, "local": FSClient, "pillar": PillarClient}.get(
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/fileclient.py", line 1128, in __init__
self.channel = salt.channel.client.ReqChannel.factory(self.opts)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/channel/client.py", line 55, in factory
return SyncWrapper(
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/asynchronous.py", line 77, in __init__
self.obj = cls(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/channel/client.py", line 133, in factory
auth = salt.crypt.AsyncAuth(opts, io_loop=io_loop)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/crypt.py", line 695, in __new__
auth.__singleton_init__(opts, io_loop=io_loop)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/crypt.py", line 742, in __singleton_init__
self._authenticate_future = tornado.concurrent.Future()
File "/opt/saltstack/salt/lib/python3.10/asyncio/events.py", line 656, in get_event_loop
raise RuntimeError('There is no current event loop in thread %r.'
RuntimeError: There is no current event loop in thread 'Thread-29 (_worker)'.
from the minion itself:
[INFO ] User root Executing command nr.nc with jid 20240307202811956871
[ERROR ] Exception while running callback
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/transport/zeromq.py", line 394, in consume
await callback(msg)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/channel/client.py", line 484, in wrap_callback
await callback(decoded)
TypeError: object NoneType can't be used in 'await' expression
[INFO ] Starting a new job with PID 9130
[INFO ] Nornir-proxy MAIN PID 41 starting task 'nornir_salt.plugins.tasks.ncclient_call'
[INFO ] Running task 'nornir_salt.plugins.tasks.ncclient_call' with args {'source': 'running', 'call': 'get_config', 'connection_name': 'ncclient'} on 1 hosts
[INFO ] nornir_salt:RetryRunner Rtr1 - running task 'nornir_salt.plugins.tasks.ncclient_call'
[INFO ] [host 10.48.235.183 session-id 75804] Requesting 'GetConfig'
[INFO ] [host 10.48.235.183 session-id 75804] Sending:
<?xml version="1.0" encoding="UTF-8"?><nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:048c9650-31df-48bd-bc94-190251a31437"><nc:get-config><nc:source><nc:running/></nc:source></nc:get-config></nc:rpc>]]>]]>
[INFO ] [host 10.48.235.183 session-id 75804] Received message from host
[INFO ] nornir_salt:RetryRunner Rtr1 - task 'get_config' completed
[INFO ] Returning information for job: 20240307202811956871
[INFO ] User root Executing command nr.cfg_gen with jid 20240307203139652979
[ERROR ] Exception while running callback
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/transport/zeromq.py", line 394, in consume
await callback(msg)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/channel/client.py", line 484, in wrap_callback
await callback(decoded)
TypeError: object NoneType can't be used in 'await' expression
[INFO ] Starting a new job with PID 9536