我已经用两个不同的模块尝试过此操作,但是总是返回状态:“确定”,而不是预期的“已更改”。检查服务器还显示未进行任何更改,并且回购仍处于活动状态:
- 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
答案 0 :(得分:2)
感谢您提供额外的信息,以便我可以正确进行测试。看一下yum_repository
module doc和file
参数,它们指出:
文件名不带.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_repo
与yum
module一起使用只会暂时禁用单个yum操作的特定存储库,而不会从配置中完全删除它。从文档中:
这些回购将不会在交易之后持续存在。