Excluded failed Integration test cases on ppc64le

Hello Community!

I have building and executing a Sanity, unit and Integration test on ansible repo.
Build is successful, Unit and Sanity test are also passed, however on Integration test below test were failing, except these all other are passing with my build script, attached error logs of each test cases.

So please review and let help me know if anything i missed to test, if not is it fine to exclude these many tests cases on ppc64le

  1. --exclude ansible-test-cloud-galaxy
  2. --exclude ansible-galaxy-collection
  3. --exclude ansible-test-coverage
  4. --exclude ansible-test-docker
  5. --exclude connection_ssh
  6. --exclude fetch
  7. --exclude file
  8. --exclude keyword_inheritance
  9. --exclude lookup_password
  10. --exclude omit
  11. --exclude remote_tmp

Below 2 test cases were depended on pulp-galaxy image which is not supported on ppc64le

  1. ansible-test-cloud-galaxy
  2. ansible-galaxy-collection
**ansible-test-coverage**
 
FATAL: Command "importer.py" returned exit status 0.
>>> Standard Error
/root/.ansible/test/venv/sanity.import.module/3.9/3baca998/lib64/python3.9/site-packages/coverage/core.py:93: CoverageWarning: Couldn't import C tracer: No module named 'coverage.tracer' (no-ctracer); see https://coverage.readthedocs.io/en/7.10.7/messages.html#warning-no-ctracer
  warn(f"Couldn't import C tracer: {IMPORT_ERROR}", slug="no-ctracer", once=True)
FATAL: Command "/usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/tmp/tmp.GQG1ICZPhB/ansible_collections/ns/col PYTHONPATH=/tmp/ansible-test-jgth0hy4 /tmp/tmp.GQG1ICZPhB/ansible_collections/ns/col/tests/output/.tmp/delegation/python3.12/bin/python /root/ansible/bin/ansible-test sanity --containers '{}' --test import -vvv --coverage --truncate 0 --color yes --host-path tests/output/.tmp/host-bxj4gmxr --metadata tests/output/.tmp/metadata-5mnny1_u.json" returned exit status 1.
+ rm -rf /tmp/tmp.GQG1ICZPhB
NOTICE: To resume at this test target, use the option: --start-at ansible-test-coverage
NOTICE: To resume after this test target, use the option: --start-at ansible-test-debugging
FATAL: Command "./runme.sh -vvv" returned exit status 1.


 **ansible-test-docker**

FATAL: Command "/root/.ansible/test/venv/sanity.validate-modules/3.12/8088ee77/bin/python /root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate.py --format json --arg-spec --collection ansible_collections/ns/col --collection-version 1.0.0 plugins/modules/hello.py plugins/modules/win_util_args.ps1 plugins/modules/win_util_args.py" returned exit status 1.
>>> Standard Error
Traceback (most recent call last):
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate.py", line 6, in <module>
    main()
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py", line 2692, in main
    run()
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py", line 2652, in run
    mv1.validate()
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py", line 2458, in validate
    self._validate_ansible_module_call(docs)
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py", line 1372, in _validate_ansible_module_call
    spec, kwargs = get_ps_argument_spec(self.path, self.collection)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/ansible/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py", line 104, in get_ps_argument_spec
    raise FileNotFoundError('Required program for PowerShell arg spec inspection "pwsh" not found.')
FileNotFoundError: Required program for PowerShell arg spec inspection "pwsh" not found.
FATAL: Command "/usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/tmp/tmp.frwPiLkhPm/ansible_collections/ns/col PYTHONPATH=/tmp/ansible-test-8voymps7 /tmp/tmp.frwPiLkhPm/ansible_collections/ns/col/tests/output/.tmp/delegation/python3.12-ssp/bin/python /root/ansible/bin/ansible-test sanity -vvv --containers '{}' --truncate 0 --color yes --host-path tests/output/.tmp/host-o9ksr25w --metadata tests/output/.tmp/metadata-178a4196.json" returned exit status 1.
+ rm -rf /tmp/tmp.frwPiLkhPm
NOTICE: To resume at this test target, use the option: --start-at ansible-test-docker
NOTICE: To resume after this test target, use the option: --start-at ansible-test-git
FATAL: Command "./runme.sh -vvv" returned exit status 1.


