Comments (6)
That's... interesting. I found this issue (ansible/ansible#68536), which seems to have been fixed at some point last year. Are you running the latest version of Ansible 2.9 or 3.x?
from ansible-role-ntp.
[...[ Are you running the latest version of Ansible 2.9 or 3.x?
I seem to be on 2.9.3
user@ansible:~/ansible$ ansible --version
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
user@ansible:~/ansible$ python3 --version
Python 3.8.5
from ansible-role-ntp.
Same here, running with ANSIBLE_DEBUG
doesn't produce any meaningful details:
Friday 23 April 2021 19:34:48 +0000 (0:00:00.408) 0:00:12.645 **********
4853 1619206488.50478: sending task start callback
4853 1619206488.50483: entering _queue_task() for localhost/service_facts
4853 1619206488.50486: Creating lock for service_facts
4853 1619206488.50727: worker is 1 (out of 1 available)
4853 1619206488.50769: exiting _queue_task() for localhost/service_facts
4853 1619206488.50850: done queuing things up, now waiting for results queue to drain
4853 1619206488.50855: waiting for pending results...
5296 1619206488.51132: running TaskExecutor() for localhost/TASK: geerlingguy.ntp : Populate service facts.
5296 1619206488.51235: in run() - task 2f8e8a20-319c-0ac8-de89-000000000257
5296 1619206488.51334: calling self._execute()
5296 1619206488.51548: Loading FilterModule 'core' from /usr/lib/python3/dist-packages/ansible/plugins/filter/core.py (found_in_cache=True, class_only=False)
5296 1619206488.51559: Loading FilterModule 'gcp_kms_filters' from /usr/lib/python3/dist-packages/ansible/plugins/filter/gcp_kms_filters.py (found_in_cache=True, class_only=False)
5296 1619206488.51565: Loading FilterModule 'ipaddr' from /usr/lib/python3/dist-packages/ansible/plugins/filter/ipaddr.py (found_in_cache=True, class_only=False)
5296 1619206488.51574: Loading FilterModule 'json_query' from /usr/lib/python3/dist-packages/ansible/plugins/filter/json_query.py (found_in_cache=True, class_only=False)
5296 1619206488.51587: Loading FilterModule 'k8s' from /usr/lib/python3/dist-packages/ansible/plugins/filter/k8s.py (found_in_cache=True, class_only=False)
5296 1619206488.51605: Loading FilterModule 'mathstuff' from /usr/lib/python3/dist-packages/ansible/plugins/filter/mathstuff.py (found_in_cache=True, class_only=False)
5296 1619206488.51617: Loading FilterModule 'network' from /usr/lib/python3/dist-packages/ansible/plugins/filter/network.py (found_in_cache=True, class_only=False)
5296 1619206488.51657: Loading FilterModule 'urls' from /usr/lib/python3/dist-packages/ansible/plugins/filter/urls.py (found_in_cache=True, class_only=False)
5296 1619206488.51672: Loading FilterModule 'urlsplit' from /usr/lib/python3/dist-packages/ansible/plugins/filter/urlsplit.py (found_in_cache=True, class_only=False)
5296 1619206488.51729: Loading TestModule 'core' from /usr/lib/python3/dist-packages/ansible/plugins/test/core.py (found_in_cache=True, class_only=False)
5296 1619206488.51740: Loading TestModule 'files' from /usr/lib/python3/dist-packages/ansible/plugins/test/files.py (found_in_cache=True, class_only=False)
5296 1619206488.51745: Loading TestModule 'mathstuff' from /usr/lib/python3/dist-packages/ansible/plugins/test/mathstuff.py (found_in_cache=True, class_only=False)
5296 1619206488.52155: Loaded config def from plugin (lookup/env)
5296 1619206488.52163: Loading LookupModule 'env' from /usr/lib/python3/dist-packages/ansible/plugins/lookup/env.py
5296 1619206488.52562: trying /usr/lib/python3/dist-packages/ansible/plugins/connection
5296 1619206488.52645: Loading Connection 'local' from /usr/lib/python3/dist-packages/ansible/plugins/connection/local.py (found_in_cache=True, class_only=False)
5296 1619206488.52676: trying /usr/lib/python3/dist-packages/ansible/plugins/shell
5296 1619206488.52692: Loading ShellModule 'sh' from /usr/lib/python3/dist-packages/ansible/plugins/shell/sh.py (found_in_cache=True, class_only=False)
5296 1619206488.52722: Loading ShellModule 'sh' from /usr/lib/python3/dist-packages/ansible/plugins/shell/sh.py (found_in_cache=True, class_only=False)
5296 1619206488.52743: trying /usr/lib/python3/dist-packages/ansible/plugins/become
5296 1619206488.52786: Loading BecomeModule 'sudo' from /usr/lib/python3/dist-packages/ansible/plugins/become/sudo.py (found_in_cache=True, class_only=False)
5296 1619206488.52958: Loading ActionModule 'normal' from /usr/lib/python3/dist-packages/ansible/plugins/action/normal.py (searched paths: /usr/lib/python3/dist-packages/ansible/plugins/action/__pycache__:/usr/lib/python3/dist-packages/ansible/plugins/action)
5296 1619206488.52973: starting attempt loop
5296 1619206488.52983: running the handler
5296 1619206488.53091: ANSIBALLZ: Using lock for service_facts
5296 1619206488.53095: ANSIBALLZ: Acquiring lock
5296 1619206488.53099: ANSIBALLZ: Lock acquired: 124622757409792
5296 1619206488.53102: ANSIBALLZ: Creating module
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/basic.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/_collections_compat.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/six/__init__.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/parameters.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/parsing/__init__.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/_utils.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/_json_compat.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/__init__.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/process.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/pycompat24.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/text/converters.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/sys_info.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/parsing/convert_bool.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/validation.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/text/__init__.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/text/formatters.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/_text.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/file.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/common/collections.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/distro/__init__.py
Using module_utils file /usr/lib/python3/dist-packages/ansible/module_utils/distro/_distro.py
5296 1619206488.62994: ANSIBALLZ: Writing module into payload
5296 1619206488.63104: ANSIBALLZ: Writing module
5296 1619206488.63123: ANSIBALLZ: Renaming module
5296 1619206488.63131: ANSIBALLZ: Done creating module
Using module file /usr/lib/python3/dist-packages/ansible/modules/system/service_facts.py
Pipelining is enabled.
5296 1619206488.63196: _low_level_execute_command(): starting
5296 1619206488.63204: _low_level_execute_command(): using become for this command
5296 1619206488.63218: _low_level_execute_command(): executing: /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-keultovunyapwinvvfdutbymduvpqdpp ; /usr/bin/python3'"'"' && sleep 0'
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: <user>
5296 1619206488.63237: in local.exec_command()
<localhost> EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-keultovunyapwinvvfdutbymduvpqdpp ; /usr/bin/python3'"'"' && sleep 0'
5296 1619206488.63272: opening command with Popen()
5296 1619206488.63632: done running command with Popen()
5296 1619206488.63651: getting output with communicate()
5296 1619206489.99717: done communicating
5296 1619206489.99723: done with local.exec_command()
5296 1619206489.99779: _low_level_execute_command() done: rc=1, stdout=
{"msg": "Malformed output discovered from systemd list-unit-files: accounts-daemon.service enabled enabled ", "failed": true, "exception": " File \"/tmp/ansible_service_facts_payload_q4_a6_zd/ansible_service_facts_payload.zip/ansible/modules/system/service_facts.py\", line 216, in gather_services\n", "invocation": {"module_args": {}}}
, stderr=
5296 1619206489.99864: done with _execute_module (service_facts, {'_ansible_check_mode': False, '_ansible_no_log': False, '_ansible_debug': True, '_ansible_diff': False, '_ansible_verbosity': 5, '_ansible_version': '2.9.6', '_ansible_module_name': 'service_facts', '_ansible_syslog_facility': 'LOG_USER', '_ansible_selinux_special_fs': ['fuse', 'nfs', 'vboxsf', 'ramfs', '9p', 'vfat'], '_ansible_string_conversion_action': 'warn', '_ansible_socket': None, '_ansible_shell_executable': '/bin/sh', '_ansible_keep_remote_files': False, '_ansible_tmpdir': None, '_ansible_remote_tmp': '~/.ansible/tmp'})
5296 1619206489.99877: handler run complete
5296 1619206489.99883: attempt loop complete, returning result
5296 1619206489.99912: _execute() done
5296 1619206489.99916: dumping result to json
5296 1619206489.99918: done dumping result, returning
5296 1619206489.99941: done running TaskExecutor() for localhost/TASK: geerlingguy.ntp : Populate service facts. [2f8e8a20-319c-0ac8-de89-000000000257]
5296 1619206489.99961: sending task result for task 2f8e8a20-319c-0ac8-de89-000000000257
5296 1619206490.00044: done sending task result for task 2f8e8a20-319c-0ac8-de89-000000000257
5296 1619206490.00095: WORKER PROCESS EXITING
4853 1619206490.00220: marking localhost as failed
4853 1619206490.00233: marking host localhost failed, current state: HOST STATE: block=2, task=6, rescue=0, always=0, run_state=ITERATING_TASKS, fail_state=FAILED_NONE, pending_setup=False, tasks child state? (HOST STATE: block=0, task=9, rescue=0, always=0, run_state=ITERATING_TASKS, fail_state=FAILED_NONE, pending_setup=False, tasks child state? (None), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False
4853 1619206490.00239: ^ failed state is now: HOST STATE: block=2, task=6, rescue=0, always=0, run_state=ITERATING_TASKS, fail_state=FAILED_NONE, pending_setup=False, tasks child state? (HOST STATE: block=0, task=9, rescue=0, always=0, run_state=ITERATING_COMPLETE, fail_state=FAILED_TASKS, pending_setup=False, tasks child state? (None), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False
4853 1619206490.00242: getting the next task for host localhost
4853 1619206490.00246: done getting next task for host localhost
4853 1619206490.00247: ^ task is: None
4853 1619206490.00249: ^ state is: HOST STATE: block=2, task=6, rescue=0, always=0, run_state=ITERATING_COMPLETE, fail_state=FAILED_TASKS, pending_setup=False, tasks child state? (None), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False
TASK [geerlingguy.ntp : Populate service facts.] *****************************************************************************************************************************************************************
task path: /<home dir>/.ansible/roles/geerlingguy.ntp/tasks/main.yml:41
The full traceback is:
File "/tmp/ansible_service_facts_payload_q4_a6_zd/ansible_service_facts_payload.zip/ansible/modules/system/service_facts.py", line 216, in gather_services
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {}
},
"msg": "Malformed output discovered from systemd list-unit-files: accounts-daemon.service enabled enabled "
}
4853 1619206490.00300: no more pending results, returning what we have
4853 1619206490.00309: results queue empty
4853 1619206490.00314: checking for any_errors_fatal
4853 1619206490.00321: done checking for any_errors_fatal
4853 1619206490.00324: checking for max_fail_percentage
4853 1619206490.00326: done checking for max_fail_percentage
4853 1619206490.00338: checking to see if all hosts have failed and the running result is not ok
4853 1619206490.00341: done checking to see if all hosts have failed
4853 1619206490.00342: getting the remaining hosts for this loop
4853 1619206490.00344: done getting the remaining hosts for this loop
4853 1619206490.00352: building list of next tasks for hosts
4853 1619206490.00355: getting the next task for host localhost
4853 1619206490.00358: done getting next task for host localhost
4853 1619206490.00359: ^ task is: None
4853 1619206490.00361: ^ state is: HOST STATE: block=2, task=6, rescue=0, always=0, run_state=ITERATING_COMPLETE, fail_state=FAILED_TASKS, pending_setup=False, tasks child state? (None), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False
4853 1619206490.00363: done building task lists
4853 1619206490.00366: counting tasks in each state of execution
4853 1619206490.00369: done counting tasks in each state of execution:
num_setups: 0
num_tasks: 0
num_rescue: 0
num_always: 0
4853 1619206490.00372: all hosts are done, so returning None's for all hosts
4853 1619206490.00375: done queuing things up, now waiting for results queue to drain
4853 1619206490.00379: results queue empty
4853 1619206490.00382: checking for any_errors_fatal
4853 1619206490.00385: done checking for any_errors_fatal
4853 1619206490.00387: checking for max_fail_percentage
4853 1619206490.00389: done checking for max_fail_percentage
4853 1619206490.00390: checking to see if all hosts have failed and the running result is not ok
4853 1619206490.00392: done checking to see if all hosts have failed
4853 1619206490.00395: getting the next task for host localhost
4853 1619206490.00402: done getting next task for host localhost
4853 1619206490.00404: ^ task is: None
4853 1619206490.00406: ^ state is: HOST STATE: block=2, task=6, rescue=0, always=0, run_state=ITERATING_COMPLETE, fail_state=FAILED_TASKS, pending_setup=False, tasks child state? (None), rescue child state? (None), always child state? (None), did rescue? False, did start at task? False
4853 1619206490.00409: running handlers
OS & Ansible:
$ ansible --version
ansible 2.9.6
config file = /<project folder>/ansible.cfg
configured module search path = ['/<homedir>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
$ lsb_release -d
Description: Ubuntu 20.04.2 LTS
from ansible-role-ntp.
@jeliasson, as Ubuntu's version of Ansible is quite ancient, manual installation via pip3
works like a charm:
$ sudo apt purge ansible && sudo apt autoremove --purge
...
# switched to Python 3.9 along the way but should be fine under 3.8 also
$ sudo ln -fs /usr/bin/python3.9 /usr/bin/python3
$ sudo pip3 install ansible
...
# you might need to add your user to `staff` group as someone decided to be creative here
$ ls -l /usr/local/lib/python3.9/dist-packages/
total 1208
drwxr-s--- 20 root staff 4096 Apr 23 19:59 ansible
drwxr-s--- 2 root staff 4096 Apr 23 19:59 ansible-3.3.0.dist-info
drwxr-s--- 2 root staff 4096 Apr 23 19:59 ansible_base-2.10.8.dist-info
drwxr-s--- 43 root staff 4096 Apr 23 19:59 ansible_collections
drwxr-s--- 6 root staff 4096 Apr 23 19:59 ansible_test
...
$ ansible --version
ansible 2.10.8
config file = /<project dir>/ansible.cfg
configured module search path = ['/<homedir>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.9/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.9.0+ (default, Oct 20 2020, 08:43:38) [GCC 9.3.0]
$ ansible -m service_facts localhost
[WARNING]: No inventory was parsed, only implicit localhost is available
localhost | SUCCESS => {
"ansible_facts": {
"services": {
"*": {
"name": "*",
"source": "systemd",
"state": "stopped",
"status": "unknown"
},
# ----- output truncated -------
UPDATE:
it's actually better to stick with system default Python 3.8, otherwise the following error requires some manual overrides:
ModuleNotFoundError: No module named 'apt_pkg'
from ansible-role-ntp.
as Ubuntu's version of Ansible is quite ancient, manual installation via
pip3
works like a charm:
I did not realize 2.9.3 was that old to be honest. Might bring in a more recent one, but would prefer it from aptitude.
it's actually better to stick with system default Python 3.8, otherwise the following error requires some manual overrides:
Just to confirm, is this a non issue in version 2.10.8
using Python 3.8?
Thanks!
from ansible-role-ntp.
Just to confirm, is this a non issue in version
2.10.8
using Python 3.8?
that's correct.
from ansible-role-ntp.
Related Issues (20)
- Use the base NTP installed on FreeBSD systems HOT 2
- chrony.conf.j2 doesn't use ntp_restrict variable HOT 2
- Problem with task: Populate service facts HOT 1
- custom config options in conf HOT 3
- update README.md - missing community.general in Requirements HOT 4
- Make geerlingguy.ntp inject_facts_as_vars friendly HOT 2
- Add support for Rocky linux HOT 2
- Error on Debian on first check_mode run HOT 3
- NTP service not working when Debian 11 VM restarts HOT 4
- Error on Ubuntu 22.04 LTS minimal install HOT 2
- Debian12 runs ntpsec by default, Role does not work as expected HOT 2
- ntp_restrict is not used for chrony HOT 7
- Debian 12 /etc/timezone inconsistent with current timezone HOT 4
- Feature request: pool support for chrony
- additional operating system for the role HOT 11
- fatal: [server]: FAILED! => {"changed": false, "msg": "No package matching 'ntp' is available"} HOT 4
- NTP keeps soliciting with the Pool Servers HOT 7
- Problems on Ubuntu 20.04 HOT 5
- Problem with `Disable systemd-timesyncd` Task on systems without systemd-timesyncd HOT 23
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-role-ntp.