我知道在 Puppet 中使用程序步骤通常不受欢迎,但由于我们使用它来部署 Veritas 管理的集群应用程序,因此在调用 rpm 安装之前必须执行一组特定的步骤。
目前,我们手动冻结 Veritas 集群,使其不会尝试对应用程序进行故障转移,运行 Puppet,它会安装 RPM(必要时关闭应用程序),并指示 Puppet 不要启动应用程序。然后我们手动启动应用程序并解冻 Veritas。最后,我们验证状态。
我想自动化那些 Veritas 步骤,这样我们只需要运行 Puppet。这些步骤仅在我们的生产环境中完成。对于所有其他人,我们只需要调用 RPM 安装。更复杂的是,如果没有任何变化,我不想执行任何这些步骤。
做这样的事情的首选方法是什么?我正在阅读有关Run Stages的信息,但似乎需要对我现有的代码进行重大重构。
想知道是否有人可以给我一些关于如何处理这个问题的想法。
根据您对问题的描述,您需要使用计划或将所有内容放入 exec 或脚本中,以便您可以指定事情的顺序。Puppet 清单,因为它们不具备处理您的用例的能力。
一个例子是: