aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkolla/image/build.py114
-rw-r--r--tests/test_build.py127
2 files changed, 124 insertions, 117 deletions
diff --git a/kolla/image/build.py b/kolla/image/build.py
index 1a2be0848..b6e959b46 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -94,6 +94,112 @@ STATUS_ERRORS = (STATUS_CONNECTION_ERROR, STATUS_PUSH_ERROR,
STATUS_ERROR, STATUS_PARENT_ERROR)
+SKIPPED_IMAGES = {
+ 'centos+binary': [
+ "bifrost-base",
+ "blazar-base",
+ "dragonflow-base",
+ "freezer-base",
+ "kafka",
+ "karbor-base",
+ "kuryr-base",
+ "monasca-base",
+ "neutron-bgp-dragent",
+ "ovsdpdk",
+ "searchlight-base",
+ "senlin-base",
+ "solum-base",
+ "vitrage-base",
+ "vmtp",
+ "zun-base",
+ ],
+ 'centos+source': [
+ "bifrost-base",
+ "kafka",
+ "ovsdpdk",
+ ],
+ 'ubuntu+binary': [
+ "bifrost-base",
+ "blazar-base",
+ "cloudkitty-base",
+ "congress-base",
+ "dragonflow-base",
+ "ec2-api",
+ "freezer-base",
+ "heat-all",
+ "karbor-base",
+ "kuryr-base",
+ "mistral-event-engine",
+ "monasca-base",
+ "novajoin-base",
+ "octavia-base",
+ "searchlight-base",
+ "senlin-base",
+ "solum-base",
+ "tacker-base",
+ "vitrage-base",
+ "vmtp",
+ "zaqar",
+ "zun-base",
+ ],
+ 'ubuntu+source': [
+ "bifrost-base",
+ ],
+ 'debian+binary': [
+ "bifrost-base",
+ "blazar-base",
+ "cloudkitty-base",
+ "congress-base",
+ "dragonflow-base",
+ "ec2-api",
+ "freezer-base",
+ "heat-all",
+ "karbor-base",
+ "kuryr-base",
+ "mistral-event-engine",
+ "monasca-base",
+ "novajoin-base",
+ "octavia-base",
+ "searchlight-base",
+ "senlin-base",
+ "sensu-base",
+ "solum-base",
+ "tacker-base",
+ "vitrage-base",
+ "vmtp",
+ "zaqar",
+ "zun-base"
+ ],
+ 'debian+source': [
+ "bifrost-base",
+ "sensu-base",
+ ],
+ 'oraclelinux+binary': [
+ "bifrost-base",
+ "blazar-base",
+ "dragonflow-base",
+ "freezer-base",
+ "kafka",
+ "karbor-base",
+ "kuryr-base",
+ "monasca-base",
+ "neutron-bgp-dragent",
+ "ovsdpdk",
+ "searchlight-base",
+ "senlin-base",
+ "solum-base",
+ "vitrage-base",
+ "vmtp",
+ "zun-base"
+ ],
+ 'oraclelinux+source': [
+ "bifrost-base",
+ "kafka",
+ "ovsdpdk"
+ ]
+}
+
+
class ArchivingError(Exception):
pass
@@ -847,6 +953,12 @@ class KollaWorker(object):
for image in self.images:
image.status = STATUS_MATCHED
+ skipped_images = SKIPPED_IMAGES.get('%s+%s' % (self.base,
+ self.install_type))
+ for image in self.images:
+ if image.name in skipped_images:
+ image.status = STATUS_UNMATCHED
+
def summary(self):
"""Walk the dictionary of images statuses and print results."""
# For debug we print the logs again if the image error'd. This is to
@@ -1083,7 +1195,7 @@ class KollaWorker(object):
queue = six.moves.queue.Queue()
for image in self.images:
- if image.status == STATUS_UNMATCHED:
+ if image.status in (STATUS_UNMATCHED, STATUS_SKIPPED):
# Don't bother queuing up build tasks for things that
# were not matched in the first place... (not worth the
# effort to run them, if they won't be used anyway).
diff --git a/tests/test_build.py b/tests/test_build.py
index f0edd9f45..91be9a5d1 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import abc
import multiprocessing
import os
import sys
@@ -29,7 +28,7 @@ LOG = logging.getLogger(__name__)
class BuildTest(object):
- excluded_images = abc.abstractproperty()
+ excluded_images = []
def setUp(self):
super(BuildTest, self).setUp()
@@ -52,18 +51,10 @@ class BuildTest(object):
failures = 0
for image, result in bad_results.items():
- if image in self.excluded_images:
- if result is 'error':
- continue
- failures = failures + 1
- LOG.warning(">>> Expected image '%s' to fail, please update"
- " the excluded_images in source file above if the"
- " image build has been fixed.", image)
- else:
- if result is not 'error':
- continue
- failures = failures + 1
- LOG.critical(">>> Expected image '%s' to succeed!", image)
+ if result is not 'error':
+ continue
+ failures = failures + 1
+ LOG.critical(">>> Expected image '%s' to succeed!", image)
for image in unmatched_results.keys():
LOG.warning(">>> Image '%s' was not matched", image)
@@ -72,24 +63,6 @@ class BuildTest(object):
class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "blazar-base",
- "dragonflow-base",
- "freezer-base",
- "kafka",
- "karbor-base",
- "kuryr-base",
- "monasca-base",
- "neutron-bgp-dragent",
- "ovsdpdk",
- "searchlight-base",
- "senlin-base",
- "solum-base",
- "vitrage-base",
- "vmtp",
- "zun-base",
- ]
def setUp(self):
super(BuildTestCentosBinary, self).setUp()
@@ -98,11 +71,6 @@ class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
class BuildTestCentosSource(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "kafka",
- "ovsdpdk",
- ]
def setUp(self):
super(BuildTestCentosSource, self).setUp()
@@ -111,30 +79,6 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase):
class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "blazar-base",
- "cloudkitty-base",
- "congress-base",
- "dragonflow-base",
- "ec2-api",
- "freezer-base",
- "heat-all",
- "karbor-base",
- "kuryr-base",
- "mistral-event-engine",
- "monasca-base",
- "novajoin-base",
- "octavia-base",
- "searchlight-base",
- "senlin-base",
- "solum-base",
- "tacker-base",
- "vitrage-base",
- "vmtp",
- "zaqar",
- "zun-base",
- ]
def setUp(self):
super(BuildTestUbuntuBinary, self).setUp()
@@ -143,9 +87,6 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- ]
def setUp(self):
super(BuildTestUbuntuSource, self).setUp()
@@ -154,31 +95,6 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
class BuildTestDebianBinary(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "blazar-base",
- "cloudkitty-base",
- "congress-base",
- "dragonflow-base",
- "ec2-api",
- "freezer-base",
- "heat-all",
- "karbor-base",
- "kuryr-base",
- "mistral-event-engine",
- "monasca-base",
- "novajoin-base",
- "octavia-base",
- "searchlight-base",
- "senlin-base",
- "sensu-base",
- "solum-base",
- "tacker-base",
- "vitrage-base",
- "vmtp",
- "zaqar",
- "zun-base"
- ]
def setUp(self):
super(BuildTestDebianBinary, self).setUp()
@@ -187,10 +103,6 @@ class BuildTestDebianBinary(BuildTest, base.BaseTestCase):
class BuildTestDebianSource(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "sensu-base",
- ]
def setUp(self):
super(BuildTestDebianSource, self).setUp()
@@ -199,24 +111,6 @@ class BuildTestDebianSource(BuildTest, base.BaseTestCase):
class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "blazar-base",
- "dragonflow-base",
- "freezer-base",
- "kafka",
- "karbor-base",
- "kuryr-base",
- "monasca-base",
- "neutron-bgp-dragent",
- "ovsdpdk",
- "searchlight-base",
- "senlin-base",
- "solum-base",
- "vitrage-base",
- "vmtp",
- "zun-base",
- ]
def setUp(self):
super(BuildTestOracleLinuxBinary, self).setUp()
@@ -225,11 +119,6 @@ class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
class BuildTestOracleLinuxSource(BuildTest, base.BaseTestCase):
- excluded_images = [
- "bifrost-base",
- "kafka",
- "ovsdpdk",
- ]
def setUp(self):
super(BuildTestOracleLinuxSource, self).setUp()
@@ -238,36 +127,42 @@ class BuildTestOracleLinuxSource(BuildTest, base.BaseTestCase):
class DeployTestCentosBinary(BuildTestCentosBinary):
+
def setUp(self):
super(DeployTestCentosBinary, self).setUp()
self.build_args.extend(["--profile", "gate"])
class DeployTestCentosSource(BuildTestCentosSource):
+
def setUp(self):
super(DeployTestCentosSource, self).setUp()
self.build_args.extend(["--profile", "gate"])
class DeployTestOracleLinuxBinary(BuildTestOracleLinuxBinary):
+
def setUp(self):
super(DeployTestOracleLinuxBinary, self).setUp()
self.build_args.extend(["--profile", "gate"])
class DeployTestOracleLinuxSource(BuildTestOracleLinuxSource):
+
def setUp(self):
super(DeployTestOracleLinuxSource, self).setUp()
self.build_args.extend(["--profile", "gate"])
class DeployTestUbuntuBinary(BuildTestUbuntuBinary):
+
def setUp(self):
super(DeployTestUbuntuBinary, self).setUp()
self.build_args.extend(["--profile", "gate"])
class DeployTestUbuntuSource(BuildTestUbuntuSource):
+
def setUp(self):
super(DeployTestUbuntuSource, self).setUp()
self.build_args.extend(["--profile", "gate"])