繁体   English   中英

在人偶中使用事实事实

[英]Use facter facts in puppet

我是p的新手,并计划在我们的环境中实施它。

我有在不同版本的Redhat上运行的人偶代理。

现在,我计划从人偶主文件中推送回购文件,并且需要您的指导以实现相同的目的。

我有以下清单。

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"
  }
}

我想利用以上输出并相应地执行清单。 也就是说,如果人偶代理在Redhat 7.1上执行,则人偶主服务器将使用相应的文件。

您可以通过使用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

它适用于最新版本,但也包含旧版人偶/因素信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM