繁体   English   中英

如何从人偶清单中调用人偶提供者方法?

[英]How to call a puppet provider method from puppet manifest?

我正在使用来自伪造伪造的ibm_installation_manager模块,这有点基础,因为IBM在做幂等的时候编写了Installation Manager。 参考: https : //forge.puppet.com/puppetlabs/ibm_installation_manager

因此,它不能很好地适应升级-因此该模块将不会检测是否需要升级,停止现有进程,进行升级然后再次启动进程。 它只会检测是否需要升级,然后尝试安装所需的版本,并且该版本是否构成了不错的升级,但是由于运行实例而可能会失败。

因此,我需要实现一些“停止过程”升级前功能。

在这一点上,我需要提一下,我是红宝石的新手,也是木偶的新手。

模块使用的提供程序(imcl.rb)有一个exist方法。 对于我来说,检测升级是否将要发生(并停止实例)的理想方法是使我的木偶清单能够以某种方式调用exist方法。 这可能吗?

或者您将如何解决这个问题? 类似于imcl.exists(ibm_pkg [“ my_imcl_pkg_resource”])

对于我来说,检测升级是否将要发生(并停止实例)的理想方法是使我的木偶清单能够以某种方式调用exist方法。 这可能吗?

不,这是不可能的,至少没有任何有用的方式。 您的清单描述了如何建立描述机器目标状态的资源目录 在主服务器/代理设置中,这发生在主服务器上。 然后,目录用作单独步骤的输入,在此步骤中,目录被传输到目标计算机并在那里应用 在第二步中,提供商参与其中。

如果您希望目录的内容受目标计算机的当前状态影响,那么Puppet机制就是以事实的形式将所需的状态详细信息传达给目录构建器。 添加您自己的事实相对简单。 实际上,至少有两种截然不同的非排他性机制 ,分别以“外部事实”和“习惯事实”为名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM