在厨师的厨房创造错误

时间:2015-10-15 12:48:38

标签: ubuntu vagrant chef virtualization test-kitchen

由于我对厨师很陌生,我无法弄清楚以下错误:

$ kitchen create
-----> Starting Kitchen (v1.4.2)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::UserError
>>>>>> Message: Error parsing /home/ashishk/motd/.kitchen.yml as YAML.
Please run `kitchen diagnose --no-instances --loader' to help debug your issue.
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

我的.kitchen.yml文件如下:

$ cat .kitchen.yml
---
driver:
  name: vagrant
    provisioner:
#  name: policyfile_zero
  name: chef_zero
platforms:
  - name: ubuntu-14.04
#  - name: centos-7.1
driver:
      customize:
        memory: 256

suites:
  - name: default
        run_list:
                - recipe[motd::default]
    attributes:

我正在关注文档[https://learn.chef.io/local-development/ubuntu/get-started-with-test-kitchen/][1]

请帮帮我这里有什么问题!

已安装的Vagrant现在出现以下错误:

 VirtualBox is complaining that the installation is incomplete. Please
       run `VBoxManage --version` to see the error message which should contain
>>>>>> ------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:
STDERR: The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

VirtualBox is complaining that the installation is incomplete. Please
run `VBoxManage --version` to see the error message which should contain
instructions on how to fix this error.
---- 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

命令: ashishk @ chef-workstation:〜/ motd $ VBoxManage --version

WARNING: The character device /dev/vboxdrv does not exist.
         Please install the virtualbox-dkms package and the appropriate
         headers, most likely linux-headers-generic.

         You will not be able to start VMs until this problem is fixed.
4.3.10_Ubuntur93012

Ps: 我已经安装了Windows 7中的虚拟机VM(ubuntu)我有厨师工作站运行“厨房创建”

3 个答案:

答案 0 :(得分:2)

我在“Chefdk 0.9.0的设置和部署方面确实取得了进展。我回过头来清理用户,系统,Powershell的$ PROFILE中的所有Path变量。我一直在为Windows的chefdk安装工作7& 10有一段时间了,我发现了一些值得注意的要点:

  1. 如果您已经卸载并重新安装了chekdk,vagrant和virtualbox,那么您必须清理User,System,$ Powershell的$ Profile路径,否则您将花费​​数小时来解决ghost。

  2. .kitchen.yml中的空格很重要。这是我直到今天才面对的唯一问题。感谢上面关于“驱动程序:”的提示。

  3. 在Virtualbox或chefdk之后最后安装Vagrant。

  4. 确保chefdk的路径按此顺序

      PATH="C:\opscode\chefdk\bin\;C:\opscode\chefdk\embedded\bin
    
  5. 检查您的HOME路径和CHEFDK_HOME。
  6. 在这些事情之后,一切都应该正常。

     Windows 10 
     Chef Development Kit Version: 0.9.0 
     chef-client version: 12.5.1 
     berks version: 4.0.1 
     kitchen version: 1.4.2
    

    $ PROFILE中的路径

    $ env:PATH =“C:\ opscode \ chefdk \ bin \; C:\ opscode \ chefdk \ embedded \ bin; C:\ opscode \ chefdk \ modules \ chef; C:\ Program Files \ Docker Toolbox; C:\ HashiCorp \ Vagrant \ bin; C:\ ProgramData \ Oracle \ Java \ javapath; C:\ Program Files \ MongoDB \ Server \ 3.0 \ bin; C:\ Python27 \; C:\ Python27 \ Scripts; C:\ oraclexe \应用\ ORACLE \产品\ 10.2.0 \服务器\ BIN;%SYSTEMROOT%\ SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\ System32下\ WBEM;%SYSTEMROOT%\ System32下\ WindowsPowerShell \ V1.0 \; C:\程序文件(x86)\ Common Files \ Acronis \ SnapAPI \; C:\ Program Files(x86)\ ATI Technologies \ ATI.ACE \ Core-Static; C:\ Program Files(x86)\ Common Files \ Intuit \ QBPOSSDKRuntime; c:\ Program Files(x86)\ Microsoft SQL Server \ 90 \ Tools \ binn \; C:\ Program Files(x86)\ Puppet Labs \ Puppet Enterprise \ bin; C:\ Program Files(x86)\ acquia-drupal7 \ common \ bin \; C:\ Program Files(x86)\ acquia-drupal7 \ mysql \ bin \; C:\ Program Files(x86)\ acquia-drupal7 \ php5_3 \; C:\ Program Files(x86)\ acquia- drupal7 \ drush \; C:\ Program Files(x86)\ GtkSharp \ 2.12 \ bin; C:\ Program Files(x86)\ Brackets \ command; C:\ Program Files(x 86)\ AMD \ ATI.ACE \ Core-Static; C:\ Program Files(x86)\ Skype \ Phone \“

    >>“chef shell-init powershell | Invoke-Expression”<<

    PS C:\ Users \ Preston 3rd(win 7)\ chef-repo \ kitchen> &安培; “C:\ Program Files \ Oracle \ VirtualBox \ VBoxManage”--version 5.0.6r103037

    PS C:\ Users \ Preston 3rd(win 7)\ chef-repo \ kitchen>流浪汉 - 逆转 流浪汉1.7.4 PS C:\ Users \ Preston 3rd(win 7)\ chef-repo \ kitchen>

     PS C:\Users\Preston 3rd (win 7)\chef-repo\kitchen> bundle install 
     Fetching gem metadata from https://rubygems.org/.......... 
     Fetching version metadata from https://rubygems.org/... 
     Fetching dependency metadata from https://rubygems.org/.. 
     Resolving dependencies... 
     Using ffi 1.9.10 
     Using win32-process 0.8.2 
     Using wmi-lite 1.0.0 
     Using mixlib-shellout 2.2.3 
     Using net-ssh 2.9.2 
     Using net-scp 1.2.1 
     Using safe_yaml 1.0.4 
     Using thor 0.19.1 
     Using test-kitchen 1.4.2 
     Using kitchen-vagrant 0.19.0 
     Using bundler 1.10.6 
     Bundle complete! 2 Gemfile dependencies, 11 gems now installed. 
     Use `bundle show [gemname]` to see where a bundled gem is installed. 
    
     Preston Thornton
     skype: preston4life
     preston3271@gmail.com
    

答案 1 :(得分:2)

我知道这是一个老线程,但它只是让我这样我想分享我的问题。

我没有使用空格来缩进,而是使用了一个标签,这就是导致我解析YAML错误的原因。

答案 2 :(得分:1)

复制以下内容并将其替换为现有的kitchen.yml可以解决问题:

driver:
  name: vagrant

provisioner:
  name: chef_zero

platforms:
  - name: ubuntu-14.04
    driver:
      customize:
        memory: 256

suites:
  - name: default
    run_list:
      - recipe[motd_ubuntu::default]
    attributes: