测试厨房坚持“创建虚拟机”

时间:2016-08-05 07:33:13

标签: linux chef hyper-v chef-recipe test-kitchen

使用chefdk在Windows 10上运行hyperv

我可以使用kitchen create来创建Windows VM并且它工作正常但我只是尝试了一个Linux VM而且我得到了这个错误:

PS> kitchen create
-----> Starting Kitchen (v1.10.0)
-----> Creating <default-centos-72>...
       Creating differencing disk for default-centos-72.
       Created differencing disk for default-centos-72.
       Checking for existing virtual machine.
       Creating virtual machine for default-centos-72.
       Created virtual machine for default-centos-72.

QBiA...AA== -outputformat Text ----
STDOUT:
STDERR: #< CLIXML
---- End output of c:\windows\sysnative\windowspowershell\v1.0\powershell.exe -noprofile -executionpolicy bypass -encodedcommand LgAg...AA== -outputformat Text ----

ProcessId: 18780
app_name: c:\windows\sysnative\windowspowershell\v1.0\powershell.exe
command_line: c:\windows\sysnative\windowspowershell\v1.0\powershell.exe -noprofile -executionpolicy bypass -encodedcommand LgAgAEM...BjADC0ASgBzAG8AbgAKAA== -outputformat Text
timeout: 600] on default-centos-72
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

现在它创建了一个VM,我可以通过PuTTY手动ssh或通过openssh for cmd从cmd手动创建一个VM,所以我不知道为什么它的挂起 - 看起来无法访问它。

这是我的.kitchen.yml

---
driver:
  name: hyperv
  parent_vhd_folder: c:\HyperV\VHDs\
  parent_vhd_name: CentOS-7.vhdx
  vm_switch: NAT
  memory_startup_bytes: 2GB

provisioner:
  name: chef_zero

transport:
  password: MyPassw1!@#

platforms:
  - name: centos-7.2

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

编辑 - 更多信息: 服务器配置为DHCP 当我查看.kitchen文件夹时,日志是空的 .kitche \ default-centos-72.yml 只列出一个id(不知道那个应该有rtp文件的管理员名称和IP吗? 我也尝试过指向.kitchen.yml中的静态IP

2 个答案:

答案 0 :(得分:2)

@ red888 vm是否有最新的访客组件? Hyper-V管理器是否看到与vm nic关联的IP地址?您可以在hyper-v管理器中或通过Powershell

进行检查

(get-vm 'your vm name').networkadapters[0].ipaddresses

如果有,请在https://github.com/test-kitchen/kitchen-hyperv提交问题,我们会很乐意深入挖掘。

您需要最新的集成组件(我认为4.1是最新的 - https://www.microsoft.com/en-us/download/details.aspx?id=51612

答案 1 :(得分:0)

OK史蒂文是对的,应该早点调查一下。

这看起来可能与this bug有关。

正如他所说,我发现Hyper-V没有报告来宾的IP,我看到了: enter image description here

禁用SELinux并重新启动似乎解决了这个错误,我可以在Hyper-V和厨房创建工作中看到来宾的IP。

有没有办法在不完全禁用selinux的情况下允许此服务访问?