Hi,
-
hosts: dev_tomcat
vars:
http_port: 8080
sudo: true
sudo_user: build
tasks:
-
name: copy_shut
copy: src=/etc/ansible/playbooks/scripts/shutdown_all.sh dest=/tmp
-
name: change_permission_shut
file: path=/tmp/shutdown_all.sh mode=777
-
name: copy_start
copy: src=/etc/ansible/playbooks/scripts/startup_all.sh dest=/tmp
-
name: change_permission_start
file: path=/tmp/startup_all.sh mode=777
-
name: stopping tomcat
shell: /tmp/./shutdown_all.sh
-
name: starting tomcat
#command: sudo -u build /etc/init.d/tomcat start
shell: /tmp/./startup_all.sh
startup_all.sh => /etc/init.d/tomcat start
My guess would be that your playbook tried to start it before it had finished shutting down.
Simplest thing to do would be wait a bit before trying the start, but it would be better to check it is down.
You could use wait_for module to check it is down:
http://docs.ansible.com/ansible/wait_for_module.html
Incidentally, checking that tomcat is fully up and ready to service requests is tricky as it seems to lock its listening port and then not respond on it for some time.
We used to just wait before polling a particular url but now we use a pattern similar to what is described here to poll until we get a 200
https://groups.google.com/forum/#!searchin/ansible-project/do-until$20with$20uri$20module|sort:relevance/ansible-project/iLjIbsCASWU/ZmE-wYdtLQAJ
Hope this helps,
Jon