我已经有了这个流浪文件近一年,从来没有给我带来问题:
Vagrant.configure(2) do |config|
#config.vm.box = "puppetlabs/debian-8.2-64-puppet"
config.vm.box = "alex-barylski/debian-8.2"
config.vm.network :forwarded_port, guest: 80, host: 8089
config.vm.network :forwarded_port, guest: 3306, host: 33002
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y puppet puppet-common
# Required for the file_* function in platform include
puppet module install puppetlabs/stdlib
SHELL
config.vm.provision "puppet" do |puppet|
puppet.manifest_file = "default.pp"
puppet.manifests_path = ".vagrant/puppet"
puppet.module_path = ".vagrant/puppet/modules"
#puppet.options = "--verbose --debug"
end
config.vm.synced_folder "./", "/var/www", owner: "vagrant", group: "www-data", mount_options: ["dmode=775,fmode=664"]
end
结果如下:
==&GT; default:处理systemd的触发器(215-17 + deb8u2)...... ==&GT;默认值:/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
require' ==> default: : ==> default: /usr/lib/x86_64-linux-gnu/ruby/2.1.0/openssl.so: symbol SSLv2_method, version OPENSSL_1.0.0 not defined in file libssl.so.1.0.0 with link time reference - /usr/lib/x86_64-linux-gnu/ruby/2.1.0/openssl.so ==> default: ( ==> default: LoadError ==> default: ) ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
需要&#39; ==&GT;默认值:来自/usr/lib/ruby/2.1.0/openssl.rb:17:in<top (required)>' ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
要求&#39; ==&GT;默认值:from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' ==> default: from /usr/lib/ruby/vendor_ruby/puppet/util/monkey_patches.rb:171:in
&#39; ==&GT;默认值:from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
需要&#39; ==&GT;默认值:来自/usr/lib/ruby/vendor_ruby/puppet/util.rb:16:in<module:Util>' ==> default: from /usr/lib/ruby/vendor_ruby/puppet/util.rb:15:in
&#39; ==&GT;默认值:来自/usr/lib/ruby/vendor_ruby/puppet/util.rb:14:in<top (required)>' ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
要求&#39; ==&GT;默认值:from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' ==> default: from /usr/lib/ruby/vendor_ruby/puppet.rb:8:in
&#39; ==&GT;默认值:from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
需要&#39; ==&GT;默认值:来自/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:12:in<top (required)>' ==> default: from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
要求&#39; ==&GT;默认值:from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' ==> default: from /usr/bin/puppet:7:in
&#39; SSH命令以非零退出状态响应。 Vagrant认为这意味着 命令失败。此命令的输出应该在日志中 以上。请阅读输出以确定出现了什么问题。
如果我降级到debian 7.8它似乎有效 - 但我需要8.2。我尝试了3-4种不同的盒子,手动下载等等。
答案 0 :(得分:3)
2016年10月更新
截至2016年9月底,Atlas上出现了新版本的Debian Jessie盒子,这也为我们解决了这个问题。
https://atlas.hashicorp.com/debian/boxes/jessie64/versions/8.6.1
原始答案
同样的问题,似乎Puppet或Ruby已经升级为使用更新版本的libssl
作为框中可用的版本。如果我们这样做:
apt-get update
apt-get -y upgrade
我们的清单突然puppet apply
突然恢复正常。以下是Vagrantfile
的修复:
Vagrant.configure(2) do |config|
#config.vm.box = "puppetlabs/debian-8.2-64-puppet"
config.vm.box = "alex-barylski/debian-8.2"
config.vm.network :forwarded_port, guest: 80, host: 8089
config.vm.network :forwarded_port, guest: 3306, host: 33002
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y upgrade libssl1.0.0 openssl # forces an upgrade of libssl and openssl
apt-get install -y puppet puppet-common
# Required for the file_* function in platform include
puppet module install puppetlabs/stdlib
SHELL
config.vm.provision "puppet" do |puppet|
puppet.manifest_file = "default.pp"
puppet.manifests_path = ".vagrant/puppet"
puppet.module_path = ".vagrant/puppet/modules"
#puppet.options = "--verbose --debug"
end
config.vm.synced_folder "./", "/var/www", owner: "vagrant", group: "www-data", mount_options: ["dmode=775,fmode=664"]
end
在我们的情况下,这种方法的缺点是我们大约需要10台机器,这会耗费大量的带宽和时间。