Возможное отключение репо не работает должным образом - PullRequest
1 голос
/ 03 июня 2019

Я пробовал это с двумя разными модулями, однако мне всегда возвращался статус: «ОК», а не ожидаемое «Изменено».Проверка сервера также показывает, что никаких изменений не было сделано, и репо все еще активно:

- 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файл.Я полагаю, если на самом деле нет другого пути, я бы предпочел оболочку 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 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

1 Ответ

2 голосов
/ 03 июня 2019

Спасибо за предоставление дополнительной информации, чтобы я мог проверить правильно.Посмотрите на yum_repository module doc и параметр file, который гласит:

Имя файла без расширения .repo для сохранения репозитория. По умолчанию используетсязначение имени.

В вашем случае имя файла, содержащего ваш репозиторий, отличается от uid (иначе имя в ANSILE-контексте) вашего репозитория.Для выполнения задачи необходимо указать параметр файла:

    - 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 с модулем yum только временно отключит определенные репо для одной операции yum, но не удалит ееполностью из конфигурации.Из документации:

Эти репо не будут действовать после транзакции.

...