Ansible:模块故障\ n请参阅stdout / stderr了解确切错误

时间:2020-03-10 21:18:41

标签: amazon-ec2 ansible jenkins-pipeline amazon-cloudwatch

我正在尝试使用ansible-playbook在EC2 Centos VM中安装AWS CloudWatch代理。它在沙箱中运行良好,但是当我在生产环境中运行时却失败了(与Jenkins管道集成)

这是我的任务片段:

char *malloc()

直到“下载安装程序”运行正常,我可以通过手动导航到目录找到rpm二进制文件。但是下一个任务安装代理失败。如果我也使用“ yum”模块而不是外壳,它将失败。

错误提示:

      - 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

但是,如果ssh确实存在问题,那么在上一个任务中如何成功下载安装程序。

可能是什么问题?

先谢谢了。

3 个答案:

答案 0 :(得分:1)

问题是用户没有sudoers权限来安装二进制文件,而使用yum来安装二进制文件“ /tmp/aws-cw-agent/amazon-cloudwatch-agent.rpm”。通过调试消息,我发现了错误。

答案 1 :(得分:0)

我会再试一次,但是请使用yum模块。 像这样的东西。

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

答案 2 :(得分:0)

您好,只是作为提供信息,我通过了同样的错误,最后我发现问题是因为在 /etc/sudoers 文件中,用户被配置为 user ALL-NOPASSWD:/bin/su