diff options
-rw-r--r-- | roles/docker/tasks/main.yml | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 89648b321..f06e4875b 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -24,17 +24,29 @@ action: "{{ ansible_pkg_mgr }} name=docker{{ '-' + docker_version if docker_version is defined and docker_version != '' else '' }} state=present" when: not openshift.common.is_atomic | bool and not docker_version_result | skipped and docker_version_result.stdout | default('0.0', True) | version_compare(docker_version, 'lt') -# We're getting ready to start docker. This is a workaround for cases where it -# seems a package install/upgrade/downgrade has rebooted docker and crashed it. +- name: Start the docker service + service: + name: docker + enabled: yes + state: started + register: start_result + ignore_errors: yes + +# If docker were enabled and started before we downgraded it there's a real possibility +# that it's marked failed, so if our first attempt to start it fails reset the failure +# and start it again. - name: Reset docker service state command: systemctl reset-failed docker.service + when: start_result | failed + register: reset_failed -- name: enable and start the docker service +- name: Start the docker service if it had failed service: name: docker enabled: yes state: started register: start_result + when: reset_failed | changed - set_fact: docker_service_status_changed: start_result | changed |