2012-12-14 68 views
0

我想使用puppermaster和puppet代理將puppetlab/java模塊安裝到客戶機 - 服務器體系結構中。 服務器端我下載java模塊,並創建site.pp文件節點 我的節點內容puppetlab java模塊安裝問題

node 'test_java'{ 
    include activemq 
    include stdlib 
    include java 
} 

在最後的Java包括客戶端提供了錯誤執行以下命令。

puppet agent --test --trace 

錯誤代碼:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class java for test_java on node test_java 

我認爲這個問題是看進了init.pp file.like如下後的Java類需要一些參數。

class java(
    $distribution = 'jdk', 
    $version  = 'present' 
) { 

    validate_re($distribution, '^jdk$|^jre$|^java.*$') 
    validate_re($version, 'installed|^[._0-9a-zA-Z:-]+$') 

    anchor { 'java::begin': } 
    anchor { 'java::end': } 

    case $::osfamily { 

    'RedHat': { 

     class { 'java::package_redhat': 
     version  => $version, 
     distribution => $distribution, 
     require  => Anchor['java::begin'], 
     before  => Anchor['java::end'], 
     } 

    } 
    ........ 
    ........ 

我不明白我必須通過什麼參數以及如何在節點中?

+0

這與Pascal絕對無關。請正確標記您的問題。 – Thomas

回答

0

該參數是在類定義中的()之間列出的參數。例如,該類採用參數$distribution$version

您將提供那些在您site.pp這樣的:

class{"java": 
    distribution => YOUR DISTRIBUTION, 
    version  => YOUR VERSION 
} 

你會在那個例子中,雖然看到,他們已經擁有了合理的默認值。更何況該錯誤不會是該類無法找到,這將是一個必需的參數沒有提供。

轉移到你的實際問題......木偶無法找到它的路徑中的類。你知道發現了activemqstdlib類嗎?你能否註釋掉include java並查看其他類是否正確加載?如果是這樣,那麼請確保java類安裝在與那些相同的目錄中。如果沒有,你需要看看如何定義puppetmaster上的modulepath

+0

我已經嘗試過這一個沒有我越來越。 服務器上的錯誤400:Puppet :: Parser :: AST :: Resource失敗,錯誤ArgumentError –

+0

你試過哪個部分?刪除java包括看看它只是模塊vs所有模塊? – joshcody

+0

只是一個模塊java –