This does not try to build the monasca-grafana image. This appears to be
an issue when the image is a grandchild.
2. kolla-build --type source --skip-parents
This will build all images. Expect it to skip parents.
3. kolla-build --type source --skip-existing
This will build all images. Expect it to skip existing images.
The filter_images method does quite a lot, including handling
whether images are buildable, regex/profile matching, and which images
to skip. The matching and skipping parts are done in a single pass,
which can lead to some weird effects due to dependencies between the
images and their statuses. Also, skipping is only currently applied when
there is a regex/profile filter.
This change splits out the matching and skipping into two separate
passes. In the first pass, we mark all buildable images that match the
filter as matched. In the second, we iterate over matched images,
applying the skip existing and skip parents rules.
Reviewed: https:/ /review. opendev. org/717506 /git.openstack. org/cgit/ openstack/ kolla/commit/ ?id=c59dc07e903 1eaf127b4222a66 efc06db29454d2
Committed: https:/
Submitter: Zuul
Branch: stable/train
commit c59dc07e9031eaf 127b4222a66efc0 6db29454d2
Author: Mark Goddard <email address hidden>
Date: Mon Mar 16 12:54:11 2020 +0000
Fix --skip-existing and --skip-parents
There are currently a few corner cases with the --skip-existing and
--skip-parents flags. Examples:
1. kolla-build --type source --skip-parents monasca-grafana
This does not try to build the monasca-grafana image. This appears to be
an issue when the image is a grandchild.
2. kolla-build --type source --skip-parents
This will build all images. Expect it to skip parents.
3. kolla-build --type source --skip-existing
This will build all images. Expect it to skip existing images.
The filter_images method does quite a lot, including handling
whether images are buildable, regex/profile matching, and which images
to skip. The matching and skipping parts are done in a single pass,
which can lead to some weird effects due to dependencies between the
images and their statuses. Also, skipping is only currently applied when
there is a regex/profile filter.
This change splits out the matching and skipping into two separate
passes. In the first pass, we mark all buildable images that match the
filter as matched. In the second, we iterate over matched images,
applying the skip existing and skip parents rules.
Change-Id: I2f895aea0cc59d 808129e9fc636af 0890196af33 bd177c984fd9d0a 8bab51d40c)
Closes-Bug: #1867614
Related-Bug: #1810979
(cherry picked from commit dfddcce3a5bc98c