diff --git a/kolla/image/build.py b/kolla/image/build.py index 0228b76a78..a482800e9f 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -47,6 +47,7 @@ if PROJECT_ROOT not in sys.path: from kolla.common import config as common_config # noqa from kolla.common import task # noqa from kolla.common import utils # noqa +from kolla.image.unbuildable import UNBUILDABLE_IMAGES # noqa from kolla import exception # noqa from kolla.template import filters as jinja_filters # noqa from kolla.template import methods as jinja_methods # noqa @@ -73,62 +74,6 @@ STATUS_ERRORS = (Status.CONNECTION_ERROR, Status.PUSH_ERROR, LOG = utils.make_a_logger() -# The dictionary of unbuildable images supports keys in the format: -# '+' where each component is optional and can be omitted along -# with the + separator which means that component is irrelevant. Otherwise all -# must match for skip to happen. -UNBUILDABLE_IMAGES = { - 'aarch64': { - "bifrost-base", # someone need to get upstream working first - "monasca-base", # 'confluent-kafka' requires newer libfdkafka-dev - # than distributions have (v1.9.0+ in Zed) - "prometheus-msteams", # no aarch64 binary - "prometheus-mtail", # no aarch64 binary - "skydive-base", # no aarch64 binary - }, - - # Issues for SHA1 keys: - # https://github.com/elastic/elasticsearch/issues/85876 - # https://github.com/grafana/grafana/issues/41036 - 'centos': { - "elasticsearch", # SHA1 gpg key - "hacluster-pcs", # Missing crmsh package - "kibana", # SHA1 gpg key - "logstash", # SHA1 gpg key - "nova-spicehtml5proxy", # Missing spicehtml5 package - "ovsdpdk", # Not supported on CentOS - "tgtd", # Not supported on CentOS - }, - - 'debian': { - }, - - 'rocky': { - "elasticsearch", # SHA1 gpg key - "hacluster-pcs", # Missing crmsh package - "kibana", # SHA1 gpg key - "logstash", # SHA1 gpg key - "nova-spicehtml5proxy", # Missing spicehtml5 package - "ovsdpdk", # Not supported on CentOS - "tgtd", # Not supported on CentOS - }, - - 'ubuntu': { - "collectd", # Missing collectd-core package - "telegraf", # Missing collectd-core package - }, - - 'ubuntu+aarch64': { - "barbican-base", # https://github.com/unbit/uwsgi/issues/2434 - "kibana", # no binary package - }, - - 'centos+aarch64': { - "kibana", # no binary package - "telegraf", # no binary package - }, -} - class ArchivingError(Exception): pass diff --git a/kolla/image/unbuildable.py b/kolla/image/unbuildable.py new file mode 100644 index 0000000000..aabdfbfe40 --- /dev/null +++ b/kolla/image/unbuildable.py @@ -0,0 +1,67 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# The dictionary of unbuildable images supports keys in the format: +# '+' where each component is optional and can be omitted along +# with the + separator which means that component is irrelevant. Otherwise all +# must match for skip to happen. +UNBUILDABLE_IMAGES = { + 'aarch64': { + "bifrost-base", # someone need to get upstream working first + "monasca-base", # 'confluent-kafka' requires newer libfdkafka-dev + # than distributions have (v1.9.0+ in Zed) + "prometheus-msteams", # no aarch64 binary + "prometheus-mtail", # no aarch64 binary + "skydive-base", # no aarch64 binary + }, + + # Issues for SHA1 keys: + # https://github.com/elastic/elasticsearch/issues/85876 + # https://github.com/grafana/grafana/issues/41036 + 'centos': { + "elasticsearch", # SHA1 gpg key + "hacluster-pcs", # Missing crmsh package + "kibana", # SHA1 gpg key + "logstash", # SHA1 gpg key + "nova-spicehtml5proxy", # Missing spicehtml5 package + "ovsdpdk", # Not supported on CentOS + "tgtd", # Not supported on CentOS + }, + + 'debian': { + }, + + 'rocky': { + "elasticsearch", # SHA1 gpg key + "hacluster-pcs", # Missing crmsh package + "kibana", # SHA1 gpg key + "logstash", # SHA1 gpg key + "nova-spicehtml5proxy", # Missing spicehtml5 package + "ovsdpdk", # Not supported on CentOS + "tgtd", # Not supported on CentOS + }, + + 'ubuntu': { + "collectd", # Missing collectd-core package + "telegraf", # Missing collectd-core package + }, + + 'ubuntu+aarch64': { + "barbican-base", # https://github.com/unbit/uwsgi/issues/2434 + "kibana", # no binary package + }, + + 'centos+aarch64': { + "kibana", # no binary package + "telegraf", # no binary package + }, +}