使用libvirt提供商带来流浪汉机器时无法解决厨师主持人问题

时间:2016-06-13 16:17:45

标签: networking vagrant nat libvirt virsh

我有一个简单的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:

然后该机器运行,但没有安装厨师。我正在尝试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>

Vagrant版本是1.8.1

Virsh版本是1.2.2

安装了Vagrant插件:

  • vagrant-libvirt(0.0.33)
  • vagrant-omnibus(1.4.1)

更新

添加到主机(或来宾)/etc/resolv.conf

nameserver 8.8.8.8

似乎解决了这个问题。

但我从来没有遇到过虚拟机的问题。可能是因为我错过了libvirt或vagrant配置中的内容吗?

0 个答案:

没有答案