2012-12-14 70 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 –