Ansible: MODULE FAILURE \ nСмотрите stdout / stderr для точной ошибки - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь установить AWS Агент CloudWatch в EC2 Centos VM, используя ansible -playbook. Он хорошо работал в песочнице, но когда я запустил его в Production, он не работает (интегрирован с конвейером Jenkins)

Вот мой фрагмент задачи:

      - name: setup temp directory for install
        file:
          path: /tmp/aws-cw-agent
          state: directory

      - name: download installer
        get_url:
          url: "{{ aws_cw_agent_url }}"
          dest: /tmp/aws-cw-agent/amazon-cloudwatch-agent.rpm

      - name: install agent
        become: true
        shell: rpm -U /tmp/aws-cw-agent/amazon-cloudwatch-agent.rpm

До «загрузки установщика» он работает нормально и я мог найти двоичный файл rpm, вручную перейдя в каталог. Но следующая задача установки агента не удается. Вместо оболочки, если я использую также модуль "yum", он выходит из строя.

Ошибка говорит:

17:16:07 task path: /home/jenkins/workspace/groupesiph-dsir/03227/03227_Cloudwatch_Agent_deploy_hprod/playbook/deployment/roles/aws_cw_agent/tasks/main.yml:22

>17:16:07 Tuesday 10 March 2020  17:16:07 +0100 (0:00:00.098)       0:00:05.352 ********* 
17:16:08 Using module file /usr/lib/python3.6/site-packages/ansible/modules/commands/command.py
17:16:08 Pipelining is enabled.
17:16:08 <10.45.1.136> ESTABLISH SSH CONNECTION FOR USER: ansible

>17:16:08 <10.45.1.136> SSH: EXEC sshpass -d10 ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'User="ansible"' -o ConnectTimeout=10 -o ServerAliveInterval=60 -o ServerAliveCountMax=10 -o ControlPath=/home/jenkins/.ansible/cp/84b84369b7 10.45.1.136 '/bin/sh -c '"'"'sudo -H -S -n  -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-syqwibhfpdecwpfqddhe ; /usr/bin/python'"'"'"'' && sleep 0'"'"''

>17:16:08 Escalation succeeded
17:16:08 <10.45.1.136> (1, b'', b'')
17:16:08 <10.45.1.136> Failed to connect to the host via ssh: 
17:16:08 fatal: [prod05]: FAILED! => {
17:16:08     "changed": false,
17:16:08     "module_stderr": "",
17:16:08     "module_stdout": "",
17:16:08     "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
17:16:08     "rc": 1
17:16:08 

Но если это реальная проблема с s sh, то как в предыдущей задаче успешно выполняется загрузка установщика.

В чем может быть проблема?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Проблема была в том, что у пользователя не было доступа sudoers для установки бинарного файла, который использовал yum для установки "/tmp/aws-cw-agent/amazon-cloudwatch-agent.rpm". С помощью сообщения отладки я обнаружил ошибку.

0 голосов
/ 11 марта 2020

Я бы попробовал еще раз, но вместо этого использовал бы модуль yum ... что-то вроде этого.

- name: install nginx rpm from a local file
  yum:
   name: /tmp/aws-cw-agent/amazon-cloudwatch-agent.rpm
  state: present
  become: yes
...