Coder Social home page Coder Social logo

Comments (6)

geerlingguy avatar geerlingguy commented on May 12, 2024

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.

jeliasson avatar jeliasson commented on May 12, 2024

[...[ 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.

sfuerte avatar sfuerte commented on May 12, 2024

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.

sfuerte avatar sfuerte commented on May 12, 2024

@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.

jeliasson avatar jeliasson commented on May 12, 2024

@sfuerte

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.

sfuerte avatar sfuerte commented on May 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.