Petesta
Petesta

Reputation: 1775

kitchen create new_box command not working

I'm running the command kitchen create default-centos65 but I am not able to pull in the box and provision. For whatever reason it keeps saying the URL path is file:/Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65. I'm not sure why it thinks it should download the box from there and not from vagrantcloud.com.

Here is the output.

-----> 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

Is there something else that I'm missing in my configuration?

Here is what is in my .kitchen.yml file.

driver:
  name: vagrant

provisioner:
  name: chef_solo

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

suites:
  - name: default
    run_list:
    attributes:

Upvotes: 2

Views: 1946

Answers (3)

Hans
Hans

Reputation: 11

I got this error due to YAML script not being correct; below is the correct one.

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

Upvotes: 0

I believe that it is something up with box_url, but I noticed below:`

$ 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.

Where I see a "Connection timeout" which after changing the box_url setting in the .kitchen.yml I still got the same results as before which was a misconfigured basebox. I run the setup successfully one time another system and worked find. I am thinking that the site is having issues or that it is a setting on the system I am work on in term of network/interface.

Upvotes: 0

Javier Cortejoso
Javier Cortejoso

Reputation: 9146

I think box_url is wrong in your .kitchen.yml file. Try with https://atlas.hashicorp.com/learningchef/boxes/centos65/versions/1.0.7/providers/virtualbox.box or add the box before running kitchen (vagrant box add learningchef/centos65).

Upvotes: 4

Related Questions