好的,我正在尝试使用vagrant omnibus和proxyconf更新chef-client。我认为它会从proxyconf中提取代理,但它看起来并不那样。这是我的插件列表:
vagrant plugin list
vagrant-login (1.0.1, system)
vagrant-omnibus (1.4.1)
- Version Constraint: 1.4.1
vagrant-proxyconf (1.3.2)
- Version Constraint: 1.3.2
vagrant-share (1.1.0, system)
和我的Vagrant文件:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.omnibus.chef_version = :latest
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "my proxy"
config.proxy.https = "my proxy"
end
当我使用vagrant up运行它时,机器没有更新的chef-client。我尝试在我的运行列表中使用配方[omnibus_updater]它仍然失败,因为另一个配方因编译失败而失败(因为较旧版本的chef-client,这是一个痛苦的屁股)。有任何想法吗?除了创建一个新的虚拟框?
更新: 使用以下命令在调试模式下运行不会显示任何错误。更新到11.12.8会出现以下错误
vagrant-omnibus:
* '11.12.8' is not a valid version of Chef.
登录vm会显示正确设置$ HTTP_PROXY和$ HTTPS_PROXY。在构建的vm上运行命令:
chef-client -v
Chef: 10.14.2
sudo gem update chef
chef-client -v
Chef: 11.12.8
答案 0 :(得分:0)
事1: :当它无法获取工件时,最新版本不会出错。切换到命名版本开始无法找到导致我相信它没有通过代理的工件。
事2: 我认为这是windows中的omnibus问题。我发现这种拉力可能会解决它吗? https://github.com/schisamo/vagrant-omnibus/pull/89。我认为这个插件没有使用poxy-conf设置的设置。
目前正在使用此工作方式: 在windows cmd行中设置http代理
SET HTTP_PROXY=http://username:password@proxy:port