When running the Andible script in Gitlab’s CI/CD, I get the following message:
fatal: [local-test]: UNREACHABLE! => {
"changed": false,
"msg": "(25, 'Not a tty')",
"unreachable": true
}
gitlab-ci.yml:
test:
stage: test
#needs: ["build"]
before_script:
- apk add --update git openssh ansible && rm -rf /var/cache/apk/*
- git clone http://oauth2:$CLONE_TOKEN@xx.xx.xx.xx:xx/xx/xxx/qa/playbook.git
script:
- ls
- echo $VERSION
- docker images
- ansible-playbook -vvvv -i playbook/automatic-tests/inventory.yml playbook/automatic-tests/start.yml
Full log:
$ ansible-playbook -vvvv -i playbook/automatic-tests/inventory.yml playbook/automatic-tests/start.yml
ansible-playbook [core 2.13.6]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.10/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible-playbook
python version = 3.10.10 (main, Feb 9 2023, 02:08:14) [GCC 12.2.1 20220924]
jinja version = 3.1.2
libyaml = True
No config file found; using defaults
setting up inventory plugins
host_list declined parsing /builds/xxx/xxx/qa/cicd-test/backend/playbook/automatic-tests/inventory.yml as it did not pass its verify_file() method
script declined parsing /builds/xxx/xxxx/qa/cicd-test/backend/playbook/automatic-tests/inventory.yml as it did not pass its verify_file() method
Parsed /builds/xxxx/xxxxx/qa/cicd-test/backend/playbook/automatic-tests/inventory.yml inventory source with yaml plugin
redirecting (type: modules) ansible.builtin.docker_network to community.docker.docker_network
Loading collection community.docker from /usr/lib/python3.10/site-packages/ansible_collections/community/docker
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_host_info to community.docker.docker_host_info
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python3.10/site-packages/ansible/plugins/callback/default.py
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
PLAYBOOK: start.yml ************************************************************
Positional arguments: playbook/automatic-tests/start.yml
verbosity: 4
connection: smart
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('/builds/xxxxxxx/xxxxx/qa/cicd-test/backend/playbook/automatic-tests/inventory.yml',)
forks: 5
1 plays in playbook/automatic-tests/start.yml
PLAY [Create base virtual network] *********************************************
TASK [Gathering Facts] *********************************************************
task path: /builds/xxxxx/xxxxxx/qa/cicd-test/backend/playbook/automatic-tests/start.yml:1
<xx.xx.xx.xx> ESTABLISH PARAMIKO SSH CONNECTION FOR USER: root on PORT 22 TO xx.xxx.xxx.xx
<xx.xxx.xx.xx> CONNECTION: pid 68 waiting for lock on 5
<xx.xx.xx.xx> CONNECTION: pid 68 acquired lock on 5
fatal: [local-test]: UNREACHABLE! => {
"changed": false,
"msg": "(25, 'Not a tty')",
"unreachable": true
}
PLAY RECAP *********************************************************************
local-test : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
ERROR: Job failed: exit code 4
How to run Ansible properly in Gitlab pipeline?
I need to run ansible playbook in CI/CD Gitlab