Назад | Перейти на главную страницу

Тестовая кухня не обнаруживает WinRM и использует SSH для гостевой Windows

Я новичок в тестировании кухни с окнами

Я тестирую рецепты шеф-повара на машине с Windows, используя Test Kitchen с Vagrant (virtualbox).

у меня есть win-2012-r2 коробка, которая отлично работает с Vagrant (работают как winrm, так и rdp)

Но, используя то же самое с кухней, он пытается подключить SSH вместо winrm

Вот мой .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 и получите дополнительную информацию о том, почему истекло время ожидания компьютера.

У меня была аналогичная проблема с этим, и в моем случае, чтобы исправить эту проблему, мне нужно было указать атрибут коммуникатора как «winrm» в файле kitchen.yml:

driver:
  name: vagrant
  boot_timeout: 1200
  gui: true
  communicator: winrm

Кроме того, я заметил, что ваши учетные данные отличаются от моих. Я указываю «имя пользователя» и «пароль» в разделе «платформа» / «driver_config», а не «winrm_username» и «winrm_password». Кроме того, в моем случае мой порт не является типичным 5985, потому что это настраиваемый виртуальный ящик, и в моем случае 55985 (HOST) сопоставляется с 5985 (GUEST), но вам нужно использовать правильный порт, как указано 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», по-видимому, влияет на сгенерированный бродячий файл, используемый для вызова окна с помощью бродяг. Надеюсь, это поможет!