2017-03-27 1 views
0

J'ai un problème lors du test de mes livres de cuisine de chef en utilisant Kitchen. J'utilise Vagrant comme pilote et Virtual Box comme système de virtualisation. Ils fonctionnent sur la plate-forme Linux. J'ai créé une recette de test pour redémarrer ma machine. Voici le code:Test Kitchen: Le chef ne redémarre pas après le redémarrage

# 
# 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 

Et je configure mon .kitchen.yml dans ce mode:

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 

Je pense que, en lançant la recette aller en boucle de redémarrer plus d'une fois vm. Au lieu de cela, après le premier redémarrage je reçois:

 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 

Répondre

0

Je résolu mon problème! J'ai ajouté ces paramètres (voir le bloc de code) dans kitchen.yml et fonctionne maintenant correctement!

max_retries: 3 
    multiple_converge: 3 
    wait_for_retry: 600 

Ma recette redémarre maintenant 4 fois mes machines virtuelles!