Назад | Перейти на главную страницу

Как условно включить управляемое репо с помощью puppet-yum?

В марионетка документация очень проста и объясняет, как добавить собственное управляемое репо с помощью данных hiera. Однако, в дополнение к нашему репозиторию «релиз», я хочу условно добавить репозиторий «build» на серверы в нашей «тестовой» среде.

В марионеточном классе (вероятно, init), как я могу (условно) переключить 'enable' на вложенное значение в common.yaml?

yum::managed_repos:
    - 'project_build'
yum::repos:
    project_build:
        descr: 'project build repo'
        ensure: 'absent' <----this needs to be 'present' in the test env
        enabled: true
        baseurl: 'https://repo.example.corp/project/el/$releasever/build/$basearch/'
        gpgcheck: false

Насколько я понимаю из документации, вы должны пойти дальше и определить репо с гарантированным набором в настоящее время. Но опустите его из yum::managed_repos ключ в common.yaml.

Сам по себе параметр репозитория ничего не делает. Имена ресурсов из хеша должны быть выбраны через managed_repos параметр.

Затем вы должны создать новую иерархию в Hiera на основе $::environment Факт. В этом каталоге test.yaml файл будет иметь ожидаемый:

yum::managed_repos:
    - 'project_build'

Посмотрите на пример здесь, где у них есть уровень Hiera для $::trusted.certname. Вы можете использовать это как образец для того, что хотите делать с $::environment.

https://github.com/voxpupuli/puppet-yum/blob/master/README.md#enable-managemnt-of-multiple-repos