【问题标题】:how to deal with percona keyserver with ansible如何用 ansible 处理 percona keyserver
【发布时间】:2015-05-10 13:53:32
【问题描述】:

我一直在尝试在 ansible 中创建一个 percona 角色,但失败了。我不会真的说失败,但它没有按计划工作。下面是角色的sn-p


- name: Setting up percona server apt-key
  apt_key: 
    id=1C4CBDCDCD2EFD2A
    keyserver=keys.gnupg.net
    state=present

运行后,我遇到了以下错误:

failed: [192.168.56.107] => {"cmd": "apt-key adv --keyserver keys.gnupg.net --recv 1C4CBDCDCD2EFD2A", "failed": true, "rc": 2}
stderr: gpg: requesting key CD2EFD2A from hkp server keys.gnupg.net
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

如您所见,ansible 执行以下命令:apt-key adv --keyserver keys.gnupg.net --recv 1C4CBDCDCD2EFD2A,同时实际工作的命令,测试和推荐来自 percona repository pageapt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A。命令有区别,前者只是--recv,后者是--recv-keys。我不知道如何使 ansible 运行此命令,也可以使用 ansible 命令模块本身。

在 percona 下载页面上也有这个 url 到 repo key,它可以在 apt_key 模块中使用,而不是 keyserver。

我有兴趣知道的是是否可以使用 --recv-keys 让 ansible 运行实际的 apt_key 命令

【问题讨论】:

    标签: ansible apt percona


    【解决方案1】:

    以下命令应该适合您:

    - apt_key: url=http://www.percona.com/redir/downloads/RPM-GPG-KEY-percona
               state=present
    

    【讨论】:

    • Url 是我首先尝试的选项,但该命令是我最终使用的,因为它使用起来更自然
    • @blacksensei 您没有提到您在原始问题中使用了 url 参数。此外,当本机模块可用时,使用“命令”模块通常是一种反模式。最后,当您运行命令时,您的命令将始终显示“已更改”状态,其中 apt_key 模块将根据是否已完成显示正确的更改/正常结果。
    • 很抱歉有误会。在我的帖子中,我尝试用这些来表达:“在 percona 下载页面上也找到了这个指向 repo 密钥的 url,它可以在 apt_key 模块而不是 keyserver 中使用。”。现在命令作为一种反模式对我来说真的很新。我会做更多的搜索,如果是这样,请接受你的答案。
    【解决方案2】:

    apt_key 模块的source code 显示它使用--recv 构建命令行,但没有提及--recv-keys,因此看起来您不能以您想要的方式使用此模块。我建议 Ansible 团队 filing a feature request 要求他们支持这个标志。

    与此同时,您应该能够通过命令模块手动调用 apt-key。该命令实际上与调试输出显示的相同:

     - name: call apt_key manually
       command: apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      • 1970-01-01
      相关资源
      最近更新 更多