Тестовая кухня: шеф-повар не перезагружается после перезагрузки

У меня проблема с тестированием поваренных книг моего шеф-повара с помощью Kitchen. Я использую Vagrant в качестве драйвера и Virtual Box в качестве системы виртуализации. Они работают на платформе Linux.

Я создал тестовый рецепт для перезагрузки машины. Это код:

#
# Author:: Alessandro Zucchelli
# Recipe:: test_recipe_required_reboot
#

reboot 'test if kitchen runs when a recipe leaves it to the post-install phase' do
  action :request_reboot
  reason 'Need to reboot when the run completes successfully.'
  delay_mins 1
end

И я настраиваю свой.kitchen.yml в этом режиме:

driver:
  name: vagrant
  gui: true
  boot_timeout: 1200
#  log_level: debug
provisioner:
  name: chef_zero
  require_chef_omnibus: 12.11 # need the RFC 062 exit codes
  retry_on_exit_code: 
    - 35 # 35 is the exit code signaling that the node is rebooting
  max_retries: 3
  multiple_converge: 3
  client_rb:
    exit_status: :enabled # Opt-in to the standardized exit codes
    client_fork: false # Forked instances don't return the real exit code
  #log_level: debug
platforms:
  - name: mybox/win-7-professional-amd64-nocm
    transport:
        name: winrm
        elevated: true
        connection_timeout: 3600
        max_wait_until_ready: 600
        connection_retry_sleep: 300

Я ожидаю, что, запустив рецепт, вы можете зацикливаться, перезапуская vm более одного раза. Вместо первой перезагрузки я получаю:

      Starting Chef Client, version 12.11.18
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Failed to complete #converge action: [execution expired] on ktest-mybox-win-7-professional-amd64-nocm
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

1 ответ

Я решил свою проблему! Я добавил эти параметры (просмотр блока кода) в kitchen.yml и теперь работает правильно!

  max_retries: 3
  multiple_converge: 3
  wait_for_retry: 600

Мой рецепт теперь перезагрузить 4 раза мои виртуальные машины!

Другие вопросы по тегам