Relax filter_images_with_labels() and re-add kolla_version

This patch does 2 things (on purpose for easier backport without CI
failures):

1) TCIB: add "kolla_version" for backward compatibility

In TripleO CI, we run container updates using tripleo-modify-image role
but only for the images with "kolla_version" label.

https://opendev.org/openstack/tripleo-quickstart-extras/src/branch/master/roles/undercloud-deploy/templates/containers-prepare-parameter.yaml.j2#L13

In the future, we'll rename this LABEL to be more TCIB specific and
remove "kolla" from it, but for now let's have it for backward
compatibility.

2) image_uploader: relax logic for filter_images_with_labels()

modify_only_with_labels is a list of labels that can be set to find out
what images we want to modify with the tripleo-modify-image role.

Before, all the items in the list must be present in the image Labels;
which is too strict (e.g. kolla_version label used by quickstart doesn't
exist in the new images with TCIB).

Let's relax it so we will modify the image if at least one label is
present in there.

Related-Bug: #1886914
Change-Id: Ia9b75f8a50c83fc38d7a4f6d5e6a9726d82fbd8c
This commit is contained in:
Emilien Macchi 2020-07-09 09:49:39 -04:00
parent 76ac805eb9
commit af74c389e4
2 changed files with 10 additions and 2 deletions

View File

@ -35,6 +35,7 @@ tcib_envs:
tcib_gather_files: '{{ lookup(''fileglob'', ''/usr/share/tripleo-common/container-images/kolla/base/*'', wantlist=True) }}'
tcib_labels:
maintainer: OpenStack TripleO team
kolla_version: none
tcib_packages:
common:
- ca-certificates

View File

@ -987,8 +987,15 @@ class BaseImageUploader(object):
raise
image_labels = self._image_labels(
url, session=session)
if set(labels).issubset(set(image_labels)):
images_with_labels.append(image)
# The logic is the following: if one of the labels in
# modify_only_with_labels parameter is present in the image, it
# will match and add the images that need to be modified.
for label in labels:
if label in image_labels:
# we found a matching label, adding the image
# and leave the loop.
images_with_labels.append(image)
break
return images_with_labels