-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
bugThis issue/PR relates to a bugThis issue/PR relates to a bugmodulemodulemodulepluginsplugin (any type)plugin (any type)traceback
Description
Summary
On version v1.32.3805.95 of Pritunl and version 11.4.0 of community.general, when attempting to modify user_groups of a pritunl user, will result in a 'TypeError: 'NoneType' object is not iterable' error for the module.
This occurs when no 'Allowed MAC Addresses' exists for the user on the server. If a dummy mac address is manually entered, the module will complete successfully.
Issue Type
Bug Report
Component Name
pritunl_user
Ansible Version
$ ansible --version
ansible [core 2.17.14]
config file = /workspaces/ansible/ansible.cfg
configured module search path = ['/workspaces/ansible/library', '/home/vscode/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules', '/home/vscode/.ansible/collections/ansible_collections/freeipa/ansible_freeipa/plugins/modules']
ansible python module location = /home/vscode/.local/lib/python3.11/site-packages/ansible
ansible collection location = /home/vscode/.ansible/collections:/usr/share/ansible/collections
executable location = /home/vscode/.local/bin/ansible
python version = 3.11.14 (main, Oct 10 2025, 08:54:03) [GCC 11.4.0] (/usr/bin/python3.11)
jinja version = 3.1.6
libyaml = True
Community.general Version
$ ansible-galaxy collection list community.general
# /home/vscode/.ansible/collections/ansible_collections
Collection Version
----------------- -------
community.general 11.4.0
Configuration
$ ansible-config dump --only-changed
ANSIBLE_PIPELINING(/workspaces/ansible/ansible.cfg) = True
CONFIG_FILE() = /workspaces/ansible/ansible.cfg
DEFAULT_MODULE_PATH(/workspaces/ansible/ansible.cfg) = ['/workspaces/ansible/library', '/home/vscode/.ansible/plugins/modules', '/>
DEFAULT_MODULE_UTILS_PATH(/workspaces/ansible/ansible.cfg) = ['/home/vscode/.ansible/plugins/module_utils', '/usr/share/ansible/pl>
DEFAULT_ROLES_PATH(/workspaces/ansible/ansible.cfg) = ['/workspaces/ansible/roles', '/workspaces/roles', '/home/vscode/.ansible/co>
HOST_KEY_CHECKING(/workspaces/ansible/ansible.cfg) = False
OS / Environment
Ubuntu 22.04(jammy) devcontainer image
Steps to Reproduce
- name: Ensure Pritunl user state
community.general.pritunl_user:
organization: "{{ organization }}"
pritunl_api_secret: "{{ api_secret }}"
pritunl_api_token: "{{ api_token }}"
pritunl_url: "{{ url }}"
user_groups:
- group1
- group2
user_name: mytargetuser
Expected Results
Successful task completion (change)
Actual Results
TASK [Ensure Pritunl user state] **************************************************************************************************
task path: /workspaces/ansible/playbooks/ad_hoc/modify_pritunl_users.yml:49
Using module file /home/vscode/.ansible/collections/ansible_collections/community/general/plugins/modules/pritunl_user.py
Pipelining is enabled.
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: vscode
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3.11 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "<stdin>", line 107, in <module>
File "<stdin>", line 99, in _ansiballz_main
File "<stdin>", line 47, in invoke_module
File "<frozen runpy>", line 226, in run_module
File "<frozen runpy>", line 98, in _run_module_code
File "<frozen runpy>", line 88, in _run_code
File "/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py", line 348, in <module>
File "/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py", line 340, in main
File "/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py", line 217, in add_or_update_pritunl_user
TypeError: 'NoneType' object is not iterable
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"<stdin>\", line 107, in <module>\n File \"<stdin>\", line 99, in _ansiballz_main\n File \"<stdin>\", line 47, in invoke_module\n File \"<frozen runpy>\", line 226, in run_module\n File \"<frozen runpy>\", line 98, in _run_module_code\n File \"<frozen runpy>\", line 88, in _run_code\n File \"/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py\", line 348, in <module>\n File \"/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py\", line 340, in main\n File \"/tmp/ansible_community.general.pritunl_user_payload_gapu75zk/ansible_community.general.pritunl_user_payload.zip/ansible_collections/community/general/plugins/modules/pritunl_user.py\", line 217, in add_or_update_pritunl_user\nTypeError: 'NoneType' object is not iterable\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}Code of Conduct
- I agree to follow the Ansible Code of Conduct
Metadata
Metadata
Assignees
Labels
bugThis issue/PR relates to a bugThis issue/PR relates to a bugmodulemodulemodulepluginsplugin (any type)plugin (any type)traceback