**connection_ssh**

[ERROR]: Task failed: Action failed: Module result deserialization failed: No start of json char found

Task failed: Action failed.
Origin: /root/ansible/test/results/.tmp/integration/connection_ssh-89_pa_r9-ÅÑŚÌβŁÈ/test/integration/targets/connection_ssh/test_unreachable_become_timeout.yml:14:11

12             shell: "{{ lookup('pipe', 'which bash') }}"
13
14         - lineinfile:
             ^ column 11

<<< caused by >>>

Module result deserialization failed: No start of json char found See stdout/stderr for the returned output.

fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Shared connection to localhost closed.\r\n",
    "module_stdout": "/bin/sh: line 1: /root/ansible/.venv/bin/python: Permission denied\r\n",
    "msg": "Module result deserialization failed: No start of json char found",
    "rc": 126
}


**fetch**

TASK [delete temporary directory] **********************************************
task path: /root/ansible/test/results/.tmp/integration/fetch-pir3nwbx-ÅÑŚÌβŁÈ/test/integration/targets/fetch/cleanup.yml:12
[ERROR]: Task failed: Finalization of task args for 'ansible.builtin.file' failed: Error while resolving value for 'path': 'remote_tmp_dir' is undefined

Task failed.
Origin: /root/ansible/test/results/.tmp/integration/fetch-pir3nwbx-ÅÑŚÌβŁÈ/test/integration/targets/fetch/cleanup.yml:12:7

10         force: yes
11
12     - name: delete temporary directory
         ^ column 7

<<< caused by >>>

Finalization of task args for 'ansible.builtin.file' failed.
Origin: /root/ansible/test/results/.tmp/integration/fetch-pir3nwbx-ÅÑŚÌβŁÈ/test/integration/targets/fetch/cleanup.yml:13:7

11
12     - name: delete temporary directory
13       file:
         ^ column 7

<<< caused by >>>

Error while resolving value for 'path': 'remote_tmp_dir' is undefined
Origin: /root/ansible/test/results/.tmp/integration/fetch-pir3nwbx-ÅÑŚÌβŁÈ/test/integration/targets/fetch/cleanup.yml:14:15

12     - name: delete temporary directory
13       file:
14         path: "{{ remote_tmp_dir }}"
                 ^ column 15

fatal: [testhost]: FAILED! => {
    "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
    "changed": false
}

PLAY RECAP *********************************************************************
testhost                   : ok=2    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

NOTICE: To resume at this test target, use the option: --start-at fetch
NOTICE: To resume after this test target, use the option: --start-at file
FATAL: Command "./runme.sh -vvv" returned exit status 2.


**FILE**

TASK [file : touch file as nobody] *********************************************
task path: /root/ansible/test/results/.tmp/integration/file-5dm9uypc-ÅÑŚÌβŁÈ/test/integration/targets/file/tasks/main.yml:810
Using module file /root/ansible/lib/ansible/modules/file.py
Pipelining is enabled.
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'sudo -H -S -n  -u nobody /bin/sh -c '"'"'echo BECOME-SUCCESS-sffuiyvhjdiffvgjuldztnbfifhwjfli ; /root/ansible/.venv/bin/python'"'"' && sleep 0'
[ERROR]: Task failed: Action failed: Module result deserialization failed: No start of json char found

Task failed: Action failed.
Origin: /root/ansible/test/results/.tmp/integration/file-5dm9uypc-ÅÑŚÌβŁÈ/test/integration/targets/file/tasks/main.yml:810:5

808     pause: seconds=1
809
810   - name: touch file as nobody
        ^ column 5

<<< caused by >>>

