在木偶中使用事实
Use facter facts in puppet
我是 Puppet 的新手,正计划在我们的环境中实施它。
我有在不同版本的 Redhat 上 运行 的傀儡代理。
现在,我正计划从 puppet master 推送 repo 文件,我需要你的指导来实现它。
我有以下清单。
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel7.1',
}
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel6.7',
}
当我执行 Facter CLI 时,我得到以下输出。
[root@dheera ~]# facter os
{
architecture => "x86_64",
family => "RedHat",
hardware => "x86_64",
name => "RedHat",
release => {
full => "7.2",
major => "7",
minor => "2"
}
}
我想利用上面的输出并相应地执行我的清单。也就是说,如果puppet agent是在Redhat 7.1上执行,那么Puppet master就使用对应的文件。
您可以通过在 source
属性中使用 Facter 变量然后将其插入到字符串中来实现。请注意,您的 '
必须更改为 "
才能在字符串中插入变量。
因素 2/人偶 3:
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${::os['release']['full']}",
}
因素 3/人偶 4:
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${facts['os']['release']['full']}",
}
您可以在此处找到有用的文档:https://docs.puppet.com/puppet/4.8/reference/lang_facts_and_builtin_vars.html
它适用于最新版本,但也包含遗留 Puppet/Facter 信息。
我是 Puppet 的新手,正计划在我们的环境中实施它。
我有在不同版本的 Redhat 上 运行 的傀儡代理。
现在,我正计划从 puppet master 推送 repo 文件,我需要你的指导来实现它。
我有以下清单。
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel7.1',
}
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel6.7',
}
当我执行 Facter CLI 时,我得到以下输出。
[root@dheera ~]# facter os
{
architecture => "x86_64",
family => "RedHat",
hardware => "x86_64",
name => "RedHat",
release => {
full => "7.2",
major => "7",
minor => "2"
}
}
我想利用上面的输出并相应地执行我的清单。也就是说,如果puppet agent是在Redhat 7.1上执行,那么Puppet master就使用对应的文件。
您可以通过在 source
属性中使用 Facter 变量然后将其插入到字符串中来实现。请注意,您的 '
必须更改为 "
才能在字符串中插入变量。
因素 2/人偶 3:
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${::os['release']['full']}",
}
因素 3/人偶 4:
file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${facts['os']['release']['full']}",
}
您可以在此处找到有用的文档:https://docs.puppet.com/puppet/4.8/reference/lang_facts_and_builtin_vars.html
它适用于最新版本,但也包含遗留 Puppet/Facter 信息。