如何在Ansible playbook中等待tomcat服务器启动
这可能是一个奇怪的问题,我尝试过搜索,但找不到我要找的东西。 我有一个下面的剧本,它启动tomcat并检查状态。我如何设置一个条件,在我的剧本完成之前等待它上线。我已经研究了等待模块,但无法在剧本中展示如何在Ansible playbook中等待tomcat服务器启动,ansible,ansible-inventory,Ansible,Ansible Inventory,这可能是一个奇怪的问题,我尝试过搜索,但找不到我要找的东西。 我有一个下面的剧本,它启动tomcat并检查状态。我如何设置一个条件,在我的剧本完成之前等待它上线。我已经研究了等待模块,但无法在剧本中展示 --- - name: Starting tomcat service on remote host shell: "svcadm enable tomcat" ignore_errors: true - pause: seconds: 10 - name: Ch
---
- name: Starting tomcat service on remote host
shell: "svcadm enable tomcat"
ignore_errors: true
- pause:
seconds: 10
- name: Check the State of tomcat service on the remote host
shell: "svcs tomcat"
register: tomcat_status
- set_fact:
tomcat_state: "{{ tomcat_status.stdout_lines.1.split().0 }}"
tomcat_state的值应该是online,它告诉我们tomcat已启动
我们能在这里做些什么,或者有别的办法吗?如果有人能提供一些意见,我将不胜感激
- name: wait for completion
wait_for:
port: <your_port>
delay: 60
timeout: 500
通过这种方式,此任务等待60秒,然后检查您指定的端口上是否有问题,并尝试500秒注意,使用wait_for时可能会出现如下问题:仅因为端口已打开,并不意味着tomcat应用程序实际上已准备好为请求提供服务。如果您试图在完成此任务后立即访问该服务,您可能希望在一个应用程序中使用uri模块。@larsks我确实尝试过,但出现以下错误。我的远程服务器无法从外部访问,也没有internet连接。server1失败| msg:无法连接到mytest.com的端口443:[Errno 146]连接被拒绝SoI我不确定uri模块是否可以工作为什么要从外部访问服务器?将remote_src设置为yes以在节点上执行任务。顺便说一下,我过去一直在等他,因为他问起了