如何使用 puppet-yum 有条件地启用托管 repo?

如何使用 puppet-yum 有条件地启用托管 repo?

木偶百胜文档非常简单,并解释了如何通过 hiera 数据添加您自己的托管存储库。但是,除了我们的“发布”存储库之外,我还想有条件地将我们的“构建”存储库添加到我们的“测试”环境中的服务器中。

在 puppet 类(可能是 init)中,我如何(有条件地)在 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

答案1

根据我对文档的理解,您应该继续定义 repo,并将 Ensure 设置为 Present。但是,请从yum::managed_repos中的键中省略它common.yaml

就其本身而言,repos 参数不执行任何操作。必须通过参数选择来自哈希的资源名称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

相关内容