作为平台设置编排的一部分,我们使用python包在云中的机器集群上安装各种软件包。
我们有以下情况:
我们的python包启动某些软件包(比如A,B,C)的安装,然后同时启动某些其他软件包(比如D,E,F)的安装。 (N.B:D,E,F是通过我们的厨师烹饪书,A,B,C是通过我们的python程序)
我们的问题是软件D(通过厨师食谱安装)取决于软件A.
由于D取决于A,因此D的cookbook在系统中找不到A并且失败。
我的想法是,如果我们可以依赖厨师食谱说只有在系统中找到A才能继续等待!
有可能吗?有没有上述问题的替代方案?
由于
答案 0 :(得分:0)
您可以考虑使用puppet。 Whit puppet你可以定义所需的resources(例如package
)并在资源之间定义relationships。
E.g puppet manifest:
package { ["A", "B", "C", "E", "F"]:
ensure => 'installed',
}
package { "D":
ensure => 'installed',
require => Package['A'],
}
更新:更新了示例木偶清单。
答案 1 :(得分:0)
我应用了以下步骤来解决我的问题
解决了我的问题..