old version ansible

# ansible playbook 이 jenkins job 에서 다음과 같은 에러가 발생했다.
Unsupported parameters for (dnf) module: sslverify Supported parameters include: 

# sslverify 는 ansible 2.13 에 추가되었다.
# 그런데 현재 사용하는 버전은 2.14 로 문제가 없어야 한다.
ansible --version
ansible [core 2.14.2]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ysoftman/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.11/site-packages/ansible
  ansible collection location = /home/ysoftman/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.11.2 (main, Oct  5 2023, 16:06:03) [GCC 8.5.0 20210514 (Red Hat 8.5.0-18)] (/usr/bin/python3.11)
  jinja version = 3.1.2
  libyaml = True

# 확인 결과 jenkins job 의 script 에서 아래와 같이 python 3.8 버전을 우선하게 설정이 되어 있었고
# python-3.8 /bin 에 ansible 바이너리가 있었다.
export PATH="/home/ysoftman/Python-3.8.17/bin:${PATH}"
export PYTHON_PATH="/home/ysoftman/Python-3.8.17"

# 그래서 Python-3.8.17/bin/ansible-playbook 2.9 버전을 사용하게 되는게 문제였다.
ansible-playbook --version
ansible-playbook 2.9.22
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ysoftman/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/ysoftman/Python-3.8.17/lib/python3.8/site-packages/ansible
  executable location = /home/ysoftman/Python-3.8.17/bin/ansible-playbook
  python version = 3.8.17 (default, Nov  2 2023, 17:16:07) [GCC 8.5.0 20210514 (Red Hat 8.5.0-18)]

# 정리
# 로컬에서는 최신 ansible 버전 기준으로 playbook을 작성했는데
# 배포시에는 python, ansible 을 고정된 버전으로 사용하고 있었음.

comments:

댓글 쓰기