在厨师中创建厨房时出现错误

getting error for kitchen create in chef

因为我是厨师的新手,所以我无法找出以下错误:

$ 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--版本

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 : 我已经在该虚拟机 (ubuntu) 的 Windows 7 上安装了 Virtual box 我有 Chef 工作站 运行 "kitchen create"

我在“Chefdk 0.9.0”的设置和部署方面确实取得了进展。我回去清理了用户、系统、Powershell 的 $PROFILE 中的所有 Path 变量。我一直在进行 chefdk 安装对于 Windows 7 & 10 一段时间,我发现了一些有趣的注意点:

  1. 如果您已经卸载并重新安装了 chekdk、vagrant 和 virtualbox,那么您必须清理用户、系统、$Powershell 的 $Profile 路径,否则您将花费​​数小时来排除 ghost 故障。

  2. 空格在 .kitchen.yml 中很重要。这是我直到今天才遇到的唯一问题。感谢上面关于 "driver:" 的提示。

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

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

      PATH="C:\opscode\chefdk\bin\;C:\opscode\chefdk\embedded\bin
    
  5. 检查您的 HOME 路径,并 CHEFDK_HOME。

经过这几件事之后一切都应该正常。


 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.0\bin;C:\Python27\;C:\Python27\Scripts;C:\oraclexe\app\oracle\product.2.0\server\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (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\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.12\bin;C:\Program Files (x86)\Brackets\command;C:\Program Files (x86)\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> vagrant --version 流浪者 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

复制以下内容并用现有的 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:

我知道这是一个旧话题,但它让我很感动,所以我想分享我的问题。

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