让puppet确保服务仅在不处于维护模式时运行

我有一个基本的服务检查我希望大部分时间都在运行的木偶清单

service{ $service_name :
    ensure => "running",
    enable => "true",
}

事情是有一段时间的维护我想确保木偶不会出现并试图重新启动它.

我正在考虑在指定的路径中创建一个文件“no_service_start”并执行“创建”检查,就像你可以使用exec的一个保护,但它看起来不像服务类型那样.

我的下一个想法是让实际的服务初始化脚本检查这个文件本身,如果该保护文件存在就会早死.

虽然这可以防止服务启动,但它在puppet中表现为一个大的红色错误(如预期的那样).鉴于服务未启动是一个理想的结果,如果该文件到位,我宁愿不会出现错误消息,并且必须花时间思考它是否“合法”.

是否应该实施更多的“傀儡”方式?

最佳答案 定义维护发生的事实.

然后根据该事实将服务定义放在if块中.

if !maintenance
{
    service{ $service_name :
       ensure => "running",
       enable => "true",
    }
}

然后当puppet编译目录时,如果维护== true,则不会管理服务并保持当前正好处于的任何状态.

点赞