From 1aca9acb2f9c91ee9ccc05c98550167d0edb98a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= Date: Tue, 22 Dec 2020 21:19:35 +0100 Subject: [PATCH] Build Masakari for Ubuntu binary Change-Id: I448793566202e672348733b8bbbd6665dc251dfe --- doc/source/matrix_aarch64.csv | 2 +- doc/source/matrix_x86.csv | 2 +- docker/masakari/masakari-api/Dockerfile.j2 | 23 ++++++++++++-- docker/masakari/masakari-base/Dockerfile.j2 | 31 +++++++++++++------ docker/masakari/masakari-engine/Dockerfile.j2 | 19 ++++++++++-- .../masakari/masakari-monitors/Dockerfile.j2 | 20 ++++++++++-- kolla/image/build.py | 6 +++- ...sakari-ubuntu-binary-e3bb7a82c73e48e7.yaml | 4 +++ 8 files changed, 89 insertions(+), 18 deletions(-) create mode 100644 releasenotes/notes/masakari-ubuntu-binary-e3bb7a82c73e48e7.yaml diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv index 614aecc963..a4ea8c05e8 100644 --- a/doc/source/matrix_aarch64.csv +++ b/doc/source/matrix_aarch64.csv @@ -41,7 +41,7 @@ logstash,C,C,C,C,N,C magnum,C,C,C,C,N,C manila,C,C,C,C,N,C mariadb,C,C,C,C,N,C -masakari,N,C,N,C,N,C +masakari,N,C,C,C,N,C memcached,C,C,C,C,N,C mistral,C,C,C,C,N,C monasca,N,N,N,N,N,N diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv index 969320d439..cf58b5e03b 100644 --- a/doc/source/matrix_x86.csv +++ b/doc/source/matrix_x86.csv @@ -42,7 +42,7 @@ logstash,C,C,C,C,C,C magnum,C,C,C,C,C,C manila,C,C,C,C,C,C mariadb,T,T,T,T,C,T -masakari,N,T,N,T,N,C +masakari,N,T,C,T,N,C memcached,T,T,T,T,C,C mistral,C,T,N,C,C,C monasca,N,C,N,C,N,N diff --git a/docker/masakari/masakari-api/Dockerfile.j2 b/docker/masakari/masakari-api/Dockerfile.j2 index f8391ef5a7..1e2ca75a3e 100644 --- a/docker/masakari/masakari-api/Dockerfile.j2 +++ b/docker/masakari/masakari-api/Dockerfile.j2 @@ -5,10 +5,29 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% block masakari_api_header %}{% endblock %} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false + {% if base_package_type == 'rpm' %} + + {# not available #} + {% set masakari_base_packages = [ + ] %} + + {% elif base_package_type == 'deb' %} + + {% set masakari_base_packages = [ + 'masakari-api', + ] %} + + {% endif %} + +{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} + + {% if base_package_type == 'deb' %} +RUN rm -f /etc/apache2/sites-enabled/masakari-api.conf + {% endif %} {% endif %} diff --git a/docker/masakari/masakari-base/Dockerfile.j2 b/docker/masakari/masakari-base/Dockerfile.j2 index fe73a260cd..cd558d0533 100644 --- a/docker/masakari/masakari-base/Dockerfile.j2 +++ b/docker/masakari/masakari-base/Dockerfile.j2 @@ -11,8 +11,21 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if install_type == 'binary' %} -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false + {% if base_package_type == 'rpm' %} + + {# not available #} + {% set masakari_base_packages = [ + ] %} + + {% elif base_package_type == 'deb' %} + + {% set masakari_base_packages = [ + 'python3-masakari', + ] %} + + {% endif %} + +{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} {% elif install_type == 'source' %} @@ -21,17 +34,17 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ {% set masakari_base_packages = [ ] %} -{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} -RUN mkdir -p /var/www/cgi-bin/masakari {% elif base_package_type == 'deb' %} {% set masakari_base_packages = [ ] %} -{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} -RUN mkdir -p /var/www/cgi-bin/masakari {% endif %} +{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} + +RUN mkdir -p /var/www/cgi-bin/masakari + ADD masakari-base-archive /masakari-base-source {% set masakari_base_pip_packages = [ @@ -42,14 +55,14 @@ RUN ln -s masakari-base-source/* masakari \ && {{ macros.install_pip(masakari_base_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/masakari /var/www/cgi-bin/masakari \ && cp -r /masakari/etc/masakari/* /etc/masakari/ \ - && chown -R masakari: /etc/masakari /var/www/cgi-bin/masakari + && chown -R masakari: /etc/masakari /var/www/cgi-bin/masakari \ + && chmod 755 /var/www/cgi-bin/masakari {% endif %} COPY extend_start.sh /usr/local/bin/kolla_extend_start RUN touch /usr/local/bin/kolla_masakari_extend_start \ - && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_masakari_extend_start \ - && chmod 755 /var/www/cgi-bin/masakari + && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_masakari_extend_start {% block masakari_base_footer %}{% endblock %} diff --git a/docker/masakari/masakari-engine/Dockerfile.j2 b/docker/masakari/masakari-engine/Dockerfile.j2 index ba9e95bc3e..fc9dd8a9d5 100644 --- a/docker/masakari/masakari-engine/Dockerfile.j2 +++ b/docker/masakari/masakari-engine/Dockerfile.j2 @@ -5,10 +5,25 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% block masakari_engine_header %}{% endblock %} +{% import "macros.j2" as macros with context %} + {% if install_type == 'binary' %} -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false + {% if base_package_type == 'rpm' %} + + {# not available #} + {% set masakari_base_packages = [ + ] %} + + {% elif base_package_type == 'deb' %} + + {% set masakari_base_packages = [ + 'masakari-engine', + ] %} + + {% endif %} + +{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} {% endif %} diff --git a/docker/masakari/masakari-monitors/Dockerfile.j2 b/docker/masakari/masakari-monitors/Dockerfile.j2 index d7098f7370..9afd6217ad 100644 --- a/docker/masakari/masakari-monitors/Dockerfile.j2 +++ b/docker/masakari/masakari-monitors/Dockerfile.j2 @@ -11,8 +11,24 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if install_type == 'binary' %} -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false + {% if base_package_type == 'rpm' %} + + {# not available #} + {% set masakari_base_packages = [ + ] %} + + {% elif base_package_type == 'deb' %} + + {% set masakari_base_packages = [ + 'masakari-host-monitor', + 'masakari-instance-monitor', + 'masakari-introspective-instance-monitor', + 'masakari-process-monitor', + ] %} + + {% endif %} + +{{ macros.install_packages(masakari_base_packages | customizable("packages")) }} {% elif install_type == 'source' %} diff --git a/kolla/image/build.py b/kolla/image/build.py index 165c974f06..be84fd162d 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -102,7 +102,6 @@ UNBUILDABLE_IMAGES = { "cyborg-base", "freezer-base", "kuryr-base", - "masakari-base", "monasca-base", "monasca-thresh", "nova-mksproxy", @@ -160,10 +159,15 @@ UNBUILDABLE_IMAGES = { "kibana", # no binary package }, + "centos+binary": { + "masakari-base", + }, + 'debian+binary': { "cloudkitty-base", "ec2-api", "ironic-neutron-agent", + "masakari-base", "nova-serialproxy", "novajoin-base", "senlin-conductor", # no binary package diff --git a/releasenotes/notes/masakari-ubuntu-binary-e3bb7a82c73e48e7.yaml b/releasenotes/notes/masakari-ubuntu-binary-e3bb7a82c73e48e7.yaml new file mode 100644 index 0000000000..bb13929d9d --- /dev/null +++ b/releasenotes/notes/masakari-ubuntu-binary-e3bb7a82c73e48e7.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Support for Ubuntu binary (aka packaged) Masakari images.