We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Latest released ansible.netcommon v6.0.0 produces exception when used with dynamic inventory (with group) created via "ansible.builtin.add_host"
ansible.netcommon ansible.utils
ansible [core 2.16.3] config file = /home/debian/ansible/ansible.cfg configured module search path = ['/home/debian/ansible/library'] ansible python module location = /home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible ansible collection location = /home/debian/.ansible/collections:/usr/share/ansible/collections executable location = /home/debian/.local/bin/ansible python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/home/debian/.local/pipx/venvs/ansible/bin/python) jinja version = 3.1.3 libyaml = True
# /home/debian/.ansible/collections/ansible_collections Collection Version ----------------- ------- ansible.netcommon 6.0.0
CONFIG_FILE() = /home/debian/ansible/ansible.cfg DEFAULT_FILTER_PLUGIN_PATH(/home/debian/ansible/ansible.cfg) = ['/home/debian/ansible/filter_plugins'] DEFAULT_HOST_LIST(/home/debian/ansible/ansible.cfg) = ['/home/debian/ansible/inventories/sit'] DEFAULT_LOAD_CALLBACK_PLUGINS(/home/debian/ansible/ansible.cfg) = True DEFAULT_MODULE_PATH(/home/debian/ansible/ansible.cfg) = ['/home/debian/ansible/library'] DEFAULT_MODULE_UTILS_PATH(/home/debian/ansible/ansible.cfg) = ['/home/debian/ansible/module_utils'] DEFAULT_ROLES_PATH(/home/debian/ansible/ansible.cfg) = ['/home/debian/ansible/roles'] DEFAULT_STDOUT_CALLBACK(/home/debian/ansible/ansible.cfg) = yaml DEFAULT_TIMEOUT(/home/debian/ansible/ansible.cfg) = 180 DEFAULT_VAULT_PASSWORD_FILE(/home/debian/ansible/ansible.cfg) = /home/debian/ansible_vault_password HOST_KEY_CHECKING(/home/debian/ansible/ansible.cfg) = False INVENTORY_ENABLED(/home/debian/ansible/ansible.cfg) = ['yaml']
Debian 12
playbook - name: Play1 strategy: linear hosts: mytest gather_facts: false tasks: - name: Print current inventory ansible.builtin.debug: var: ansible_play_hosts_all - name: Add hosts to dynamic in-memory inventory ansible.builtin.add_host: name: "10.10.10.10" ansible_user: login ansible_port: 22 ansible_password: password ansible_connection: ansible.netcommon.network_cli ansible_network_os: cisco.ios.ios groups: dynamic_group - name: Play2 strategy: linear hosts: dynamic_group gather_facts: false tasks: - name: Print current inventory ansible.builtin.debug: var: ansible_play_hosts_all inventory: mytest: hosts: 10.1.1.1: ansible_user: developer ansible_port: 22 ansible_become: true ansible_become_method: sudo
PLAY [Play1] *************************************************************************************************************************************************************************************************************************************************** TASK [Print current inventory] ********************************************************************************************************************************************************************************************************************************* ok: [10.189.100.1] => ansible_play_hosts_all: - 10.189.100.1 TASK [Add hosts to dynamic in-memory inventory] **************************************************************************************************************************************************************************************************************** changed: [10.189.100.1] PLAY [Play2] *************************************************************************************************************************************************************************************************************************************************** TASK [Print current inventory] ********************************************************************************************************************************************************************************************************************************* ok: [10.10.10.10] => ansible_play_hosts_all: - 10.10.10.10 PLAY RECAP ***************************************************************************************************************************************************************************************************************************************************** 10.10.10.10 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 10.189.100.1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ansible-playbook [core 2.16.3] config file = /home/debian/ansible/ansible.cfg configured module search path = ['/home/debian/ansible/library'] ansible python module location = /home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible ansible collection location = /home/debian/.ansible/collections:/usr/share/ansible/collections executable location = /home/debian/.local/bin/ansible-playbook python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/home/debian/.local/pipx/venvs/ansible/bin/python) jinja version = 3.1.3 libyaml = True Using /home/debian/ansible/ansible.cfg as config file setting up inventory plugins Loading collection ansible.builtin from Parsed /home/debian/ansible/inventories/sit/hosts inventory source with yaml plugin setting up inventory plugins Skipping empty key (hosts) in group (nd_dynamic) Parsed /home/debian/ansible/inventories/sit/nd_dynamic inventory source with yaml plugin redirecting (type: callback) ansible.builtin.yaml to community.general.yaml Loading collection community.general from /home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible_collections/community/general redirecting (type: callback) ansible.builtin.yaml to community.general.yaml Loading callback plugin community.general.yaml of type stdout, v2.0 from /home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible_collections/community/general/plugins/callback/yaml.py Skipping callback 'default', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. PLAYBOOK: test.yml ********************************************************************************************************************************************************************************************************************************************* Positional arguments: playbooks/test.yml verbosity: 4 connection: ssh become_method: sudo tags: ('all',) inventory: ('/home/debian/ansible/inventories/sit',) forks: 5 2 plays in playbooks/test.yml PLAY [Play1] *************************************************************************************************************************************************************************************************************************************************** Trying secret FileVaultSecret(filename='/home/debian/ansible_vault_password') for vault_id=default TASK [Print current inventory] ********************************************************************************************************************************************************************************************************************************* task path: /home/debian/ansible/playbooks/test.yml:10 ok: [10.189.100.1] => ansible_play_hosts_all: - 10.189.100.1 TASK [Add hosts to dynamic in-memory inventory] **************************************************************************************************************************************************************************************************************** task path: /home/debian/ansible/playbooks/test.yml:14 creating host via 'add_host': hostname=10.10.10.10 changed: [10.189.100.1] => changed=true add_host: groups: - dynamic_group host_name: 10.10.10.10 host_vars: ansible_connection: ansible.netcommon.network_cli ansible_network_os: cisco.ios.ios ansible_password: password ansible_port: 22 ansible_user: login PLAY [Play2] *************************************************************************************************************************************************************************************************************************************************** TASK [Print current inventory] ********************************************************************************************************************************************************************************************************************************* task path: /home/debian/ansible/playbooks/test.yml:31 Loading collection ansible.netcommon from /home/debian/.ansible/collections/ansible_collections/ansible/netcommon The full traceback is: Traceback (most recent call last): File "/home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible/executor/task_executor.py", line 165, in run res = self._execute() ^^^^^^^^^^^^^^^ File "/home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible/executor/task_executor.py", line 574, in _execute self._connection = self._get_connection(cvars, templar, current_connection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible/executor/task_executor.py", line 953, in _get_connection connection, plugin_load_context = self._shared_loader_obj.connection_loader.get_with_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible/plugins/loader.py", line 899, in get_with_context self._module_cache[path] = self._load_module_source(resolved_type_name, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/debian/.local/pipx/venvs/ansible/lib/python3.11/site-packages/ansible/plugins/loader.py", line 837, in _load_module_source spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 936, in exec_module File "<frozen importlib._bootstrap_external>", line 1083, in get_code File "<frozen importlib._bootstrap_external>", line 746, in _code_to_timestamp_pyc ValueError: unmarshallable object fatal: [10.10.10.10]: FAILED! => msg: 'Unexpected failure during module execution: unmarshallable object' PLAY RECAP ***************************************************************************************************************************************************************************************************************************************************** 10.10.10.10 : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0 10.189.100.1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Reverting back to ansible.netcommon v5.3.0 fixes the issue completely.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
SUMMARY
Latest released ansible.netcommon v6.0.0 produces exception when used with dynamic inventory (with group) created via "ansible.builtin.add_host"
ISSUE TYPE
COMPONENT NAME
ansible.netcommon
ansible.utils
ANSIBLE VERSION
COLLECTION VERSION
CONFIGURATION
OS / ENVIRONMENT
Debian 12
STEPS TO REPRODUCE
EXPECTED RESULTS
ACTUAL RESULTS
Reverting back to ansible.netcommon v5.3.0 fixes the issue completely.
The text was updated successfully, but these errors were encountered: