过去几年中每一次Vagrant的发布似乎都被破坏或者存在重大问题。例如,在DC / OS Vagrant测试实验室环境中,我们看到他们绕过或避免了Vagrant错误:
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存在人们无法进入Linux实例的问题,1.8.7存在MacOS上的人无法连接到Hashi的Vagrant云以下载或更新框的问题。 1.9.0还有上面未列出的.has_plugin?
API调用。
我有Vagrantfiles,我喜欢将便携式实验室或教室环境分发给同事和学生。我还没有找到一种方法来轻松跟踪Vagrant的功能版本,功能版本中的主要问题是什么,以及如何规避它们。我想最接近的事情是在他们的Github上对问题跟踪器进行数据处理,然后对输出进行解析和排序。
处理Vagrant不稳定的最佳方法是什么,以便我可以在Vagrantfiles中提供规避?有没有一种简单的方法来跟踪问题?
我想这也很难通过Packer或vagrant box
提供配置后预配置的盒子,因为不同版本的Vagrant需要针对其问题的不同补丁?我猜测任何绕过预建箱子的路线(或者只是一般地使用它们)都会因为流浪汉的不稳定而引起麻烦。