assertion - 在 Puppet 中是否有可能 "assert"?

标签 assertion puppet

有没有办法断言 puppet 中的变量(或更具体地说,事实)具有特定值,如果没有则中止安装?

对于背景,情况如下:

在大多数情况下,我可以引用主机名,但有时我需要使用 IP 地址。例如,我们的日志收集器主机需要在防火墙中为几台特定机器(而不是整个子网)打开一个端口。我需要使用 IP 地址在防火墙中打开一个漏洞。由于机器的 IP 地址不会改变,我计划将 IP 地址编码为配置的一部分,但我想检查各个主机的实际 IP 地址是否与其配置中的 IP 地址匹配,如果失败它没有。那可能吗?

最佳答案

我相信这样的事情会奏效:

if $ipaddress != $expectedipaddress {
  fail("IP mismatch")
}

fail() function导致解析失败。将它包装在条件中应该得到 assert你想要的行为。

我还没有测试过这个特定的用法,但如果解析失败,则不会编译新目录,客户端也不会得到任何东西。

关于assertion - 在 Puppet 中是否有可能 "assert"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570957/

相关文章:

ruby - 使用 Ruby 将一个数组插入另一个数组,并返回方括号

JAVA - Selenium WebDriver - 断言和等待

javascript - 将 mocha+chai 与 co 一起使用

arrays - puppet 在循环中添加数组元素

linux - 从 bash 脚本内部调用时找不到命令

mysql - Puppet MySQL 禁用无密码的 root 用户登录

tomcat - Puppet:如何使用 Puppet list 配置 Tomcat 数据源?

java - 尽管列表相同,assertEquals 仍无法通过测试

react-router - 如何修复: TypeError: ReactWrapper::state ("<state>") 要求 `state` 不能是 `null` 或 `undefined`

docker - 如何使用 puppet 重新启动 docker 服务...?