Ansible禁用存储库无法正常运行

时间:2019-06-03 08:44:19

标签: linux bash ansible redhat

我已经用两个不同的模块尝试过此操作,但是总是返回状态:“确定”,而不是预期的“已更改”。检查服务器还显示未进行任何更改,并且回购仍处于活动状态:

- hosts: rh_estate
  user: whatuser
  gather_facts: true
  become: true
  tasks:
    - name: Disable YUM Repo
      yum_repository:
        name: rhui-rhel-7-server-rhui-extras-debug-rpms
        state: absent
      when: ansible_facts['distribution'] == "RedHat"

以及Yum模块:

- name: Disable YUM Repo
  yum:
    disablerepo: rhui-rhel-7-server-rhui-extras-debug-rpms
  when: ansible_facts['distribution'] == "RedHat"

我宁愿使用模块而不是Line in file。我想如果实际上没有其他方法,我希望使用外壳yum-config-manager --disable rhui-rhel-7-server-rhui-extras-debug-rpms

回购声明:

/etc/yum.repos.d/rh-cloud.repo
[rhui-rhel-7-server-rhui-extras-debug-rpms]
name=Red Hat Enterprise Linux 7 Server - Extras from RHUI (Debug RPMs)
baseurl=https://rhui-1.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/$basearch/extras/debug
        https://rhui-2.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/$basearch/extras/debug
        https://rhui-3.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/$basearch/extras/debug
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify=1
sslclientcert=/etc/pki/rhui/product/content.crt
sslclientkey=/etc/pki/rhui/key.pem

yum的输出全部颠覆了

[root@server ~]# yum repolist all | grep 'repo id\|rhui-rhel-7-server-rhui-extras'
repo id                                                           status
rhui-rhel-7-server-rhui-extras-debug-rpms/x86_64                  enabled:    262
rhui-rhel-7-server-rhui-extras-rpms/x86_64                        enabled:  1,105
rhui-rhel-7-server-rhui-extras-source-rpms/x86_64                 enabled:    430

1 个答案:

答案 0 :(得分:2)

感谢您提供额外的信息,以便我可以正确进行测试。看一下yum_repository module docfile参数,它们指出:

  

文件名不带.repo扩展名以保存回购。默认为name的值。

在您的情况下,保存您的存储库的文件名与您的存储库的uid(在匿名上下文中又名)不同。您需要按要求提供文件参数以完成任务:

    - name: Disable YUM Repo
      yum_repository:
        name: rhui-rhel-7-server-rhui-extras-debug-rpms
        file: rh-cloud
        state: absent
      when: ansible_facts['distribution'] == "RedHat"

针对centos:7 docker容器进行了快速测试(无条件)。

在文档页面的底部,您还有其他一些有用的示例。

注意:将disable_repoyum module一起使用只会暂时禁用单个yum操作的特定存储库,而不会从配置中完全删除它。从文档中:

  

这些回购将不会在交易之后持续存在。