aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2020-01-27 12:43:14 +0100
committerMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2020-01-28 10:10:22 +0000
commite22c529166f78e79760aeb0cc3b4ab33dd3b6f9c (patch)
tree8d3a9976ac3d2a768b3ee97dd2d05f782660ed95
parentfa2e1304362d3b81b9903b77d180aa2eb3f1af8b (diff)
downloadkolla-e22c529166f78e79760aeb0cc3b4ab33dd3b6f9c.tar.gz
kolla-e22c529166f78e79760aeb0cc3b4ab33dd3b6f9c.zip
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
-rwxr-xr-xkolla/common/config.py4
-rwxr-xr-xkolla/image/build.py8
-rw-r--r--releasenotes/notes/new-kolla-options-e8e32357786e8454.yaml14
3 files changed, 22 insertions, 4 deletions
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.