2015-06-26 4 views
0

У меня есть следующая игра, Я тестировал и все задачи работают нормально, кроме тех случаев, когда невозможно остановить невосприимчивость к сервису на хосте. Он продолжает wainting в течение долгого времени и никогда не получает ответа от сервера (без тайм-аута, без сбоев, без ничего).ansible заблокирован в ожидании ответных сервисов с использованием сервисного модуля

В этом случае мне не пригодится асинхронный и опросный или метод «огонь и забухание», я попытался сделать остановку сначала, прежде чем совершить убийство -9.

- hosts: '{{ hostname }}' 

    become: yes 

    vars_prompt: 
     hostname: "Enter hostname" 


    tasks: 
    - name: Stop 
    service: name=some_service state=stopped pattern=some_pattern 
    register: stop_disabled_services 
    ignore_errors: yes 

    - name: Stop output 
    debug: msg="{{ stop_disabled_services }}" 

    - name: Killing process 
    shell: kill -9 $(cat /opt/day/cq5/publish/crx-quickstart/conf/cq.pid) 
    register: output 
    when: "stop_disabled_services | failed" 

    - name: Killing output 
    debug: msg="{{ output.stdout }}" 
    when: "output | failed" 

    - name: start 
    service: name=some_service state=started 
    register: start_disabled_services 

    - name: Result 
    debug: msg="WARNING Escalated this incident " 
    when: "start_disabled_services | failed" 

    - name: Result 
    debug: msg="Start up complete successfully" 
    when: "start_disabled_services | success" 

У вас есть идея, как я могу это сделать? Спасибо заранее.

ответ

0

Я решил. Я использовал метод async и с командой: sleep 300 в следующей задаче. Таким образом, игровая автомат ждет 300 секунд, если не остановится, а затем продолжится воспроизведение и использование kill -9. Teporal решение, но работает.

+0

Это сервис, который вы написали сами? Вы считали, что нужно ждать ожидания, а затем убить -9 в стоп-части скрипта init для этой службы? Это вытесняет этот беспорядок из Ansible и превращает его в лучшее место. – ydaetskcoR

+0

Спасибо, что ответили, нет, не написано мной. Проблема в том, что игровая приставка работает с jumphost и доходит до серверов от этого, я должен модифицировать много серверов, чтобы это сделать. –

Смежные вопросы