Centos 缺少puppet 4.0流浪者模块
我试图在《流浪汉》中使用木偶模块。 我的盒子正在运行puppet 4.0 我正在使用以下方式安装模块:Centos 缺少puppet 4.0流浪者模块,centos,vagrant,puppet,Centos,Vagrant,Puppet,我试图在《流浪汉》中使用木偶模块。 我的盒子正在运行puppet 4.0 我正在使用以下方式安装模块: if [ ! -d /etc/puppet/modules/ ]; then puppet module install puppetlabs-java fi 在site.pp 我有: 我不断收到一个关于找不到声明的类java的错误 为什么木偶找不到我的模块 /etc/puppet/modules/是默认路径,不是吗 流浪档案 Vagrant.configure(2) do |co
if [ ! -d /etc/puppet/modules/ ]; then
puppet module install puppetlabs-java
fi
在site.pp
我有:
我不断收到一个关于找不到声明的类java的错误
为什么木偶找不到我的模块
/etc/puppet/modules/
是默认路径,不是吗
流浪档案
Vagrant.configure(2) do |config|
config.vm.box = "bento/centos-7.2"
config.vm.provider "virtualbox" do |vb|
vb.gui = true
vb.memory = "8192"
end
config.vm.provision :shell, :path => "upgrade_puppet.sh"
config.vm.provision :shell, :path => "puppet_modules.sh"
config.vm.provision :puppet do |puppet|
puppet.options = '--verbose --debug'
puppet.environment_path = "puppet/environments"
puppet.environment = "production"
end
end
已提供Vagrant文件,更新了答案
位置在puppet 4中已更改,现在默认使用
因此,您使用puppet provisioner的方式是正确的。但是,vagrant将根据您的vagrant文件将其需要的所有目录上载到来宾:
/tmp/流浪木偶/环境/制作
当Vagrant调用puppet apply时,它将在以下位置查找所需的模块:
/tmp/流浪木偶/环境/生产/模块
并且您的主机上不存在该模块目录
您可以将if块更改为:
if [ ! -d /vagrant/puppet/environments/production/modules ]; then
puppet module install puppetlabs-java --modulepath /vagrant/puppet/environments/production/modules
fi
/流浪汉由主人和客人共同分享。这将在主机上的以下位置安装java模块及其依赖项:
puppet
|
+--environments
+
-- production
|
+ -- manifests
| +
| -- site.pp
|
+ -- modules
+
-- java
+
-- stdlib
当您完成漫游时,此内容将上载到主机:
/tmp/vagrant-puppet
根据您的Vagrant文件进行测试和确认。现在Vagrant文件已经提供,更新了答案
位置在puppet 4中已更改,现在默认使用
因此,您使用puppet provisioner的方式是正确的。但是,vagrant将根据您的vagrant文件将其需要的所有目录上载到来宾:
/tmp/流浪木偶/环境/制作
当Vagrant调用puppet apply时,它将在以下位置查找所需的模块:
/tmp/流浪木偶/环境/生产/模块
并且您的主机上不存在该模块目录
您可以将if块更改为:
if [ ! -d /vagrant/puppet/environments/production/modules ]; then
puppet module install puppetlabs-java --modulepath /vagrant/puppet/environments/production/modules
fi
/流浪汉由主人和客人共同分享。这将在主机上的以下位置安装java模块及其依赖项:
puppet
|
+--environments
+
-- production
|
+ -- manifests
| +
| -- site.pp
|
+ -- modules
+
-- java
+
-- stdlib
当您完成漫游时,此内容将上载到主机:
/tmp/vagrant-puppet
根据您的Vagrant文件进行了测试和确认。正如Jaxim所提到的,这是因为在更新版本的Puppet中默认目录位置已更改
如果您对使用Puppet自动安装moduels感兴趣,我建议您使用R10K vagrant插件,您可以指定模块的版本并使其更易于更新,并允许您下载非forge上的模块,如git repos
正如Jaxim所提到的,这是因为较新版本的Puppet中的默认目录位置发生了更改
如果您对使用Puppet自动安装moduels感兴趣,我建议您使用R10K vagrant插件,您可以指定模块的版本并使其更易于更新,并允许您下载非forge上的模块,如git repos
有点晚了,但我从厨师改为木偶(公司政策,不问!:),遇到了完全相同的情况,来自厨师背景的我拒绝用这么多木偶特有的东西“污染”我的项目文件夹。在我看来,我应该只需要一份流浪汉档案而不需要其他任何东西
我还收到了“在/tmp/vagrant puppet/environments/production中找不到声明的类java”错误消息。因此,经过大量的讨论,我发现在puppet.options
中,您可以提供在命令行调用puppet apply
时通常会提供的任何参数
因此,如果有任何帮助,请尝试修改Vagrant文件中的puppet.options,如下所示:
config.vm.provision :puppet do |puppet|
puppet.options = '--verbose --modulepath=/etc/puppetlabs/code/environments/production/modules'
puppet.environment_path = "puppet/environments"
puppet.environment = "production"
end
这将有助于Puppet找到自己的鼻子,而不是认为/tmp文件夹中的所有内容都可用,而是模块已经安装在自己的文件夹位置。有点晚了,但我正在从厨师切换到Puppet(公司政策,不问!))遇到了完全相同的情况,来自厨师的背景,我拒绝用这么多木偶特有的东西“污染”我的项目文件夹。在我看来,我应该只需要一份流浪汉档案而不需要其他任何东西
我还收到了“在/tmp/vagrant puppet/environments/production中找不到声明的类java”错误消息。因此,经过大量的讨论,我发现在puppet.options
中,您可以提供在命令行调用puppet apply
时通常会提供的任何参数
因此,如果有任何帮助,请尝试修改Vagrant文件中的puppet.options,如下所示:
config.vm.provision :puppet do |puppet|
puppet.options = '--verbose --modulepath=/etc/puppetlabs/code/environments/production/modules'
puppet.environment_path = "puppet/environments"
puppet.environment = "production"
end
这将有助于Puppet找到自己的鼻子,而不是认为/tmp文件夹中的所有内容都可用,而是模块已经安装在自己的文件夹位置。我仍然得到错误:评估错误:评估资源语句时出错。在/tmp/vagrant puppet/environments/production/manifests/site.pp:1:1
@KillerSnail中找不到声明的java类。您可以发布您的vagrant文件吗?另外,您使用的是什么版本的vagrant?vagrant 1.7.4 vagrant文件已发布above@KillerSnail谢谢你上传你的流浪汉档案。我已经更新了我的答案。我仍然得到错误:评估错误:评估资源语句时出错。在/tmp/vagrant puppet/environments/production/manifests/site.pp:1:1
@KillerSnail中找不到声明的java类。您可以发布您的vagrant文件吗?另外,您使用的是什么版本的vagrant?vagrant 1.7.4 vagrant文件已发布above@KillerSnail谢谢你上传你的流浪汉档案。我已经更新了我的答案。