main.yml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ---
  2. - stat: path=/etc/sysconfig/docker-storage
  3. register: docker_storage_check
  4. # Make sure Docker is installed, but does not update a running version.
  5. # Docker upgrades are handled by a separate playbook.
  6. - name: Install Docker
  7. action: "{{ ansible_pkg_mgr }} name=docker state=present"
  8. when: not openshift.common.is_atomic | bool
  9. - name: Start the Docker service
  10. service:
  11. name: docker
  12. enabled: yes
  13. state: started
  14. register: start_result
  15. - set_fact:
  16. docker_service_status_changed: start_result | changed
  17. - include: udev_workaround.yml
  18. when: docker_udev_workaround | default(False) | bool
  19. - stat: path=/etc/sysconfig/docker
  20. register: docker_check
  21. - name: Set registry params
  22. lineinfile:
  23. dest: /etc/sysconfig/docker
  24. regexp: '^{{ item.reg_conf_var }}=.*$'
  25. line: "{{ item.reg_conf_var }}='{{ item.reg_fact_val | oo_prepend_strings_in_list(item.reg_flag ~ ' ') | join(' ') }}'"
  26. when: item.reg_fact_val != '' and docker_check.stat.isreg
  27. with_items:
  28. - reg_conf_var: ADD_REGISTRY
  29. reg_fact_val: "{{ docker_additional_registries | default(None, true)}}"
  30. reg_flag: --add-registry
  31. - reg_conf_var: BLOCK_REGISTRY
  32. reg_fact_val: "{{ docker_blocked_registries| default(None, true) }}"
  33. reg_flag: --block-registry
  34. - reg_conf_var: INSECURE_REGISTRY
  35. reg_fact_val: "{{ docker_insecure_registries| default(None, true) }}"
  36. reg_flag: --insecure-registry
  37. notify:
  38. - restart docker
  39. - name: Set Proxy Settings
  40. lineinfile:
  41. dest: /etc/sysconfig/docker
  42. regexp: '^{{ item.reg_conf_var }}=.*$'
  43. line: "{{ item.reg_conf_var }}='{{ item.reg_fact_val }}'"
  44. state: "{{ 'present' if item.reg_fact_val != '' else 'absent'}}"
  45. with_items:
  46. - reg_conf_var: HTTP_PROXY
  47. reg_fact_val: "{{ docker_http_proxy | default('') }}"
  48. - reg_conf_var: HTTPS_PROXY
  49. reg_fact_val: "{{ docker_https_proxy | default('') }}"
  50. - reg_conf_var: NO_PROXY
  51. reg_fact_val: "{{ docker_no_proxy | default('') | join(',') }}"
  52. notify:
  53. - restart docker
  54. when: "{{ 'http_proxy' in openshift.common or 'https_proxy' in openshift.common and docker_check.stat.isreg }}"
  55. - name: Set various Docker options
  56. lineinfile:
  57. dest: /etc/sysconfig/docker
  58. regexp: '^OPTIONS=.*$'
  59. line: "OPTIONS='\
  60. {% if ansible_selinux and ansible_selinux.status == '''enabled''' %} --selinux-enabled{% endif %}\
  61. {% if docker_log_driver is defined %} --log-driver {{ docker_log_driver }}{% endif %}\
  62. {% if docker_log_options is defined %} {{ docker_log_options | oo_split() | oo_prepend_strings_in_list('--log-opt ') | join(' ')}}{% endif %}\
  63. {% if docker_options is defined %} {{ docker_options }}{% endif %}\
  64. {% if docker_disable_push_dockerhub is defined %} --confirm-def-push={{ docker_disable_push_dockerhub | bool }}{% endif %}'"
  65. when: docker_check.stat.isreg
  66. notify:
  67. - restart docker
  68. - meta: flush_handlers