【问题标题】:vagrant box SSL error "suddenly" (Windows 10 + 7)vagrant box SSL 错误“突然”(Windows 10 + 7)
【发布时间】:2017-01-26 14:35:59
【问题描述】:

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

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

结果如下:

==> 默认值:处理 systemd (215-17+deb8u2) 的触发器 ... ==> 默认:/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 require' ==> 默认值:来自 /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 require' ==> 默认值:来自 /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' ==> 默认值:来自 /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 require' ==> 默认值:来自 /usr/lib/ruby/vendor_ruby/puppet/util.rb:16:in <module:Util>' ==> default: from /usr/lib/ruby/vendor_ruby/puppet/util.rb:15:in' ==> 默认值:来自 /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 require' ==> 默认值:来自 /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' ==> 默认值:来自 /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 require' ==> 默认值:来自 /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 require' ==> 默认值:来自 /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require' ==> default: from /usr/bin/puppet:7:in' SSH 命令以非零退出状态响应。 Vagrant 假设这意味着 命令失败。此命令的输出应在日志中 更多。请阅读输出以确定出了什么问题。

如果我降级到 debian 7.8,它似乎可以工作 - 但我需要 8.2。我试过3-4个不同的盒子,手动下载等等。

【问题讨论】:

    标签: vagrant


    【解决方案1】:

    2016 年 10 月更新

    截至 2016 年 9 月,新版本的 Debian Jessie 盒子在 Atlas 上可用,这也为我们解决了这个问题。

    https://atlas.hashicorp.com/debian/boxes/jessie64/versions/8.6.1

    原答案

    这里也有同样的问题,Puppet 或 Ruby 似乎已升级为使用更新版本的 libssl 作为框中可用的版本。如果我们这样做:

    apt-get update
    apt-get -y upgrade
    

    在我们的manifest的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 台机器,这会消耗大量带宽和时间。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2021-05-07
      • 1970-01-01
      • 2023-01-03
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 2015-05-11
      相关资源
      最近更新 更多