“错误读取包装标题”当使用Ansible百胜安装模块

问题描述:

我有一个ansible脚本看起来像这样,它工作正常昨天 -“错误读取包装标题”当使用Ansible百胜安装模块

- name: Dockerfile 
    hosts: localhost 
    connection: local 
    tasks: 
    - name: Install repositories packages 
     yum: 
     name: "{{ item }}" 
     state: present 
     with_items: 
     - https://centos7.iuscommunity.org/ius-release.rpm 
     - http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/CentOS/glusterfs-epel.repo 

但是今天早上,当我跑了,我得到了下面的错误 -

failed: [localhost] (item=[u'https://centos7.iuscommunity.org/ius-release.rpm', u'http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/CentOS/glusterfs-epel.repo']) => {"failed": true, "invocation": {"module_name": "yum"}, "item": ["https://centos7.iuscommunity.org/ius-release.rpm", "http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/CentOS/glusterfs-epel.repo"], "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_mdVzzz/ansible_module_yum.py\", line 1064, in <module>\n main()\n File \"/tmp/ansible_mdVzzz/ansible_module_yum.py\", line 1053, in main\n disablerepo, disable_gpg_check, exclude, repoquery)\n File \"/tmp/ansible_mdVzzz/ansible_module_yum.py\", line 969, in ensure\n res = install(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos)\n File \"/tmp/ansible_mdVzzz/ansible_module_yum.py\", line 595, in install\n pkg_name = local_name(module, package)\n File \"/tmp/ansible_mdVzzz/ansible_module_yum.py\", line 492, in local_name\n header = ts.hdrFromFdno(fd)\n File \"/usr/lib64/python2.7/site-packages/rpm/transaction.py\", line 160, in hdrFromFdno\n raise rpm.error(\"error reading package header\")\n_rpm.error: error reading package header\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false} 

实际的错误说明是

raise rpm.error(\"error reading package header\")\n_rpm.error: error reading package header\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false} 

难道我BR什么东西?或者这对于gluster RPM来说更是一个问题?

你试试这个:

 - name: Install repositories packages 
     yum: 
     name: "{{ item }}" 
     state: present 
     with_items: 
     - https://centos7.iuscommunity.org/ius-release.rpm 

    - name: Install the gluster repo 
     get_url: 
     url: "http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/CentOS/glusterfs-epel.repo" 
     dest: "/etc/yum.repos.d/glusterfs-epel.repo" 
     mode: 0644 
+0

这工作。我必须删除空的'baseurl'参数,否则它似乎工作得很好。 –

+0

我正在测试一些东西,并忘记删除,我已经更新了答案。 –