我正在尝试通过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,但是我想知道是否有更好的方法来确保在运行第二个shell命令之前成功完成第一个。请指教!
答案 0 :(得分:0)
显然,这与Ansible无关。
默认情况下,程序在前台运行。
答案 1 :(得分:0)
@sorin这与Ansible相关!
@op;您可以附加到firmware_update.sh
脚本,该脚本完成后会将特定值写入特定路径。然后让Ansible检查该文件以及该值是否存在。如果是,请继续,如果没有,请重试。
另一种可能性是在bash脚本本身中编写逻辑。