我试图将我们的puppet模块安装到我的本地vagrant实例中。我们有一个基本安装oracle_java
的模块java
。
我使用以下命令:
sudo puppet apply -e 'include oracle_java' --modulepath=thirdparty/:/vagrant/puppet/modules/:/home/vagrant/.puppet/modules/ --hiera_config=/vagrant/puppet/hiera.yaml
这会出错:
Warning: Setting templatedir is deprecated. See http://links.puppetlabs.com/env-settings-deprecations
(at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')
WARN: 2015-08-06 17:23:09 +0000: Ignoring configured merge_behavior
WARN: 2015-08-06 17:23:09 +0000: Must have 'deep_merge' gem installed.
Error: You must include the oracle_java base class before using any oracle_java sub class at /vagrant/puppet/thirdparty/oracle_java/manifests/install.pp:8 on node puppetmaster.example.com
Error: You must include the oracle_java base class before using any oracle_java sub class at /vagrant/puppet/thirdparty/oracle_java/manifests/install.pp:8 on node puppetmaster.example.com
Install.pp如下(引发错误):
class oracle_java::install {
# The base class must be included first
if !defined(Class['oracle_java']) {
fail('You must include the oracle_java base class before using any oracle_java sub class')
}
case $oracle_java::format_real {
'rpm' : { contain oracle_java::install::rpm }
default : { contain oracle_java::install::targz }
}
}
init.pp是here(太大而无法发布)