Use prepare command for overcloud_containers.yaml

Most deployments will not be able to use the packaged
overcloud_containers.yaml unmodified, so the prepare command will
allow local modified files to be created.

Once nothing in CI consumes the packaged overcloud_containers.yaml, it
will be deleted.

This change also used the --env-file option to generate
container-default-parameters.yaml instead of the current templated
approach. There is about to be some disruption to how the namespace is
represented in the image parameters, so using the prepare command will
help mitigate that.

Change-Id: I6a5796428c224584359b2a434d7fc80878d5f038
Partial-Bug: #1696598
This commit is contained in:
Steve Baker
2017-06-21 13:24:41 +12:00
parent c7d6b0a3cb
commit 90e7037683
7 changed files with 30 additions and 19 deletions

View File

@@ -177,7 +177,6 @@
container_args: >-
-e {{ overcloud_templates_path }}/environments/docker.yaml
-e {{ overcloud_templates_path }}/environments/docker-network.yaml
-e {{ overcloud_templates_path }}/environments/docker-centos-tripleoupstream.yaml
-e {{ working_dir }}/containers-default-parameters.yaml
when:
- containerized_overcloud|bool

View File

@@ -27,10 +27,11 @@ overcloud-prep-containers variables
* working_dir: /home/stack
* containerized_overcloud: false
* overcloud_prep_containers_script: overcloud-prep-containers.sh.j2
* containers_default_parameters: container-default-parameters.yaml.j2
* overcloud_prep_containers_log: overcloud_prep_containers.log
* undercloud_network_cidr: 192.168.24.0/24
* ctl_plane_ip: "{{undercloud_network_gateway|default(undercloud_network_cidr|nthhost(1))}}"
* docker_registry_host: docker.io
* docker_image_tag: latest
overcloud-prep-config variables
-------------------------------

View File

@@ -3,10 +3,11 @@
tripleo_common_dir: /usr/share/openstack-tripleo-common
containerized_overcloud: false
overcloud_prep_containers_script: overcloud-prep-containers.sh.j2
containers_default_parameters: container-default-parameters.yaml.j2
overcloud_prep_containers_log: overcloud_prep_containers.log
ctl_plane_ip: "{{undercloud_network_gateway|default(undercloud_network_cidr|nthhost(1))}}"
docker_registry_namespace: tripleoupstream
docker_registry_host: docker.io
docker_image_tag: latest
# Be careful with this setting as it entirely wipes the /var/lib/docker directory
# Useful in CI to workaround disk space issue
# https://bugs.launchpad.net/tripleo/+bug/1694709

View File

@@ -5,10 +5,3 @@
src: "{{ overcloud_prep_containers_script }}"
dest: "{{ working_dir }}/overcloud-prep-containers.sh"
mode: 0755
- name: Create the default parameters for the container deployment
template:
src: "{{ containers_default_parameters }}"
dest: "{{ working_dir }}/containers-default-parameters.yaml"
mode: 0755

View File

@@ -1,5 +0,0 @@
parameter_defaults:
# Enable local Docker registry
DockerNamespace: {{ ctl_plane_ip }}:8787/{{ docker_registry_namespace }}
DockerNamespaceIsRegistry: true
DockerInsecureRegistryAddress: {{ ctl_plane_ip }}:8787

View File

@@ -15,7 +15,15 @@ set -eux
## * Populate the docker registry
## ::
openstack overcloud container image upload --verbose --config-file {{ tripleo_common_dir }}/container-images/overcloud_containers.yaml
openstack overcloud container image prepare \
--images-file {{ working_dir }}/overcloud_containers.yaml \
--namespace {{ docker_registry_namespace }} \
--tag {{ docker_image_tag }} \
--pull-source {{ docker_registry_host }} \
--exclude ceph \
--push-destination {{ ctl_plane_ip }}:8787
openstack overcloud container image upload --verbose --config-file {{ working_dir }}/overcloud_containers.yaml
{% if delete_docker_cache|bool %}
## * Delete Docker Cache
@@ -27,9 +35,16 @@ sudo rm -rf /var/lib/docker
sudo systemctl start docker
{% endif %}
## * Configure the environments/docker.yaml, this is done automatically.
## * Configure the {{ working_dir }}/containers-default-parameters.yaml, this is done automatically.
## ::
openstack overcloud container image prepare \
--env-file {{ working_dir }}/containers-default-parameters.yaml \
--namespace {{ ctl_plane_ip }}:8787/{{ docker_registry_namespace }}
echo " DockerInsecureRegistryAddress: {{ ctl_plane_ip }}:8787" >> \
{{ working_dir }}/containers-default-parameters.yaml
echo "============================="
echo "Containers default parameters:"
cat {{ working_dir }}/containers-default-parameters.yaml

View File

@@ -14,7 +14,15 @@ source {{ upgrade_working_dir }}/stackrc
{% if containerized_overcloud_upgrade_pull_images|bool %}
# pull latest containers to the registry
openstack overcloud container image upload --verbose --config-file {{ tripleo_common_dir }}/container-images/overcloud_containers.yaml
openstack overcloud container image prepare \
--images-file {{ upgrade_working_dir }}/overcloud_containers.yaml \
--namespace {{ docker_registry_namespace }} \
--push-destination {{ ctl_plane_ip }}:8787
openstack overcloud container image prepare \
--env-file ~/containers-default-parameters.yaml \
--namespace {{ ctl_plane_ip }}:8787/{{ docker_registry_namespace }}
{% endif %}
{% if target_upgrade_version in ['pike', 'master'] %}
@@ -24,7 +32,6 @@ openstack overcloud deploy --templates {{ tht_dir }} \
{{ deploy_args_used }} \
-e {{ tht_dir }}/environments/docker.yaml \
-e {{ tht_dir }}/environments/major-upgrade-composable-steps-docker.yaml \
-e {{ tht_dir }}/environments/docker-centos-tripleoupstream.yaml \
-e ~/containers-default-parameters.yaml \
-e ~/overcloud-repo.yaml \
{% for item in upgrade_custom_templates %}