Ошибка Ansible Playbook в Jenkins

Я написал простую инструкцию по установке httpd. Вот моя инструкция:

    ---
    - name: install httpd
      hosts: localhost
      become: root
      vars:
       inputvariable: "{{lookup('file','/home/ec2-user/inputfile.json')}}"
     tasks:
       - yum:
          name:  "{{item.packagename}}"
          state: "{{item.state}}"
        with_items: '{{ inputvariable.resources}}'

Вот мой входной файл:

    {
     "resources":[
     {
      "packagename": "httpd",
      "state": "present"
     }
   ]
 }

Проблема в том, что когда я запускаю playbook со следующей командой с консоли, она выполняется успешно.

     ansible-playbook -vvv -C -e "ansible_python_interpreter=/usr/bin/python" apacheplaybook.yml

Но при выполнении в Jenkins отображается следующая ошибка:

"msg": "для этого модуля необходимы привязки python2 для rpm. Для этого модуля необходим модуль python2 yum"}

Вот как я запускаю проект jenkins:  введите описание изображения здесь

Я использую Jenkins в качестве пользователя ec2, и я сменил владельца /var/lib/jenkins & /var/log/jenkins & /var/cache/jenkins на пользователя ec2 и группу wheel. Проблема с Jenkins, поскольку с консоли он успешно выполняется с этой командой.


person vishal    schedule 17.04.2018    source источник
comment
вы также запускаете playbook с плагином jenkins ansible. попробуйте удалить этот плагин и запустить playbook для оболочки executer   -  person Arbab Nazar    schedule 17.04.2018
comment
@ArbabNazar Ну, это с треском провалилось, поскольку Дженкинс не смог найти сам playbook даже после упоминания пути playbook в команде ansible-playbook. До этого он успешно получил playbook и назначил ввод из файла i / p, прежде чем отображать ошибку модуля python.   -  person vishal    schedule 18.04.2018
comment
может быть, вы можете добавить cd ${WORKSPACE}/ над командой ansible-playbook, чтобы она могла найти playbook.   -  person Arbab Nazar    schedule 18.04.2018


Ответы (1)


Возможно ли, что у jenkins нет доступа к привязкам python2, потому что он имеет python3 по умолчанию, поэтому задача yum не может выполняться.

если вы перешли на:

- name: install httpd
  package: pkg={{item}} state=installed
  with_items:
    - packagenamehere

Возможно, у вас есть доступ на cli к python2, но не к jenkins (я предполагаю, что вы выполняете cli на том же сервере, что и jenkins)

person krystan honour    schedule 21.05.2018