puppet获取节点ip并使用它

时间:2017-06-29 11:58:53

标签: ip puppet

我的节点有几个ip地址。我需要在模板中仅使用192.168。。 示例:服务器具有ip 192.168.156.68和10.248.41.70。 在我的清单中,我写了类似的东西:

if $::ipaddress =~ /^192\.168\.\d{1,3}\.\d{1,3}/ {
  notice("ok")
}
else {
  warning("don't know what to do with IP address $::ipaddress")
}  

并在模板中: ListenAddress <%= @ipaddress %>

结果,在节点conf文件中我得到: ListenAddress 10.248.41.70

但我必须得到 ListenAddress 192.168.156.68

任何人都可以解释我该怎么做吗?

1 个答案:

答案 0 :(得分:0)

我认为你应该使用temp变量:validIp

   if $::ipaddress =~ /^192\.168\.\d{1,3}\.\d{1,3}/ {
      notice("ok")
      $validIp= $::ipaddress
    }
    else {
      warning("don't know what to do with IP address $::ipaddress")
      $validIp= 'undefined'
    }  

在模板中:

ListenAddress <%= @validIp %>

或者你可以在模板中检查ip。