Module result deserialization failed: No start of json char found See stdout/stderr for the returned output.

fatal: [testhost]: FAILED! => {
    "changed": false,
    "module_stderr": "/bin/sh: line 1: /root/ansible/.venv/bin/python: Permission denied\n",
    "module_stdout": "",
    "msg": "Module result deserialization failed: No start of json char found",
    "rc": 126
}
*
*
*
PLAY RECAP *********************************************************************
testhost                   : ok=299  changed=118  unreachable=0    failed=1    skipped=3    rescued=0    ignored=21

NOTICE: To resume at this test target, use the option: --start-at file
NOTICE: To resume after this test target, use the option: --start-at filter_encryption
FATAL: Command "ansible-playbook file-b8n_6x96.yml -i inventory -vvv" returned exit status 2.


**keyword_inheritance**

[ERROR]: Task failed: Premature end of stream waiting for become success or become password prompt.
>>> Standard Error
sudo: via: command not found
Origin: /root/ansible/test/results/.tmp/integration/keyword_inheritance-u9dkqfw6-ÅÑŚÌβŁÈ/test/integration/targets/setup_test_user/tasks/main.yml:33:3

31   when: test_user_allow_sudo != False
32
33 - name: run whoami as the test user
     ^ column 3

fatal: [testhost]: FAILED! => {
    "changed": false,
    "msg": "Task failed: Premature end of stream waiting for become success or become password prompt.\n>>> Standard Error\nsudo: via: command not found"
}

*****

PLAY RECAP *********************************************************************
testhost                   : ok=7    changed=2    unreachable=0    failed=1    skipped=1    rescued=0    ignored=0

NOTICE: To resume at this test target, use the option: --start-at keyword_inheritance
NOTICE: To resume after this test target, use the option: --start-at known_hosts
FATAL: Command "./runme.sh -vvv" returned exit status 2.


**lookup_password**

TASK [lookup_password : create a password (with salt) file] ********************
[ERROR]: Task failed: Finalization of task args for 'ansible.builtin.debug' failed: Error while resolving value for 'msg': The lookup plugin 'password' failed: Unable to encrypt nor hash, passlib must be installed: No module named 'passlib'

Task failed.
Origin: /root/ansible/test/results/.tmp/integration/lookup_password-zvk8vn2f-ÅÑŚÌβŁÈ/test/integration/targets/lookup_password/tasks/main.yml:60:3

58
59
60 - name: create a password (with salt) file
     ^ column 3

<<< caused by >>>

Finalization of task args for 'ansible.builtin.debug' failed.
Origin: /root/ansible/test/results/.tmp/integration/lookup_password-zvk8vn2f-ÅÑŚÌβŁÈ/test/integration/targets/lookup_password/tasks/main.yml:61:3

59
60 - name: create a password (with salt) file
61   debug: msg={{ lookup('password', output_dir + '/lookup/password_with_salt encrypt=sha256_crypt') }}
     ^ column 3

<<< caused by >>>

Error while resolving value for 'msg': The lookup plugin 'password' failed: Unable to encrypt nor hash, passlib must be installed: No module named 'passlib'
Origin: /root/ansible/test/results/.tmp/integration/lookup_password-zvk8vn2f-ÅÑŚÌβŁÈ/test/integration/targets/lookup_password/tasks/main.yml:61:10

59
60 - name: create a password (with salt) file
61   debug: msg={{ lookup('password', output_dir + '/lookup/password_with_salt encrypt=sha256_crypt') }}
            ^ column 10

fatal: [localhost]: FAILED! => {"msg": "Task failed: Finalization of task args for 'ansible.builtin.debug' failed: Error while resolving value for 'msg': The lookup plugin 'password' failed: Unable to encrypt nor hash, passlib must be installed: No module named 'passlib'"}

PLAY RECAP *********************************************************************
localhost                  : ok=14   changed=3    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

