如果文件存在于客户端机器上,则 Puppet 客户端设置变量

如果文件存在于客户端机器上,则 Puppet 客户端设置变量

这是新手的问题。我知道这与这里的其他人的问题类似,但我发现我无法将这些答案应用到我的情况中

我有 2 台刀片服务器和 2 台普通机架式服务器。Puppet 脚本在这 4 台服务器上运行。如果脚本在刀片服务器上运行,但在其他服务器上不运行,我想在 $sriov_device 中设置一个特定值。

两个刀片都有一个 /usr/local/blade 文件

在清单脚本中尝试类似这样的操作,但未设置 $sriov_device

file { "/usr/local/blade":
  ensure => present,
  replace => false,
}

whatever {"foo":
  $sriov_device = "eno2"
  require => File["/usr/local/blade"],
}

衷心感谢

-- 新手

答案1

这对我有用:

if ($type == 'Blade') { 
 $sriov_device = "eno2" 
} else {
 $sriov_device = "None" 
}

我试图使用if ($facts[Type] == "Blade",但我一直收到错误“事实不是哈希或数组”,因此我尝试了上述方法,它使用经典事实,仅使用事实名称$type

相关内容