Skip to content
New issue

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

Turbo server processes are not stopped #138

Open
jonathanpiron opened this issue Nov 8, 2023 · 0 comments
Open

Turbo server processes are not stopped #138

jonathanpiron opened this issue Nov 8, 2023 · 0 comments

Comments

@jonathanpiron
Copy link

SUMMARY

Turbo server processes are not killed after 15 seconds as mentioned in the documentation

ISSUE TYPE
  • Bug Report
COMPONENT NAME

ansible_collections.cloud.common.plugins.module_utils.turbo.server

ANSIBLE VERSION
ansible [core 2.13.11]
  config file = /opt/ansible-playbooks-commit-2/ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/ansible-playbooks-commit-2/.venv/lib/python3.8/site-packages/ansible
  ansible collection location = /opt/ansible-playbooks-commit-2/collections:/home/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/ansible-playbooks-commit-2/.venv/bin/ansible
  python version = 3.8.13 (default, Mar 28 2022, 09:27:29) [GCC 8.3.0]
  jinja version = 3.1.2
  libyaml = True
COLLECTION VERSION
$ ansible-galaxy collection list community.general

# /opt/ansible-playbooks-commit-2/collections/ansible_collections
Collection        Version
----------------- -------
community.general 7.4.0
$ ansible-galaxy collection list cloud.common

# /opt/ansible-playbooks-commit-2/collections/ansible_collections
Collection   Version
------------ -------
cloud.common 2.1.4
$ ansible-galaxy collection list vmware.vmware_rest

# /opt/ansible-playbooks-commit-2/collections/ansible_collections
Collection         Version
------------------ -------
vmware.vmware_rest 2.3.1
CONFIGURATION
AGNOSTIC_BECOME_PROMPT(/opt/ansible-playbooks-commit-2/ansible.cfg) = False
CALLBACKS_ENABLED(/opt/ansible-playbooks-commit-2/ansible.cfg) = ['timer', 'ansible.posix.profile_tasks']
COLLECTIONS_PATHS(/opt/ansible-playbooks-commit-2/ansible.cfg) = ['/opt/ansible-playbooks-commit-2/collections', '/home/ansible/.ansible/collections', '/usr/share/ansible/collections']
DEFAULT_FORKS(/opt/ansible-playbooks-commit-2/ansible.cfg) = 50
DEFAULT_GATHERING(/opt/ansible-playbooks-commit-2/ansible.cfg) = explicit
DEFAULT_TIMEOUT(/opt/ansible-playbooks-commit-2/ansible.cfg) = 15
DEFAULT_VAULT_PASSWORD_FILE(/opt/ansible-playbooks-commit-2/ansible.cfg) = /opt/ansible-playbooks-commit-2/inventories/vault_password.sh
DISPLAY_SKIPPED_HOSTS(/opt/ansible-playbooks-commit-2/ansible.cfg) = False
HOST_KEY_CHECKING(/opt/ansible-playbooks-commit-2/ansible.cfg) = False
INVENTORY_ANY_UNPARSED_IS_FAILED(/opt/ansible-playbooks-commit-2/ansible.cfg) = True
INVENTORY_ENABLED(/opt/ansible-playbooks-commit-2/ansible.cfg) = ['host_list', 'ini', 'constructed']
INVENTORY_IGNORE_EXTS(/opt/ansible-playbooks-commit-2/ansible.cfg) = ['~', '.orig', '.bak', '.cfg', '.retry', '.pyc', '.pyo', 'LICENSE', '.md', '.txt', 'secrets.yml', 'vars.yml', 'ssh_private_key']
RETRY_FILES_ENABLED(/opt/ansible-playbooks-commit-2/ansible.cfg) = True
RETRY_FILES_SAVE_PATH(/opt/ansible-playbooks-commit-2/ansible.cfg) = /tmp
TASK_TIMEOUT(/opt/ansible-playbooks-commit-2/ansible.cfg) = 180
VARIABLE_PRECEDENCE(/opt/ansible-playbooks-commit-2/ansible.cfg) = ['all_inventory', 'groups_inventory', 'all_plugins_play', 'groups_plugins_play', 'all_plugins_inventory', 'groups_plugins_inventory']
OS / ENVIRONMENT

OS: debian 10
Kernel: Linux infra-ansible 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64 GNU/Linux

STEPS TO REPRODUCE

Using the vmware.vmware_rest.vcenter_vm_info module spawns a ansible_collections.cloud.common.plugins.module_utils.turbo.server process.

Wait more than the default TTL (15 seconds) and run ps -edf | grep ansible_collections.cloud.common.plugins.module_utils.turbo.server you'll see that the process is never stopped.

EXPECTED RESULTS

Processes should be automatically stopped after the default 15 seconds timeout as mentioned in the documentation.

ACTUAL RESULTS

Processes are never killed leading to memory leak.

$ date
Wed 08 Nov 2023 12:32:47 PM CET
$ ps -edf | grep ansible_collections.cloud.common.plugins.module_utils.turbo.server
ansible   53861      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   53870      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   53873      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   53886      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   54028      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   54032      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   54036      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   54041      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   54046      1  0 12:02 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78132      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78134      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78560      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78570      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78573      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78727      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78731      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78735      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   78928      1  0 12:29 ?        00:00:00 /opt/ansible-playbooks-commit/.venv/bin/python -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible   84151  71329  0 12:32 pts/4    00:00:00 grep ansible_collections.cloud.common.plugins.module_utils.turbo.server
ansible  100022      1  0 07:06 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102366      1  0 07:09 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102378      1  0 07:09 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102387      1  0 07:09 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102391      1  0 07:09 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102576      1  0 07:10 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102583      1  0 07:10 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102587      1  0 07:10 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102590      1  0 07:10 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
ansible  102673      1  0 07:10 ?        00:00:00 /opt/ansible-playbooks-commit-2/.venv/bin/python3.8 -m ansible_collections.cloud.common.plugins.module_utils.turbo.server --fork --socket-path /dev/shm/ansible/.ansible/tmp/turbo_mode.vmware.vmware_rest.socket
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant