2017-01-16 250 views
2

我一直在想幾個小時如何解決木偶4問題。如何正確使用導出的資源與木偶

這裏是我的情況:

我有一個模塊 「卡桑德拉」,我有3臺機器

  • Cluster1中(主機名:CassandraCluster1
  • Cluster2中(主機名:CassandraCluster1
  • Cluster3(主機名:CassandraCluster1

我想收集三個集羣的主機名中的陣列,所以可將它們傳遞到卡桑德拉配置文件(我使用作爲模板EPP其中):

cassandra.yaml。 EPP

- seeds: "<%= $cluster::hostnames %>

因此,解決辦法是導出的資源,我想出了:)

我一直在玩整天,但不知道如何彌補這項工作。這裏是我已經試過:

我添加此代碼每個羣集上收集主機名:

@@file {"${hostname}": 
     content => 'epp(puppet://modules/cassandra/cassandra.yaml.epp)', 
} 
    # Collect: 
File <<| |>> 

但我不知道這是一個好主意?!

+0

是你正在嘗試做的:1。出口的卡桑德拉機的主機回PuppetDB 2。收集主機3.將主機分配給變量4.在模板中使用變量? –

+0

你好,這正是我想要做的! – user2841703

回答

1

我發現,我現在使用一個臨時的解決方案:

我有我添加到每個機作用的事實。我正在使用puppetdbquery模塊從puppetdb中刪除主機。

,然後在木偶的代碼,我用這個查詢找到與角色的節點連接

$hosts = query_nodes("role=apache")