Ansible error: AttributeError: module 'platform' has no attribute 'dist'
Question:
I want to add group in remote machine via ansible playbook and i get error.
This is my code from playbook:
- name: Ensure group for deploy_user exists
become: yes
group:
name: "{{ deploy_user }}"
state: present
and this is error what I get:
fatal: [webserver]: FAILED! => {
"changed": false,
"module_stderr": "mux_client_request_session: read from master failed: Broken pipernShared connection to server closed.rn",
"module_stdout": "Traceback (most recent call last):rn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 274, in get_distributionrnAttributeError: module 'platform' has no attribute '_supported_dists'rnrnDuring handling of the above exception, another exception occurred:rnrnTraceback (most recent call last):rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 478, in <module>rn main()rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 426, in mainrn group = Group(module)rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 80, in __new__rn return load_platform_subclass(Group, args, kwargs)rn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 332, in load_platform_subclassrn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 284, in get_distributionrnAttributeError: module 'platform' has no attribute 'dist'rn",
"msg": "MODULE FAILURE",
"rc": 1
}
My ansible running on WSL:
ansible 2.5.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/rideto/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.17 (default, Apr 15 2020, 17:20:14) [GCC 7.5.0]
Please help.
Answers:
I faced the same issue and solved it by reinstalling ansible to use a python3 version. Original guide here.
sudo apt remove ansible -y && pip3 install ansible --user
should solve your issue. (If you used apt to install ansible)
Updating ansible worked for me here’s the MacOS Monterrey M1 Max chip version:
brew install ansible
brew link --overwrite ansible
The main reason I found was that it forced ansible
to use python3
ansible --version
ansible [core 2.12.4]
config file = None
configured module search path = ['/Users/userhome/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/5.5.0/libexec/lib/python3.10/site-packages/ansible
ansible collection location = /Users/userhome/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.10.2 (main, Feb 2 2022, 06:19:27) [Clang 13.0.0 (clang-1300.0.29.3)]
jinja version = 3.1.1
libyaml = True
I want to add group in remote machine via ansible playbook and i get error.
This is my code from playbook:
- name: Ensure group for deploy_user exists
become: yes
group:
name: "{{ deploy_user }}"
state: present
and this is error what I get:
fatal: [webserver]: FAILED! => {
"changed": false,
"module_stderr": "mux_client_request_session: read from master failed: Broken pipernShared connection to server closed.rn",
"module_stdout": "Traceback (most recent call last):rn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 274, in get_distributionrnAttributeError: module 'platform' has no attribute '_supported_dists'rnrnDuring handling of the above exception, another exception occurred:rnrnTraceback (most recent call last):rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 478, in <module>rn main()rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 426, in mainrn group = Group(module)rn File "/tmp/ansible_46blg1ge/ansible_module_group.py", line 80, in __new__rn return load_platform_subclass(Group, args, kwargs)rn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 332, in load_platform_subclassrn File "/tmp/ansible_46blg1ge/ansible_modlib.zip/ansible/module_utils/basic.py", line 284, in get_distributionrnAttributeError: module 'platform' has no attribute 'dist'rn",
"msg": "MODULE FAILURE",
"rc": 1
}
My ansible running on WSL:
ansible 2.5.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/rideto/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.17 (default, Apr 15 2020, 17:20:14) [GCC 7.5.0]
Please help.
I faced the same issue and solved it by reinstalling ansible to use a python3 version. Original guide here.
sudo apt remove ansible -y && pip3 install ansible --user
should solve your issue. (If you used apt to install ansible)
Updating ansible worked for me here’s the MacOS Monterrey M1 Max chip version:
brew install ansible
brew link --overwrite ansible
The main reason I found was that it forced ansible
to use python3
ansible --version
ansible [core 2.12.4]
config file = None
configured module search path = ['/Users/userhome/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/5.5.0/libexec/lib/python3.10/site-packages/ansible
ansible collection location = /Users/userhome/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.10.2 (main, Feb 2 2022, 06:19:27) [Clang 13.0.0 (clang-1300.0.29.3)]
jinja version = 3.1.1
libyaml = True