Как я могу написать команду bash, выполнение которой занимает 15 минут, прежде чем другая команда будет выполнена в Ansible? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь обновить версию какого-либо программного обеспечения через Ansible для сервера.

    - name: upgrade firmware version
      shell: bash -x bmc_firmware_update.sh -k -F BMC_0204.00.bin_enc -s 1 

Это может занять около 15 минут. После этого у меня есть другая команда:

    -name: something else
     shell: bash -x bmc_firmware_update.sh -k -F BMC_0204.00.bin_enc -s 2. 

Я столкнулся с wait_for: timeout = 300, но я хочу знать, есть ли лучший способ убедиться, что первый успешно завершендо запуска второй команды оболочки. Пожалуйста, совет!

Ответы [ 2 ]

0 голосов
/ 14 ноября 2019

@ сорин это связано с Ansible!

@ op;Вы можете добавить к сценарию firmware_update.sh, что по завершении он записывает определенное значение в определенный путь. Затем пусть Ansible проверит этот файл и найдет ли это значение. Если это так, продолжайте, если нет, повторите попытку.

Другая возможность - записать логику в сами скрипты bash.

0 голосов
/ 14 ноября 2019

Очевидно, это не имеет ничего общего с Ansible.

Программы по умолчанию выполняются на переднем плане.

...