kitchen create new_box命令不起作用

时间:2015-02-08 19:14:42

标签: vagrant chef test-kitchen

我正在运行命令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:

3 个答案:

答案 0 :(得分:3)

我认为box_url文件中的.kitchen.yml错误。尝试使用https://atlas.hashicorp.com/learningchef/boxes/centos65/versions/1.0.7/providers/virtualbox.box或在运行厨房(vagrant box add learningchef/centos65)之前添加该框。

答案 1 :(得分: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.

我看到&#34;连接超时&#34;在更改了.kitchen.yml中的box_url设置之后,我仍然得到了与以前相同的结果,这是一个配置错误的基本框。我成功运行安装程序一次另一个系统,并找到了工作。我认为该网站存在问题,或者它是我在网络/接口方面工作的系统设置。

答案 2 :(得分:0)

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

driver:
#box: learningchef/centos65 Original wrong spaces before box
  box: learningchef/centos65
  box_url: learningchef/centos65