#ceph_docker_registry_auth: false
#ceph_docker_registry_username:
#ceph_docker_registry_password:
+#ceph_docker_http_proxy:
+#ceph_docker_https_proxy:
+#ceph_docker_no_proxy: "localhost,127.0.0.1"
## Client only docker image - defaults to {{ ceph_docker_image }}
#ceph_client_docker_image: "{{ ceph_docker_image }}"
#ceph_client_docker_image_tag: "{{ ceph_docker_image_tag }}"
ceph_docker_registry_auth: true
#ceph_docker_registry_username:
#ceph_docker_registry_password:
+#ceph_docker_http_proxy:
+#ceph_docker_https_proxy:
+#ceph_docker_no_proxy: "localhost,127.0.0.1"
## Client only docker image - defaults to {{ ceph_docker_image }}
#ceph_client_docker_image: "{{ ceph_docker_image }}"
#ceph_client_docker_image_tag: "{{ ceph_docker_image_tag }}"
retries: "{{ docker_pull_retry }}"
delay: 10
when: (ceph_docker_dev_image is undefined or not ceph_docker_dev_image | bool)
+ environment:
+ HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
+ HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
+ NO_PROXY: "{{ ceph_docker_no_proxy }}"
- name: "inspecting {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} image after pulling"
command: "{{ container_binary }} inspect {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
- name: container registry authentication
command: '{{ container_binary }} login -u {{ ceph_docker_registry_username }} -p {{ ceph_docker_registry_password }} {{ ceph_docker_registry }}'
changed_when: false
- no_log: true
\ No newline at end of file
+ no_log: true
+ environment:
+ HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
+ HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
+ NO_PROXY: "{{ ceph_docker_no_proxy }}"
\ No newline at end of file
tags: with_pkg
when: inventory_hostname in groups.get(osd_group_name, [])
-- name: start container service
- service:
- name: '{{ container_service_name }}'
- state: started
- enabled: yes
- tags:
- with_pkg
+- name: extra configuration for docker
when: container_service_name == 'docker'
+ block:
+ - name: create the systemd docker override directory
+ file:
+ path: /etc/systemd/system/docker.service.d
+ state: directory
+ when: ceph_docker_http_proxy is defined or ceph_docker_https_proxy is defined
+
+ - name: create the systemd docker override file
+ template:
+ src: docker-proxy.conf.j2
+ dest: /etc/systemd/system/docker.service.d/proxy.conf
+ mode: 0600
+ owner: root
+ group: root
+ register: proxy_created
+ when: ceph_docker_http_proxy is defined or ceph_docker_https_proxy is defined
+
+ - name: remove docker proxy configuration
+ file:
+ path: /etc/systemd/system/docker.service.d/proxy.conf
+ state: absent
+ register: proxy_removed
+ when:
+ - ceph_docker_http_proxy is not defined
+ - ceph_docker_https_proxy is not defined
+
+ # using xxx.changed here instead of an ansible handler because we need to
+ # have an immediate effect and not wait the end of the play.
+ # using flush_handlers via the meta action plugin isn't enough too because
+ # it flushes all handlers and not only the one notified in this role.
+ - name: restart docker
+ systemd:
+ name: "{{ container_service_name }}"
+ state: restarted
+ daemon_reload: yes
+ when: proxy_created.changed | bool or proxy_removed.changed | bool
+
+ - name: start container service
+ service:
+ name: '{{ container_service_name }}'
+ state: started
+ enabled: yes
+ tags:
+ with_pkg
--- /dev/null
+[Service]
+{% if ceph_docker_http_proxy is defined %}
+Environment="HTTP_PROXY={{ ceph_docker_http_proxy }}"
+{% endif %}
+{% if ceph_docker_https_proxy is defined %}
+Environment="HTTPS_PROXY={{ ceph_docker_https_proxy }}"
+{% endif %}
+Environment="NO_PROXY={{ ceph_docker_no_proxy }}"
ceph_docker_registry_auth: false
#ceph_docker_registry_username:
#ceph_docker_registry_password:
+#ceph_docker_http_proxy:
+#ceph_docker_https_proxy:
+ceph_docker_no_proxy: "localhost,127.0.0.1"
## Client only docker image - defaults to {{ ceph_docker_image }}
ceph_client_docker_image: "{{ ceph_docker_image }}"
ceph_client_docker_image_tag: "{{ ceph_docker_image_tag }}"