tripleo-upgrade/tasks/common/configure_uc_containers.yml

124 lines
4.5 KiB
YAML

---
- name: check customized {{ uc_containers_prepare_file }} exists
stat:
path: "{{ working_dir }}/{{ uc_containers_prepare_file }}"
register: custom_uc_containers
- name: check hieradata_override parameter already defined in {{ undercloud_conf }}
shell: |
awk -F '=' '/^hieradata_override/ {gsub(/[[:space:]]/, "", $2); print $2 }' {{ undercloud_conf }}
failed_when: false
register: defined_hieradata_override
- name: check docker_insecure_registries already defined in {{ undercloud_conf }}
shell: |
awk -F '=' '/^docker_insecure_registries/ {gsub(/[[:space:]]/, "", $2); print $2 }' {{ undercloud_conf }}
failed_when: false
register: defined_insecure_registry
- name: check container_insecure_registries already defined in {{ undercloud_conf }}
shell: |
awk -F '=' '/^container_insecure_registries/ {gsub(/[[:space:]]/, "", $2); print $2 }' {{ undercloud_conf }}
failed_when: false
register: defined_container_registry
- name: set container_cli for undercloud
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: container_cli
value: "{{ undercloud_container_cli }}"
when: undercloud_container_cli is defined
- name: set undercloud_enable_paunch for undercloud
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: undercloud_enable_paunch
value: "{{ undercloud_enable_paunch }}"
when: undercloud_enable_paunch is defined
- block:
- name: set containers file for undercloud
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: container_images_file
value: "{{ working_dir }}/{{ uc_containers_prepare_file }}"
- name: get namespaces from {{ uc_containers_prepare_file }}
slurp:
src: "{{ uc_containers_prepare_file }}"
register: prep_param_raw
- name: set namespaces
set_fact:
ceph_namespace: "{{ (prep_param_raw.content|b64decode|from_yaml).parameter_defaults.ContainerImagePrepare[0].set.ceph_namespace.split('/')[0] }}"
full_namespace: "{{ (prep_param_raw.content|b64decode|from_yaml).parameter_defaults.ContainerImagePrepare[0].set.namespace }}"
- name: set container_insecure_registries for undercloud upgrade
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: container_insecure_registries
value: "{{ full_namespace.split('/')[0] }},{{ ceph_namespace }}"
when: defined_container_registry.stdout_lines|length == 0
- name: adjust existing container_insecure_registries for undercloud upgrade
vars:
reg_list: '{{ defined_insecure_registry.stdout.split(",")|union([full_namespace.split("/")[0],ceph_namespace])|unique|join(",") }}'
replace:
path: "{{ undercloud_conf }}"
regexp: '^(container_insecure_registries\s*=)(.*)'
replace: '\1 {{ reg_list }}'
when:
- defined_insecure_registry.stdout_lines|length != 0
- full_namespace is defined
- ceph_namespace is defined
- name: adjust existing container_insecure_registries for undercloud upgrade from docker_insecure_registries
vars:
reg_list: '{{ defined_container_registry.stdout.split(",")|union([full_namespace.split("/")[0],ceph_namespace])|unique|join(",") }}'
replace:
path: "{{ undercloud_conf }}"
regexp: '^(container_insecure_registries\s*=)(.*)'
replace: '\1 {{ reg_list }}'
when:
- defined_container_registry.stdout_lines|length != 0
- full_namespace is defined
- ceph_namespace is defined
- name: remove docker_insecure_registries from undercloud config file if present
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: docker_insecure_registries
state: absent
- name: set hieradata_override to {{ undercloud_conf }} when not existing
block:
- name: Create the hieradata_override file with the basic layout
copy:
dest: "{{ undercloud_hiera }}"
content: |
parameter_defaults:
UndercloudExtraConfig:
glance_backend: 'file'
- name: Configure hieradata_override parameter
ini_file:
path: "{{ undercloud_conf }}"
section: DEFAULT
option: hieradata_override
value: "{{ undercloud_hiera }}"
# This means that hieradata_override is empty
when: defined_hieradata_override.stdout_lines|length == 0
- name: modify hieradata_override configuration when defined in {{ undercloud_conf }}
replace:
path: "{{ defined_hieradata_override.stdout }}"
regexp: 'glance_backend(.*)'
replace: "glance_backend: 'file'"
when: defined_hieradata_override.stdout_lines|length != 0