窓付きのキッチンをテストするのは初めてです
Vagrant(virtualbox)を備えたTest Kitchenを使用して、Windowsマシンでシェフのレシピをテストしています
私が持っています win-2012-r2
Vagrantで正常に動作するボックス(winrmとrdpの両方が動作します)
しかし、キッチンで同じものを使用すると、winrm
の代わりにSSHに接続しようとします
これが私の.kitchen.yml
ファイル
---
driver:
name: vagrant
provisioner:
name: chef_zero
verifier:
name: inspec
transport:
name: winrm
elevated: true
platforms:
- name: win-2012-r2
driver:
box: win-2012-r2
communicator: 'winrm'
winrm_username: 'admin'
winrm_password: 'adminadmin'
suites:
- name: default
run_list:
- recipe[ttest::default]
実行中kitchen test
、出力は
-----> Starting Kitchen (v1.11.1)
-----> Cleaning up any prior instances of <default-win-2012-r2>
-----> Destroying <default-win-2012-r2>...
Finished destroying <default-win-2012-r2> (0m0.00s).
-----> Testing <default-win-2012-r2>
-----> Creating <default-win-2012-r2>...
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'win-2012-r2'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: kitchen-ttest-default-win-2012-r2_default_1472129655910_94157
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (Host) (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
......................
STDERR: Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
どこに行けないのかわからない。
Test Kitchen version 1.11.1
Vagrant 1.8.5
VirtualBox 5.1
みんなありがとう
port
を5985(または必要なポート)に設定してみてください。
例えば:
platforms: - name: windows2016 transport: name: winrm elevated: true port: 5985
これが機能しない場合は、kitchen converge -l debug
を試して、マシンがタイムアウトした理由に関する詳細情報を入手してください。
これにも同様の問題がありました。私の場合、この問題を修正するには、kitchen.ymlファイルでコミュニケーター属性を「winrm」として指定する必要がありました。
driver:
name: vagrant
boot_timeout: 1200
gui: true
communicator: winrm
また、あなたの資格情報が私のものと異なって見えることに気づきました。 「winrm_username」と「winrm_password」ではなく、「platform」/「driver_config」で「username」と「password」を指定します。また、私の場合、私のポートは通常の5985ではありません。これはカスタム仮想ボックスであり、私の場合は55985(ホスト)が5985(ゲスト)にマップされるためですが、Zwadderichが述べているように正しいポートを使用する必要があります。
transport:
name: winrm
elevated: true
username: Tester
password: [PASSWORD]
port: 5985
私のボックスはカスタムWindowsボックスであるため、名前はvagrantで知られているボックスと一致します
platforms:
- name: VAGRANT-CUSTOM-BOX-NAME
driver_config:
username: Tester
password: [PASSWORD]
vm_hostname: false
driver:
port: 55985
customize:
memory: 4048
「driver_config」セクションは、vagrantを使用してボックスを起動するために使用される生成されたvagrantファイルに影響を与えるように見えます。これがお役に立てば幸いです。