错误信息:
这可能是因为PATH未正确设置或者此guest虚拟机上未安装Puppet。如果没有正确安装Puppet,Puppet配置就无法继续。
Vagrantfile:注意:以下设置适用于ubuntu / trusty64
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "elasticsearch-learn"
config.vm.box_url = "init"
config.vm.network "forwarded_port", guest: 9200, host: 9200
config.vm.network "forwarded_port", guest: 5601, host: 5601
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
end
end
流浪者运行目录结构:
vagrant_devenv (master)*$ tree -L 2
.
├── README.rst
├── Vagrantfile
├── installpuppet.sh
├── puppet
│ ├── manifests
│ └── modules
├── requirements.txt
└── ubuntu-xenial-16.04-cloudimg-console.log
可选的:
仅供参考,如果需要的话。我使用我的old git repo并为每个项目进行本地更改。它没有为xenial64更新,但木偶包是相同的。但你可以找到我一般在那里使用的木偶清单和模块
问题是由于在ubuntu / xenial64中找不到puppet。因此包括在木偶供应之前安装木偶代理的步骤。
我更改了Vagrantfile,并在puppet提供步骤之前安装了puppet-agent。
config.vm.provision:“shell”,路径:“installpuppet.sh”
更新的Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "elasticsearch-learn"
config.vm.box_url = "init"
config.vm.network "forwarded_port", guest: 9200, host: 9200
config.vm.network "forwarded_port", guest: 5601, host: 5601
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
config.vm.provision :"shell", path: "installpuppet.sh"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
end
end
installpuppet.sh内容:
apt update
apt install -y puppet
然后执行通常的'流浪汉'
这对我有用!希望能帮助到你。如果有更好的解决方案,请告诉我。
或者你可以在config.vm.provision之前尝试这个:
web_config.vm.provision "shell", inline: "sudo apt-get update && sudo apt-get install -y puppet"
只需在跑步前安装木偶。
完整样本:
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise32"
config.vm.define :web do |web_config|
web_config.vm.provision "shell", inline: "sudo apt-get update && sudo apt-get install -y puppet"
web_config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
end
end
end