# Changes to promoter container push due to new container workflow ## What is old container build workflow? * tripleo-ci containers-build role is used to build containers using kolla. * there container_config = "" is used for train, ussuri and master * https://opendev.org/openstack/tripleo-ci/src/branch/master/roles/build-containers/tasks/main.yaml#L21 * for older releases[queens, rocky, pike]: * container_config: "--config-file $TRIPLEO_COMMON_PATH/container-images/overcloud_containers.yaml" Currently promoter relies on https://opendev.org/openstack/tripleo-common/src/branch/master/container-images/overcloud_containers.yaml.j2 to get the container list by parsing name_prefix and name_suffix. * Above container_config is used with python-tripleoclient command * https://opendev.org/openstack/tripleo-ci/src/branch/master/roles/build-containers/templates/build.sh.j2#L11 * openstack overcloud container image build {{ container_config }}\ ## In promoter side How containers are pushed to docker.io? on promoter side: * "containers_list_path": "container-images/overcloud_containers.yaml.j2" is used https://github.com/rdo-infra/ci-config/blob/master/ci-scripts/dlrnapi_promoter/config.py#L58 to generate the container lists using name_prefix and name_suffix from https://opendev.org/openstack/tripleo-common/src/branch/master/container-images/overcloud_containers.yaml.j2. and then containers are pushed to docker.io ## What got changed on arrival of new container workflow? * In tripleo-ci build-containers role side, with introduction to new container flow, https://opendev.org/openstack/tripleo-common/src/branch/master/container-images/tripleo_containers.yaml is the source of truth. * It is used while building containers https://opendev.org/openstack/tripleo-ci/src/branch/master/roles/build-containers/templates/build.sh.j2#L79 ## What problems it is causing now? Since overcloud_containers.yaml and tripleo_containers.yaml have different set of containers which leading to false positive exclude while pushing the containers. It needs to be fixed. ## How to fix it? * Chnage the promoter config to https://github.com/rdo-infra/ci-config/blob/master/ci-scripts/dlrnapi_promoter/config.py#L58 to use overcloud_containers.yaml and tripleo_containers.yaml files instead of .j2 files. It requires changes in the codebase on promoter side, how it downloads the container.