NOTICE: To resume at this test target, use the option: --start-at lookup_password
NOTICE: To resume after this test target, use the option: --start-at lookup_pipe
FATAL: Command "./runme.sh" returned exit status 2.
------------------ansible:Integration_Test_Failure---------------------
ansible  |  https://github.com/ansible/ansible.git | v2.20.2 | GitHub | Fail |  Test_Failure


 **remote_tmp**

TASK [Test case from issue 41340] **********************************************
[ERROR]: Task failed: Action failed: Module result deserialization failed: No start of json char found

Task failed: Action failed.
Origin: /root/ansible/test/results/.tmp/integration/remote_tmp-1lcf_z4a-ÅÑŚÌβŁÈ/test/integration/targets/remote_tmp/playbook.yml:14:11

12       become_user: tmptest
13       block:
14         - name: Test case from issue 41340
             ^ column 11

<<< caused by >>>

Module result deserialization failed: No start of json char found See stdout/stderr for the returned output.

fatal: [testhost]: FAILED! => {"changed": false, "module_stderr": "/bin/sh: line 1: /root/ansible/.venv/bin/python: Permission denied\n", "module_stdout": "", "msg": "Module result deserialization failed: No start of json char found", "rc": 126}

TASK [clean up file] ***********************************************************
[ERROR]: Task failed: Action failed: Module result deserialization failed: No start of json char found

Task failed: Action failed.
Origin: /root/ansible/test/results/.tmp/integration/remote_tmp-1lcf_z4a-ÅÑŚÌβŁÈ/test/integration/targets/remote_tmp/playbook.yml:23:11

21               mode: 0644
22       always:
23         - name: clean up file
             ^ column 11

<<< caused by >>>

Module result deserialization failed: No start of json char found See stdout/stderr for the returned output.

fatal: [testhost]: FAILED! => {"changed": false, "module_stderr": "/bin/sh: line 1: /root/ansible/.venv/bin/python: Permission denied\n", "module_stdout": "", "msg": "Module result deserialization failed: No start of json char found", "rc": 126}

PLAY RECAP *********************************************************************
testhost                   : ok=2    changed=1    unreachable=0    failed=2    skipped=0    rescued=0    ignored=0

NOTICE: To resume at this test target, use the option: --start-at remote_tmp
NOTICE: To resume after this test target, use the option: --start-at replace
FATAL: Command "./runme.sh" returned exit status 2.
------------------ansible:Integration_Test_Failure---------------------
ansible  |  https://github.com/ansible/ansible.git | v2.20.2 | GitHub | Fail |  Test_Failure


PLAY RECAP *********************************************************************
testhost                   : ok=10   changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

WARNING: Reviewing previous 5 warning(s):
WARNING: Excluding controller tests marked "destructive" which require --allow-destructive or prefixing with "destructive/" to run on unmanaged hosts: ansible-galaxy, ansible-test-container, ansible-test-sanity-import, ansible-test-vendoring, become_unprivileged, cli, connection_local, connection_paramiko_ssh, filter_core, gathering, hardware_facts, lookup_url
WARNING: Excluding controller tests marked "disabled" which require --allow-disabled or prefixing with "disabled/": ansible-test-cloud-openshift
WARNING: Excluding target tests marked "destructive" which require --allow-destructive or prefixing with "destructive/" to run on unmanaged hosts: apt, apt_key, apt_repository, become, become_su, become_sudo, copy, cron, deb822_repository, debconf, dnf, dnf-latest, dnf-oldest, dpkg_selections, expect, facts_linux_network, find, get_url, group, hostname, lineinfile, module_utils, mount_facts, package, package_facts, pip, reboot, rpm_key, service, slurp, subversion, systemd, unarchive, uri, user, wait_for, yum_repository
WARNING: Excluding tests marked "cloud/aws" which require a "test/integration/cloud-config-aws.ini" config file (see "/root/ansible/test/lib/ansible_test/config/cloud-config-aws.ini.template"): ansible-test-cloud-aws
WARNING: Excluding tests marked "cloud/azure" which require a "test/integration/cloud-config-azure.ini" config file (see "/root/ansible/test/lib/ansible_test/config/cloud-config-azure.ini.template"): ansible-test-cloud-azure
------------------ansible:Build & Integration_Test Passed Successfully---------------------
ansible  |  https://github.com/ansible/ansible.git | v2.20.2 | GitHub | Passed | Build_&_Test_Successfull


