2

我正在运行命令kitchen create default-centos65,但我无法拉入盒子并进行配置。无论出于何种原因,它一直说 URL 路径是file:/Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65. 我不确定为什么它认为应该从那里下载盒子而不是从vagrantcloud.com.

这是输出。

-----> Starting Kitchen (v1.3.1)
-----> Creating <default-centos65>...
       Bringing machine 'default' up with 'virtualbox' provider...[default] Box 'learningchef/centos65' was not found. Fetching box from specified URL for
       the provider 'virtualbox'. Note that if the URL does not have
       a box for this provider, you should interrupt Vagrant now and add
       the box yourself. Otherwise Vagrant will attempt to download the
       full box prior to discovering this error.
       Downloading box from URL: file:/Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65
Download failed. Will try another box URL if there is one.
       An error occurred while downloading the remote file. The error
       message, if any, is reproduced below. Please fix this error and try
       again.

       Couldn't open file /Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #create action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant up --no-provision --provider=virtualbox ----
STDOUT: Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'learningchef/centos65' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading box from URL: file:/Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65
STDERR: Download failed. Will try another box URL if there is one.
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65
---- End output of vagrant up --no-provision --provider=virtualbox ----
Ran vagrant up --no-provision --provider=virtualbox returned 1]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

我的配置中还缺少其他东西吗?

这是我的.kitchen.yml文件中的内容。

driver:
  name: vagrant

provisioner:
  name: chef_solo

platforms:
  - name: centos65
    driver:
      box: learningchef/centos65
      box_url: learningchef/centos65

suites:
  - name: default
    run_list:
    attributes:
4

3 回答 3

4

我认为box_url你的.kitchen.yml文件有问题。在运行厨房之前尝试使用https://atlas.hashicorp.com/learningchef/boxes/centos65/versions/1.0.7/providers/virtualbox.box或添加盒子(vagrant box add learningchef/centos65)。

于 2015-02-08T19:34:57.087 回答
0

由于 YAML 脚本不正确,我收到此错误;下面是正确的。

driver:
#box: learningchef/centos65 Original wrong spaces before box
  box: learningchef/centos65
  box_url: learningchef/centos65
于 2016-04-25T10:22:40.680 回答
0

我相信它与box_url有关,但我在下面注意到:`

$ kitchen create default-centos65
 -----> Starting Kitchen (v1.4.2)
 -----> Creating <default-centos65>...
   Bringing machine 'default' up with 'virtualbox' provider...
   ==> default: Importing base box 'learningchef/centos65'...
   ==> default: Matching MAC address for NAT networking...
   ==> default: Checking if box 'learningchef/centos65' is up to date...
   ==> default: Setting the name of the VM: kitchen-kitchen-default-centos65_default_1441979206253_97174
   ==> default: Clearing any previously set network interfaces...
   ==> default: Preparing network interfaces based on configuration...
       default: Adapter 1: nat
   ==> default: Forwarding ports...
       default: 22 => 2222 (adapter 1)
   ==> default: Booting VM...
   ==> default: Waiting for machine to boot. This may take a few minutes...
       default: SSH address: 127.0.0.1:2222
       default: SSH username: vagrant
       default: SSH auth method: private key
       **default: Warning: Connection timeout. Retrying...**
       default:
       default: Vagrant insecure key detected. Vagrant will automatically replace
       default: this with a newly generated keypair for better security.
       default:
       default: Inserting generated public key within guest...
       default: Removing insecure key from the guest if it's present...
       default: Key inserted! Disconnecting and reconnecting using new SSH key...
   ==> default: Machine booted and ready!
   ==> default: Checking for guest additions in VM...
   ==> default: Setting hostname...
   ==> default: Machine not provisioned because `--no-provision` is specified.
   [SSH] Established
   Vagrant instance <default-centos65> created.
   Finished creating <default-centos65> (1m3.86s).
   -----> Kitchen is finished. (1m4.43s)
   zlib(finalizer): the stream was freed prematurely.

我在哪里看到“连接超时”,在更改 .kitchen.yml 中的 box_url 设置后,我仍然得到与以前相同的结果,这是一个错误配置的 basebox。我在另一个系统上成功运行了一次设置并找到了。我认为该站点存在问题,或者它是我正在使用的系统上的网络/接口设置。

于 2015-09-11T14:04:40.040 回答