我已经尝试了两个不同的模块,但是我总是得到状态返回:“ok”,而不是预期的“changed”。检查服务器还表明未进行任何更改,并且repo仍处于活动状态:

- 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"

我宁愿使用模块而不是文件行。我想如果真的没有其他方法,我更喜欢shellyum-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 repolist all的输出:
[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

最佳答案

感谢您提供额外的信息,以便我可以正确测试。查看yum_repository module docfile参数,该参数说明:
不带.repo扩展名的文件名以保存repo。默认为name的值。
在您的情况下,保存存储库的文件名与repo的uid(在ansible上下文中也称为name)不同。您需要按要求提供文件参数才能完成任务:

    - 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码头集装箱。
在文档页面的底部还有其他几个有用的示例。
注意:与disable_repo module一起使用yum只会暂时禁用单个yum操作的特定repo,而不会将其从配置中完全删除。来自文档:
这些回购协议不会持续到交易结束后。

关于linux - Ansible禁用存储库无法按预期运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56423862/

10-16 06:11