myos/ansible/roles/docker/tasks/run.yml

54 lines
2.3 KiB
YAML

---
# file: tasks/run.yml
- name: run - Get current docker status
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-get-status {{item}}"
register: docker_current_status_command
- name: run - Register docker_current_status
with_items: "{{docker_current_status_command.results}}"
set_fact:
docker_current_status: "{{docker_current_status |default({}) |combine( {item.item: item.stdout} ) }}"
- name: run - Debug docker_current_status
when: docker_debug|default(false)
with_items: "{{dockers|default([])}}"
debug: msg="{{docker_current_status[item]}}"
- name: run - Get current docker image
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-get-image {{item}}"
register: docker_current_image_command
- name: run - Register docker_current_image
with_items: "{{docker_current_image_command.results}}"
set_fact:
docker_current_image: "{{docker_current_image |default({}) |combine( {item.item: item.stdout} ) }}"
- name: run - Debug docker_current_image
when: docker_debug|default(false)
with_items: "{{dockers|default([])}}"
debug: msg="{{docker_current_image[item]}}"
- name: run - Stop current docker
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" == "{{item}} running"
with_items: "{{dockers|default([])}}"
command: "docker stop {{item}}"
- name: run - Remove current docker
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" != ""
with_items: "{{dockers|default([])}}"
command: "docker rm {{item}}"
- name: run - Run docker image
when: docker_start|default(true) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false)
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-run -q -c {{docker_cluster|default('\"\"')}} {{item}}"
- name: run - Start docker
when: docker_start|default(true) and "{{docker_current_image[item]}}" == "{{docker_build_image[item]}}" and "{{docker_current_status[item]}}" != "{{item}} running"
with_items: "{{dockers|default([])}}"
command: "docker start {{item}}"