From a170353b47d359e39f29cd951f73507b07fefb04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= Date: Thu, 21 May 2020 10:09:10 +0200 Subject: [PATCH] Make Cyborg buildable (again) This is done by removing the dependency on OPAE SDK. Additionally, cursive is no longer tried to be installed again in the agent image as it is already installed in base via regular requirements. Details in reno and the referenced bug report. Change-Id: Ib6a6f38efd9860851e558f13ee3bdedd8bb57903 Closes-bug: #1873744 --- doc/source/matrix_aarch64.csv | 2 +- doc/source/matrix_x86.csv | 3 +- docker/cyborg/cyborg-agent/Dockerfile.j2 | 40 +++---------------- kolla/image/build.py | 11 +---- .../notes/bug-1873744-559df986c3840bd7.yaml | 11 +++++ .../notes/centos-8-950d979507939643.yaml | 4 +- 6 files changed, 22 insertions(+), 49 deletions(-) create mode 100644 releasenotes/notes/bug-1873744-559df986c3840bd7.yaml diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv index a5abc2fac3..81af39a890 100644 --- a/doc/source/matrix_aarch64.csv +++ b/doc/source/matrix_aarch64.csv @@ -12,7 +12,7 @@ cloudkitty,C,C,N,C,N,C collectd,C,C,C,C,N,C congress,C,C,N,C,N,C cron,C,C,C,C,N,C -cyborg,N,N,N,N,N,N +cyborg,N,C,N,C,N,C designate,C,C,C,C,N,C dnsmasq,C,C,C,C,N,C ec2-api,C,C,C,C,N,C diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv index 4c95d71c50..407a666df4 100644 --- a/doc/source/matrix_x86.csv +++ b/doc/source/matrix_x86.csv @@ -12,8 +12,7 @@ cloudkitty,C,C,N,C,N,C collectd,C,C,C,C,C,C congress,C,C,N,C,C,C cron,T,T,T,T,C,T -cyborg,N,C,N,N,N,N -cyborg-agent,N,N,N,N,N,N +cyborg,N,C,N,C,N,C designate,C,C,C,C,C,C dnsmasq,T,T,C,T,C,C ec2-api,C,C,N,C,N,C diff --git a/docker/cyborg/cyborg-agent/Dockerfile.j2 b/docker/cyborg/cyborg-agent/Dockerfile.j2 index c50c5fc9fd..6d7fb1a3ce 100644 --- a/docker/cyborg/cyborg-agent/Dockerfile.j2 +++ b/docker/cyborg/cyborg-agent/Dockerfile.j2 @@ -10,45 +10,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'pciutils', ] %} -{% if install_type == 'binary' %} - -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false - -{% elif install_type == 'source' %} - -{% set cyborg_agent_pip_packages = [ - 'cursive' -] %} - -{% endif %} - {{ macros.install_packages(cyborg_agent_packages | customizable("packages")) }} +{% if install_type == 'source' %} + +{% set cyborg_agent_pip_packages = [ ] %} + RUN {{ macros.install_pip(cyborg_agent_pip_packages | customizable("pip_packages")) }} -{% if base_package_type == 'rpm' %} - -ENV opae_libs_rpm_url=https://github.com/OPAE/opae-sdk/releases/download/1.1.0-2/opae-libs-1.1.0-2.x86_64.rpm -ENV opae_libs_rpm_sha1sum=3a10f80d64be46bb8d99ba88548646d0e368a06e - -ENV opae_devel_rpm_url=https://github.com/OPAE/opae-sdk/releases/download/1.1.0-2/opae-devel-1.1.0-2.x86_64.rpm -ENV opae_devel_rpm_sha1sum=461356b987b41843f60123d66195620bf1e4e28e - -RUN curl -sSL -o /tmp/opae-libs.rpm ${opae_libs_rpm_url} \ - && echo "${opae_libs_rpm_sha1sum} /tmp/opae-libs.rpm" | sha1sum -c \ - && curl -sSL -o /tmp/opae-devel.rpm ${opae_devel_rpm_url} \ - && echo "${opae_devel_rpm_sha1sum} /tmp/opae-devel.rpm" | sha1sum -c \ - && dnf -y install /tmp/opae-libs.rpm /tmp/opae-devel.rpm \ - && rm -f /tmp/opae-libs.rpm /tmp/opae-devel.rpm - -# NOTE(Bai Yongjun) Required packages are only supported Ubuntu16.04 -# Please check the details:https://github.com/OPAE/opae-sdk/releases/tag/1.1.0-2 -{% elif base_package_type == 'deb' %} - -RUN echo 'No supported packages' \ - && /bin/false - {% endif %} + {% block cyborg_agent_footer %}{% endblock %} {% block footer %}{% endblock %} diff --git a/kolla/image/build.py b/kolla/image/build.py index 134df59646..3794ae53eb 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -80,7 +80,6 @@ STATUS_ERRORS = (STATUS_CONNECTION_ERROR, STATUS_PUSH_ERROR, # is irrelevant. Otherwise all must match for skip to happen. UNBUILDABLE_IMAGES = { 'aarch64': { - "cyborg-base", # no binary package "monasca-grafana", # no phantomJS on aarch64 "opendaylight", # no binary package "prometheus-mtail", # no aarch64 binary @@ -88,7 +87,6 @@ UNBUILDABLE_IMAGES = { }, 'ppc64le': { - "cyborg-base", # no binary package "elasticsearch", # no binary package "grafana", # no binary package "monasca-grafana", # no phantomJS @@ -102,6 +100,7 @@ UNBUILDABLE_IMAGES = { 'source': { "tripleoclient", }, + 'binary': { "bifrost-base", "blazar-base", @@ -134,7 +133,6 @@ UNBUILDABLE_IMAGES = { }, 'centos': { - "cyborg-base", # package only for CentOS 7 "hacluster-pcs", # Missing crmsh package "mongodb", # Missing mongodb and mongodb-server packages "nova-spicehtml5proxy", # Missing spicehtml5 package @@ -144,14 +142,9 @@ UNBUILDABLE_IMAGES = { "tgtd", # Not supported on CentOS 8 }, - 'centos+source': { - "cyborg-agent", # opae-sdk does not support CentOS 8 - }, - 'debian': { "bifrost-base", # tries to install 'mysql-server' which is not in # Debian 'buster' - "cyborg-base", "monasca-grafana", # FIXME(hrw): some ssl issues to fix "mongodb", "opendaylight", # no binary package @@ -159,8 +152,8 @@ UNBUILDABLE_IMAGES = { "qdrouterd", "sensu-base", }, + 'ubuntu': { - "cyborg-base", "qdrouterd", # There is no qdrouterd package for ubuntu bionic }, diff --git a/releasenotes/notes/bug-1873744-559df986c3840bd7.yaml b/releasenotes/notes/bug-1873744-559df986c3840bd7.yaml new file mode 100644 index 0000000000..32b7af2f8e --- /dev/null +++ b/releasenotes/notes/bug-1873744-559df986c3840bd7.yaml @@ -0,0 +1,11 @@ +--- +fixes: + - | + Makes Cyborg buildable for all platforms by removing dependency on + OPAE SDK. + `LP#1873744 `__ +upgrade: + - | + Cyborg Agent no longer includes OPAE SDK. The version was outdated + and currently supported platforms do not have ready-to-use binaries. + This change was required to make Cyborg buildable. diff --git a/releasenotes/notes/centos-8-950d979507939643.yaml b/releasenotes/notes/centos-8-950d979507939643.yaml index e4069c7ce7..6365482a60 100644 --- a/releasenotes/notes/centos-8-950d979507939643.yaml +++ b/releasenotes/notes/centos-8-950d979507939643.yaml @@ -11,5 +11,5 @@ upgrade: images, and provides a route for migration. - | The following images were supported by CentOS 7 but lack suitable packages - in CentOS 8, and are no longer supported for CentOS: ``cyborg-agent``, - ``hacluster-pcs``, ``nova-spicehtml5proxy``. + in CentOS 8, and are no longer supported for CentOS: ``hacluster-pcs`` and + ``nova-spicehtml5proxy``.