From e22c529166f78e79760aeb0cc3b4ab33dd3b6f9c Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Mon, 27 Jan 2020 12:43:14 +0100 Subject: Add new option to enable unbuildable images I7a92b762f6a783f92ebca61e5595e1422a92df4f added checking for unbuildable images when someone wants just templates (like TripleO for example). But what if someone wants all images despite their buildability status? Or wants to build for some new distro/arch combo? --enable-unbuildable just ignores internal UNBUILDABLE_IMAGES list and tries all images. Change-Id: I20312b9719c6f5e3dca0b4198607ddae183152f1 --- kolla/common/config.py | 4 +++- kolla/image/build.py | 8 +++++--- releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml diff --git a/kolla/common/config.py b/kolla/common/config.py index 9c95de302..ce6be6e15 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -258,7 +258,9 @@ _CLI_OPTS = [ cfg.BoolOpt('docker-healthchecks', default=True, help='Add Kolla docker healthcheck scripts in the image'), cfg.BoolOpt('quiet', short='q', default=False, - help='Do not print image logs') + help='Do not print image logs'), + cfg.BoolOpt('enable-unbuildable', default=False, + help='Enable images marked as unbuildable') ] _BASE_OPTS = [ diff --git a/kolla/image/build.py b/kolla/image/build.py index a6cc4719e..5b17383d9 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -1064,9 +1064,11 @@ class KollaWorker(object): self.base_arch) tag_re = re.compile(r'^%s(\+%s)*$' % (tag_element, tag_element)) unbuildable_images = set() - for set_tag in UNBUILDABLE_IMAGES: - if tag_re.match(set_tag): - unbuildable_images.update(UNBUILDABLE_IMAGES[set_tag]) + + if not self.conf.enable_unbuildable: + for set_tag in UNBUILDABLE_IMAGES: + if tag_re.match(set_tag): + unbuildable_images.update(UNBUILDABLE_IMAGES[set_tag]) if unbuildable_images: for image in self.images: diff --git a/releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml b/releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml new file mode 100644 index 000000000..966d74215 --- /dev/null +++ b/releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml @@ -0,0 +1,14 @@ +--- +features: + - | + Adds `--enable-unbuildable` options to ignore internal list of unbuildable + images. It is useful in two situations: building for new + distribution/architecture or generation of templates (with + '--templates-only' option) when all templates are needed no matter being + buildable or not. + +upgrade: + - | + The way of generating templates (with '--templates-only' option) is changed. + By default only buildable ones are generated. If all templates are needed + then '--enable-unbuildable' option must be used. -- cgit v1.2.3