install-docker: enable setting docker userland proxy
This change enables docker user to disable the userland proxy. Do not merge until the default is set to false (used for testing). Change-Id: Ib30e409044ccc48b4c19beae36f1bcd453ebef8e
This commit is contained in:
parent
211e92ec40
commit
f8792a73d5
@ -75,3 +75,10 @@ An ansible role to install docker and configure it to use mirrors if available.
|
||||
based on :zuul:rolevar:`install-docker.docker_download_fqdn`. When this
|
||||
option is unset, the role will use distro specific variables which are
|
||||
loaded at the time of execution.
|
||||
|
||||
.. zuul:rolevar:: docker_userland_proxy
|
||||
:type: bool
|
||||
|
||||
Set to false to disable the docker userland proxy. This variable is useful
|
||||
when docker is causing routing problem, such as when a kubernetes deployment
|
||||
is unable to reach its own service.
|
||||
|
@ -12,5 +12,37 @@
|
||||
- "{{ docker_group }}"
|
||||
append: yes
|
||||
|
||||
- name: Update docker daemon configuration
|
||||
when: docker_userland_proxy is defined
|
||||
block:
|
||||
- name: Check if docker daemon configuration exists
|
||||
stat:
|
||||
path: /etc/docker/daemon.json
|
||||
register: docker_config_stat
|
||||
- name: Load docker daemon configuration
|
||||
when: docker_config_stat.stat.exists
|
||||
slurp:
|
||||
path: /etc/docker/daemon.json
|
||||
register: docker_config
|
||||
- name: Parse docker daemon configuration
|
||||
when: docker_config_stat.stat.exists
|
||||
set_fact:
|
||||
docker_config: "{{ docker_config.content | b64decode | from_json }}"
|
||||
- name: Set default docker daemon configuration
|
||||
when: not docker_config_stat.stat.exists
|
||||
set_fact:
|
||||
docker_config: {}
|
||||
- name: Add registry to docker daemon configuration
|
||||
vars:
|
||||
new_config:
|
||||
userland-proxy: "{{ docker_userland_proxy }}"
|
||||
set_fact:
|
||||
docker_config: "{{ docker_config | combine(new_config) }}"
|
||||
- name: Save docker daemon configuration
|
||||
copy:
|
||||
content: "{{ docker_config | to_nice_json }}"
|
||||
dest: /etc/docker/daemon.json
|
||||
become: true
|
||||
|
||||
- name: Reset ssh connection to pick up docker group
|
||||
meta: reset_connection
|
||||
meta: reset_connection
|
||||
|
Loading…
x
Reference in New Issue
Block a user