流浪盒SSL错误"突然" (Windows 10 + 7)

时间:2016-09-19 01:15:22

标签: vagrant

我已经有了这个流浪文件近一年,从来没有给我带来问题:

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:in   require' ==> 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:in   require' ==> 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:in   require' ==> 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:in   require' ==> 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:in   require' ==> default: from /usr/bin/puppet:7:in&#39; SSH命令以非零退出状态响应。 Vagrant认为这意味着   命令失败。此命令的输出应该在日志中   以上。请阅读输出以确定出现了什么问题。

如果我降级到debian 7.8它似乎有效 - 但我需要8.2。我尝试了3-4种不同的盒子,手动下载等等。

1 个答案:

答案 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台机器,这会耗费大量的带宽和时间。