我有一个简单的 Vagrantfile:
Vagrant.configure(2) do |config|
config.omnibus.chef_version = '12.9.38'
config.vm.network "private_network", type: "dhcp"
config.vm.boot_timeout = 60
config.vm.define "node0" do |node0|
node0.vm.box = "baremettle/ubuntu-14.04"
node0.vm.hostname = "node0"
node0.vm.synced_folder "./", "/vagrant", type: "rsync"
node0.vm.provider :libvirt do |qemu|
qemu.driver = "kvm"
qemu.memory = 1024
end
end
end
当我尝试启动机器时,我得到以下信息:
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
sh install.sh -v 12.9.38 2>&1
Stdout from the command:
ubuntu 14.04 x86_64
Getting information for chef stable 12.9.38 for ubuntu...
downloading https://omnitruck-direct.chef.io/stable/chef/metadata?v=12.9.38&p=ubuntu&pv=14.04&m=x86_64
to file /tmp/install.sh.1550/metadata.txt
trying wget...
trying perl...
trying python...
Unable to retrieve a valid package!
Version: 12.9.38
Please file a Bug Report at https://github.com/chef/omnitruck/issues/new
Alternatively, feel free to open a Support Ticket at https://www.chef.io/support/tickets
More Chef support resources can be found at https://www.chef.io/support
Please include as many details about the problem as possible i.e., how to reproduce
the problem (if possible), type of the Operating System and its version, etc.,
and any other relevant details that might help us with troubleshooting.
Metadata URL: https://omnitruck-direct.chef.io/stable/chef/metadata?v=12.9.38&p=ubuntu&pv=14.04&m=x86_64
DEBUG OUTPUT FOLLOWS:
STDERR from wget:
--2016-06-13 15:54:03-- https://omnitruck-direct.chef.io/stable/chef/metadata?v=12.9.38&p=ubuntu&pv=14.04&m=x86_64
Resolving omnitruck-direct.chef.io (omnitruck-direct.chef.io)... failed: Name or service not known.
wget: unable to resolve host address ‘omnitruck-direct.chef.io’
STDERR from perl:
Can't locate LWP/Simple.pm in @INC (you may need to install the LWP::Simple module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
STDERR from python:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1222, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>
Stderr from the command:
并且在那台机器运行后但没有安装厨师。如果我 ssh 进入它并尝试 ping,例如 google.com,我会得到:
vagrant@node0:~$ ping google.com
ping: unknown host google.com
但是在主机上 ping 按预期工作,没有问题。
我正在使用默认的 libvirt 网络:
<network>
<name>default</name>
<uuid>bd07c4da-891b-4e37-b1d0-16fabb6581c2</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:79:b9:3b'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
流浪者版本是 1.8.1
Virsh 版本是 1.2.2
安装的流浪插件:
- vagrant-libvirt (0.0.33)
- 流浪汉综合(1.4.1)
更新:
添加到主机(或客人)/etc/resolv.conf
nameserver 8.8.8.8
似乎解决了这个问题。
但是我从来没有遇到过virtualbox的问题。会不会是我错过了 libvirt 或 vagrant 配置中的某些内容?