代码之家  ›  专栏  ›  技术社区  ›  BlackStar

Ansible从rpm软件包安装yum-repo[关闭]

  •  2
  • BlackStar  · 技术社区  · 6 年前

    我正在尝试使用Ansible安装rpm包。然而,我不知道如何正确地做。我希望有人能帮我解决这个问题。

    这就是我目前所做的:

    1.使用yum_存储库模块(尝试1)

        - name: "Setting up percona repository"
          yum_repository:
            name: "Percona"
            description: "Percona yum repository"
            baseurl: "http://www.percona.com/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm"
    
        - name: "Installing PMM client package"
          yum: pkg={{item}} state=installed
          with_items:
          - pmm-client
    

    后果

        TASK [pmmhosts : Setting up percona repository] **********************************************************************
        changed: [server1]
        changed: [server2]
    
        TASK [pmmhosts : Installing PMM client package] **********************************************************************
        failed: [server1] (item=[u'pmm-client']) => {"changed": false, "item": ["pmm-client"], "msg": "Failure talking to yum: failure: repodata/repomd.xml from Percona: [Errno 256] No more mirrors to try.
        http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for Percona: Damaged repomd.xml file"}
        failed: [server2] (item=[u'pmm-client']) => {"changed": false, "item": ["pmm-client"], "msg": "Failure talking to yum: failure: repodata/repomd.xml from Percona: [Errno 256] No more mirrors to try.
        http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for Percona: Damaged repomd.xml file"}
    

    2、使用yum\u存储库模块(Try 2)

        - name: "Setting up percona repository"
          yum_repository:
            name: "Percona"
            description: "Percona yum repository"
            baseurl: "http://www.percona.com/downloads/percona-release/redhat/latest/"
    
        - name: "Installing PMM client package"
          yum: pkg={{item}} state=installed
          with_items:
          - pmm-client
    

    后果

    任务[pmmhosts:设置percona存储库]**********************************************************************
    已更改:[服务器1]
    已更改:[服务器2]
    
    任务[pmmhosts:安装PMM客户端包]**********************************************************************
    失败:[服务器1](项目=[u'pmm-client])=>{“changed”:false,“item”:[“pmm client”],“msg”:“与yum对话失败:失败:来自Percona的repodata/repomd.xml:[Errno 256]没有更多镜像可供尝试。
    http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm/repodata/repomd.xml:[错误号-1]导入repomd时出错。Percona的xml:损坏的repomd。xml文件“}
    失败:[服务器2](项目=[u'pmm-client])=>{“changed”:false,“item”:[“pmm client”],“msg”:“与yum对话失败:失败:来自Percona的repodata/repomd.xml:[Errno 256]没有更多镜像可供尝试。
    http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm/repodata/repomd.xml:[错误号-1]导入repomd时出错。Percona的xml:损坏的repomd。xml文件“}
    

    3、使用shell模块(试用1)

        - name: "Setting up percona repository"
          shell: "yum install -y http://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm"
    
        - name: "Installing PMM client package"
          yum: pkg={{item}} state=installed
          with_items:
          - pmm-client
    

    结果(运行1)

        TASK [pmmhosts : Setting up percona repository] **********************************************************************
        changed: [server1]
        changed: [server2]
        TASK [pmmhosts : Installing PMM client package] **********************************************************************
        changed: [server1] => (item=[u'pmm-client'])
        changed: [server2] => (item=[u'pmm-client'])
    

    结果(运行2)

        TASK [pmmhosts : Setting up percona repository] **********************************************************************
        fatal: [server1]: FAILED! => {"changed": true, "cmd": "yum install -y http://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm", "delta": "0:00:01.363009", "end": "2018-02-28 16:31:23.728102", "msg": "non-zero return code", "rc": 1, "start": "2018-02-28 16:31:22.365093", "stderr": "Error: Nothing to do", "stderr_lines": ["Error: Nothing to do"], "stdout": "Loaded plugins: fastestmirror
        Examining /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: percona-release-0.1-4.noarch
        /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: does not update installed package.", "stdout_lines": ["Loaded plugins: fastestmirror", "Examining /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: percona-release-0.1-4.noarch", "/var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: does not update installed package."]}
        fatal: [server2]: FAILED! => {"changed": true, "cmd": "yum install -y http://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm", "delta": "0:00:01.363009", "end": "2018-02-28 16:31:23.728102", "msg": "non-zero return code", "rc": 1, "start": "2018-02-28 16:31:22.365093", "stderr": "Error: Nothing to do", "stderr_lines": ["Error: Nothing to do"], "stdout": "Loaded plugins: fastestmirror
        Examining /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: percona-release-0.1-4.noarch
        /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: does not update installed package.", "stdout_lines": ["Loaded plugins: fastestmirror", "Examining /var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: percona-release-0.1-4.noarch", "/var/tmp/yum-root-5raeIL/percona-release-0.1-4.noarch.rpm: does not update installed package."]}
    

    结论:

    到目前为止,我正在使用yum\u存储库模块成功安装存储库。但是,我无法从此存储库获取任何软件包,因此无法再执行“yum安装”。 另一方面,使用shell模块,我能够第一次安装存储库,然后安装包正常运行。但是,由于已安装的存储库出错,我无法再次复制该状态。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yeroc    6 年前

    我会修改您第三次尝试使用 yum 安装Percona rpm的模块,该模块设置存储库并安装所需的GPG密钥,该密钥将以等幂方式工作:

    - name: "Setting up percona repository"
      yum:
        name: "http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm"
        state: present
    
    - name: Installing PMM client package...
    ....