Vagrant 跟踪和规避流浪问题和漏洞

Vagrant 跟踪和规避流浪问题和漏洞,vagrant,Vagrant,在过去几年中,每一次释放流浪汉似乎要么被打破,要么有重大问题。例如,从DC/OS Vagrant测试实验室环境中,我们可以看到他们规避或避免了Vagrant bug: case Vagrant::VERSION when '1.9.1' require_relative 'patch/redhat_change_host_name_1.9.1' require_relative 'patch/redhat_configure_networks_1.9.1' when '1.8.7'

在过去几年中,每一次释放流浪汉似乎要么被打破,要么有重大问题。例如,从DC/OS Vagrant测试实验室环境中,我们可以看到他们规避或避免了Vagrant bug:

case Vagrant::VERSION
when '1.9.1'
  require_relative 'patch/redhat_change_host_name_1.9.1'
  require_relative 'patch/redhat_configure_networks_1.9.1'
when '1.8.7'
  UI.error 'Unsupported Vagrant Version: 1.8.7', bold:true
  UI.error 'For more info, see https://github.com/mitchellh/vagrant/issues/7969'
  error_known_good_versions
when '1.8.6'
  require_relative 'patch/linux_network_interfaces_1.8.6'
when '1.8.5'
  UI.error 'Unsupported Vagrant Version: 1.8.5', bold:true
  UI.error 'For more info, see https://github.com/mitchellh/vagrant/issues/7610'
  error_known_good_versions
end
1.8.5出现了人们无法ssh到Linux实例的问题,1.8.7出现了MacOS上的人们无法连接到Hashi的流浪云下载或更新框的问题。1.9.0还具有上面未列出的已损坏的
.has\u plugin?
API调用

我有我喜欢分发给同事和学生的便携式实验室或教室环境的文件。我一直无法找到一种方法来轻松跟踪Vagrant的功能版本,功能版本中的主要问题是什么,以及如何规避这些问题。我想最接近的方法是在Github上对问题跟踪器进行数据挖掘,然后对输出进行解析和排序

处理流浪者不稳定的最好办法是什么,这样我就可以在流浪者档案中提供规避?有没有一种简单的方法来跟踪这些问题


我想这也使得使用Packer或
vagrant-box
交付后期供应的预制箱变得困难,因为不同版本的vagrant需要不同的补丁来解决它们的问题?我猜,由于流浪汉的不稳定性,任何绕过预制盒子(或只是一般使用它们)的做法都会造成麻烦。

Matt这是一个非常有趣的问题。我不确定您的用户环境有多不同,但您是否可以通过仅支持最后两个版本来帮助减少您的问题?例如,今天的最新版本是1.9.3,您可以通过设置来支持1.9.1+,然后将上述技术用于1.9.1、1.9.2或1.9.3中需要特别注意的任何内容。@BrianC我认为限制版本范围将有助于减少解决Vagrant问题的工作量,但我认为最好将版本限制在非最新版本,因为这些问题已经被发现,并且众所周知。在这个问题上,我更关心的是发现和跟踪问题,以便对其进行补偿,并且正在计划采取后续行动,以获得补偿问题的最佳方法。