Puppet填充模板,其中包含新生成的实例的IP地址

时间:2014-11-28 06:23:08

标签: python wso2 puppet wso2as

我正在设置一个简单的WSO2 Application Server集群,其中包含一个主节点和一个工作节点。这是通过python NovaClient API在OpenStack云中生成实例来完成的。

产生实例后,我需要获取其IP地址并使用它们来填充我的模板值。但是要复制模板值,实例必须启动并运行。

我使用xml配置文件成功完成了这项操作,其中包含挂起和恢复实例的组合。 xml文件包含填充puppet模板所需的所有变量值。

现在我必须在没有xml配置和仅使用puppet配置文件的情况下尝试它。 我的配置信息应该在puppet文件中。

我在/ etc / puppet / modules /

中有一个名为appserver的模块

我的方法应该是什么?

我应该将我的群集配置保留在nodes.pp文件本身吗? 如果是,如何将配置导入site.pp?

或者我应该将配置信息保存在/ modules / appserver / manifests位置的params.pp文件中?

请善意指导这种情况。

/ etc / puppet / manifests中的当前site.pp文件

import 'appserver'
node 'appserver-mgr' {
    include appserver::config_mgr
}

node 'appserver-wkr' {
    include appserver::config_wkr
}

在/ etc / puppet / modules / appserver / manifests /我有两个配置文件 config_mgr.pp config_wkr.pp

我没有使用过init.pp。

谢谢, Suhan

1 个答案:

答案 0 :(得分:1)

考虑木偶模板。

该设置应位于config_mgr.ppconfig_wkr.ppcontent => template("PATH/some.xml.erb")

在erb文件中,输入<%= @ipaddress %>以获取IP地址。

参阅: https://docs.puppetlabs.com/guides/templating.html