gpt4 book ai didi

centos - puppet 4.0 vagrant 模块丢失

转载 作者:行者123 更新时间:2023-12-04 19:33:15 25 4
gpt4 key购买 nike

我正在尝试在 vagrant 中使用 puppet 模块。
我的盒子正在运行 puppet 4.0

我正在使用以下方式安装模块:

if [ ! -d /etc/puppet/modules/ ]; then 
puppet module install puppetlabs-java
fi

site.pp我有:
class { 'java': 
distribution => 'jdk',
}

我不断收到关于 could not find declared class java 的错误消息
为什么 puppet 找不到我的模块?
/etc/puppet/modules/不是默认路径吗?

Vagrant 文件
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

最佳答案

现在已提供 Vagrantfile 更新答案

puppet 4 和 directory environments 中的位置已更改现在默认使用。

因此,您使用 puppet 配置器的方式是正确的。但是,vagrant 会根据您的 Vagrantfile 将它需要的所有目录上传到 guest :
/tmp/vagrant-puppet/环境/生产

当 Vagrant 调用 puppet apply 时,它将在以下位置寻找它需要的模块:
/tmp/vagrant-puppet/环境/生产/模块

并且您的主机上不存在该模块目录。

您可以将 if block 更改为:

if [ ! -d /vagrant/puppet/environments/production/modules ]; then
puppet module install puppetlabs-java --modulepath /vagrant/puppet/environments/production/modules
fi

/vagrant 在主机和 guest 之间共享。这将在您的主机上安装 java 模块及其依赖项:
puppet
|
+--environments
+
-- production
|
+ -- manifests
| +
| -- site.pp
|
+ -- modules
+
-- java
+
-- stdlib

当您进行 vagrant up 时,此内容将上传到以下主机:
/tmp/vagrant-puppet

根据您的 Vagrantfile 测试和确认。

关于centos - puppet 4.0 vagrant 模块丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com