Description
This seems to be very similar to #1529 but only affects the list command, there seems to be some handling of the list-command in https://github.com/mitogen-hq/mitogen/blob/master/ansible_mitogen/_modifiers.py#L34 but i am not sure how the modifiers work.
When running a task such as:
- name: find all available packages
ansible.builtin.dnf
list: "httpd-*"
register: available_packages
Mitogen failes with the following error/stack trace:
TASK [httpd : Find all available packages] *****************************
[ERROR]: Task failed: Action failed: Module result deserialization failed: No start of json char found
Task failed: Action failed.
Origin: /home/dygland/git/ansible/roles/httpd/tasks/main.yml:26:3
24 when: ansible_facts.packages['httpd'] is defined
25
26 - name: Find all available packages
^ column 3
<<< caused by >>>
Module result deserialization failed: No start of json char found See stdout/stderr for the returned output.
fatal: [hostname.domain.tld]: FAILED! => {
"changed": false,
"rc": 1
}
MSG:
Module result deserialization failed: No start of json char found
MODULE_STDERR:
Traceback (most recent call last):
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible_mitogen/runner.py", line 1062, in _run
self._run_code(code, mod)
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible_mitogen/runner.py", line 1017, in _run_code
exec(code, vars(mod))
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible/modules/dnf.py", line 675, in <module>
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible/modules/dnf.py", line 671, in main
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible/modules/dnf.py", line 647, in run
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible/modules/dnf.py", line 539, in list_items
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/ansible/modules/dnf.py", line 484, in _execute_dnf_script
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/mitogen/parent.py", line 2029, in call
return self.default_call_chain.call(fn, *args, **kwargs)
File "master:/home/dygland/git/ansible/.venv/ansible14/lib64/python3.12/site-packages/mitogen/parent.py", line 1986, in call
return receiver.get().unpickle(throw_dead=False)
File "<stdin>", line 1014, in unpickle
File "<stdin>", line 1055, in unpickle_iter
mitogen.core.CallError: builtins.TypeError: list_items() missing 1 required positional argument: 'command'
File "<stdin>", line 4009, in _dispatch_one
Mitogen version
0.3.53
Ansible version (if applicable)
2.21.3
OS and environment
Controller: RedHat 10, python 3.12
Target: Redhat 9 or 10, python 3.9 or 3.12
Steps to reproduce
Steps:
run the following task in a playbook
- name: find all available packages
ansible.builtin.dnf
list: "httpd-*"
register: available_packages
Anything else
This works fine on mitogen 0.3.53 on ansible 2.16 targeting RedHat 8 or 9 hosts. so there is some changes that have been made by ansible and not in mitogen.
Description
This seems to be very similar to #1529 but only affects the list command, there seems to be some handling of the list-command in https://github.com/mitogen-hq/mitogen/blob/master/ansible_mitogen/_modifiers.py#L34 but i am not sure how the modifiers work.
When running a task such as:
Mitogen failes with the following error/stack trace:
Mitogen version
0.3.53
Ansible version (if applicable)
2.21.3
OS and environment
Controller: RedHat 10, python 3.12
Target: Redhat 9 or 10, python 3.9 or 3.12
Steps to reproduce
Steps:
run the following task in a playbook
Anything else
This works fine on mitogen 0.3.53 on ansible 2.16 targeting RedHat 8 or 9 hosts. so there is some changes that have been made by ansible and not in mitogen.