**Omit**

TASK [setup_test_user : run whoami as the test user] ***************************
task path: /root/ansible/test/results/.tmp/integration/omit-qwqmmas3-ÅÑŚÌβŁÈ/test/integration/targets/setup_test_user/tasks/main.yml:33
Using module file /root/ansible/lib/ansible/modules/command.py
Pipelining is enabled.
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'sudo -H -S -p "[sudo via ansible, key=whpnczltkpjpjrpkovgauamdzeqcxecy] password:" -u ansibletest0 /bin/sh -c '"'"'echo BECOME-SUCCESS-whpnczltkpjpjrpkovgauamdzeqcxecy ; /root/ansible/.venv/bin/python'"'"' && sleep 0'
[ERROR]: Task failed: Premature end of stream waiting for become success or become password prompt.
>>> Standard Error
sudo: via: command not found
Origin: /root/ansible/test/results/.tmp/integration/omit-qwqmmas3-ÅÑŚÌβŁÈ/test/integration/targets/setup_test_user/tasks/main.yml:33:3

31   when: test_user_allow_sudo != False
32
33 - name: run whoami as the test user
     ^ column 3

fatal: [testhost]: FAILED! => {
    "changed": false,
    "msg": "Task failed: Premature end of stream waiting for become success or become password prompt.\n>>> Standard Error\nsudo: via: command not found"
}
NOTIFIED HANDLER setup_test_user : delete test user for testhost

RUNNING HANDLER [setup_test_user : delete test user] ***************************
task path: /root/ansible/test/results/.tmp/integration/omit-qwqmmas3-ÅÑŚÌβŁÈ/test/integration/targets/setup_test_user/handlers/main.yml:1
Using module file /root/ansible/lib/ansible/modules/user.py
Pipelining is enabled.
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c '/root/ansible/.venv/bin/python && sleep 0'
changed: [testhost] => (item=ansibletest0) => {
    "ansible_loop_var": "item",
    "changed": true,
    "force": true,
    "invocation": {
        "module_args": {
            "append": false,
            "authorization": null,
            "comment": null,
            "create_home": true,
            "expires": null,
            "force": true,
            "generate_ssh_key": null,
            "group": null,
            "groups": null,
            "hidden": null,
            "home": null,
            "local": null,
            "login_class": null,
            "move_home": false,
            "name": "ansibletest0",
            "non_unique": false,
            "password": null,
            "password_expire_account_disable": null,
            "password_expire_max": null,
            "password_expire_min": null,
            "password_expire_warn": null,
            "password_lock": null,
            "profile": null,
            "remove": true,
            "role": null,
            "seuser": null,
            "shell": null,
            "skeleton": null,
            "ssh_key_bits": 0,
            "ssh_key_comment": "ansible-generated on ibm-p9z-15-lp11.khw.eng.rdu2.dc.redhat.com",
            "ssh_key_file": null,
            "ssh_key_passphrase": null,
            "ssh_key_type": "rsa",
            "state": "absent",
            "system": false,
            "uid": null,
            "uid_max": null,
            "uid_min": null,
            "umask": null,
            "update_password": "always"
        }
    },
    "item": "ansibletest0",
    "name": "ansibletest0",
    "remove": true,
    "state": "absent"
}

PLAY RECAP *********************************************************************
testhost                   : ok=8    changed=2    unreachable=0    failed=1    skipped=2    rescued=0    ignored=0

NOTICE: To resume at this test target, use the option: --start-at omit
NOTICE: To resume after this test target, use the option: --start-at order
FATAL: Command "./runme.sh -vvv" returned exit status 2.