diff options
author | Tlacenka <tlacencin@gmail.com> | 2017-10-13 16:42:07 +0200 |
---|---|---|
committer | Tomas Sedovic <tomas@sedovic.cz> | 2017-10-13 16:42:07 +0200 |
commit | 428018cbe505101d6f034fa4a0aaf53fd8f2caf1 (patch) | |
tree | 314fac86e114e115daa63c2ef13f74b1a4299f28 /playbooks/provisioning/openstack/custom-actions | |
parent | b450ff75888f7801094ca88957a237f33f5e85f1 (diff) | |
download | openshift-428018cbe505101d6f034fa4a0aaf53fd8f2caf1.tar.gz openshift-428018cbe505101d6f034fa4a0aaf53fd8f2caf1.tar.bz2 openshift-428018cbe505101d6f034fa4a0aaf53fd8f2caf1.tar.xz openshift-428018cbe505101d6f034fa4a0aaf53fd8f2caf1.zip |
Add Extra Docker Registry URLs (custom post-provision action) (#794)
* add-docker-registry: playbook that adds docker registries to docker config file (in progress)
* indentation fix
* docker registries: add check for variable type
* another type conversion
* docker registry: try another unified formatting
* another attempt
* type error fix
* quotation attempt
* docker registry: bug fixes
* docker registry: fixed formatting
* docker registry: if docker is not available, skip the whole playbook
* README updated
* README: typo
* docker registries: suggested changes applied (in progress)
* docker registries: README updated, redundant check removed
* removed redundant become:true
Diffstat (limited to 'playbooks/provisioning/openstack/custom-actions')
-rw-r--r-- | playbooks/provisioning/openstack/custom-actions/add-docker-registry.yml | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/playbooks/provisioning/openstack/custom-actions/add-docker-registry.yml b/playbooks/provisioning/openstack/custom-actions/add-docker-registry.yml new file mode 100644 index 000000000..e118a71dc --- /dev/null +++ b/playbooks/provisioning/openstack/custom-actions/add-docker-registry.yml @@ -0,0 +1,90 @@ +--- +- hosts: OSEv3 + become: true + vars: + registries: [] + insecure_registries: [] + + tasks: + - name: Check if docker is even installed + command: docker + + - name: Install atomic-registries package + yum: + name: atomic-registries + state: latest + + - name: Get registry configuration file + register: file_result + stat: + path: /etc/containers/registries.conf + + - name: Check if it exists + assert: + that: 'file_result.stat.exists' + msg: "Configuration file does not exist." + + - name: Load configuration file + shell: cat /etc/containers/registries.conf + register: file_content + + - name: Store file content into a variable + set_fact: + docker_conf: "{{ file_content.stdout | from_yaml }}" + + - name: Make sure that docker file content is a dictionary + when: '(docker_conf is string) and (not docker_conf)' + set_fact: + docker_conf: {} + + - name: Make sure that registries is a list + when: 'registries is string' + set_fact: + registries_list: [ "{{ registries }}" ] + + - name: Make sure that insecure_registries is a list + when: 'insecure_registries is string' + set_fact: + insecure_registries_list: [ "{{ insecure_registries }}" ] + + - name: Set default values if there are no registries defined + set_fact: + docker_conf_registries: "{{ [] if docker_conf['registries'] is not defined else docker_conf['registries'] }}" + docker_conf_insecure_registries: "{{ [] if docker_conf['insecure_registries'] is not defined else docker_conf['insecure_registries'] }}" + + - name: Add other registries + when: 'registries_list is not defined' + register: registries_merge_result + set_fact: + docker_conf: "{{ docker_conf | combine({'registries': (docker_conf_registries + registries) | unique}, recursive=True) }}" + + - name: Add other registries (if registries had to be converted) + when: 'registries_merge_result|skipped' + set_fact: + docker_conf: "{{ docker_conf | combine({'registries': (docker_conf_registries + registries_list) | unique}, recursive=True) }}" + + - name: Add insecure registries + when: 'insecure_registries_list is not defined' + register: insecure_registries_merge_result + set_fact: + docker_conf: "{{ docker_conf | combine({'insecure_registries': (docker_conf_insecure_registries + insecure_registries) | unique }, recursive=True) }}" + + - name: Add insecure registries (if insecure_registries had to be converted) + when: 'insecure_registries_merge_result|skipped' + set_fact: + docker_conf: "{{ docker_conf | combine({'insecure_registries': (docker_conf_insecure_registries + insecure_registries_list) | unique }, recursive=True) }}" + + - name: Load variable back to file + copy: + content: "{{ docker_conf | to_yaml }}" + dest: /etc/containers/registries.conf + + - name: Restart registries service + service: + name: registries + state: restarted + + - name: Restart docker + service: + name: docker + state: restarted |