我正在使用 Chef 11.10 部署服务器;操作系统是 Amazon Linux AMI 2016.03(我们使用 EC2/OpsWorks),它使用 Upstart。
在我们的配方中,我们触发了服务器的启动,因为我们需要它运行以发出一些配置命令。不幸的是,如果服务器已经在运行,这将失败,因为在这种情况下sudo start <job>
返回1
而不是0
(即它不是幂等的)。
看起来 Chef 没有处理这种情况,或者没有检查服务器是否已经在运行。
解决此问题的简单方法是什么?
我正在使用 Chef 11.10 部署服务器;操作系统是 Amazon Linux AMI 2016.03(我们使用 EC2/OpsWorks),它使用 Upstart。
在我们的配方中,我们触发了服务器的启动,因为我们需要它运行以发出一些配置命令。不幸的是,如果服务器已经在运行,这将失败,因为在这种情况下sudo start <job>
返回1
而不是0
(即它不是幂等的)。
看起来 Chef 没有处理这种情况,或者没有检查服务器是否已经在运行。
解决此问题的简单方法是什么?