Merge "Unify curl use (customisation options)" into stable/xena

This commit is contained in:
Zuul 2022-07-18 09:39:30 +00:00 committed by Gerrit Code Review
commit 4cf7c7c7a1
21 changed files with 104 additions and 41 deletions

View File

@ -283,6 +283,17 @@ To remove a package from that list, say ``openstack-magnum-ui``, one would do:
# Horizon
{% set horizon_packages_remove = ['openstack-magnum-ui'] %}
Python packages build options
-----------------------------
The block ``base_pip_conf`` in the ``base`` Dockerfile can be used to provide
the PyPI build customisation options via the standard environment variables
like ``PIP_INDEX_URL``, ``PIP_TRUSTED_HOST``, etc. Also here can be provided
the standard environment variable ``UPPER_CONSTRAINTS_FILE`` used for building
the ``bifrost_deploy`` container when PyPI upper-constraints needs to be
overridden. Also this variable would be used in the ``kolla-toolbox`` if
provided instead of the defaults.
Plugin functionality
--------------------

View File

@ -395,5 +395,12 @@ RUN touch /usr/local/bin/kolla_extend_start \
&& chmod 2775 /var/log/kolla \
&& rm -f /tmp/kolla_bashrc
{% block base_pip_conf %}
# the variables like PIP_INDEX_URL, PIP_EXTRA_INDEX_URL, PIP_TRUSTED_HOST etc. should be defined here.
# ENV PIP_INDEX_URL=https://pypi.python.org/simple
# ENV PIP_TRUSTED_HOST=pypi.python.org
# ENV UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/{{ openstack_release }}
{% endblock %}
{% block base_footer %}{% endblock %}
CMD ["kolla_start"]

View File

@ -109,12 +109,15 @@ RUN ln -s /bin/mkdir /usr/bin/mkdir
{% endblock %}
{% block fluentd_monasca_plugin_version %}
ARG monasca_output_plugin_version=1.0.2
ARG monasca_output_plugin_url=https://github.com/monasca/fluentd-monasca/archive/${monasca_output_plugin_version}.tar.gz
{% endblock %}
{% block fluentd_monasca_plugin_install %}
# Build and install Fluentd output plugin for Monasca API
ARG monasca_output_plugin_tag=1.0.2
ARG monasca_output_plugin_url=https://github.com/monasca/fluentd-monasca/archive/$monasca_output_plugin_tag.tar.gz
RUN curl $monasca_output_plugin_url -o /tmp/fluentd-monasca.tar.gz \
RUN curl ${monasca_output_plugin_url} -o /tmp/fluentd-monasca.tar.gz \
&& tar -xvf /tmp/fluentd-monasca.tar.gz -C /tmp \
&& cd /tmp/fluentd-monasca-* \
{%- if fluentd_user == 'fluentd' %}

View File

@ -29,10 +29,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(kafka_packages | customizable("packages")) }}
{% block kafka_version %}
ENV kafka_version=2.0.1
ENV kafka_scala_version=2.12
ENV kafka_url=https://archive.apache.org/dist/kafka/${kafka_version}/kafka_${kafka_scala_version}-${kafka_version}.tgz
ENV kafka_pkg_sha512sum=9773a85ef2898b4bae20481df4cfd5488bd195fffd700fcc874a9fa55065f6873f2ee12f46d2f6a6ccb5d5a93ddb7dec19227aef5d39d4f72b545ec63b24bb2f
ARG kafka_version=2.0.1
ARG kafka_scala_version=2.12
ARG kafka_url=https://archive.apache.org/dist/kafka/${kafka_version}/kafka_${kafka_scala_version}-${kafka_version}.tgz
ARG kafka_pkg_sha512sum=9773a85ef2898b4bae20481df4cfd5488bd195fffd700fcc874a9fa55065f6873f2ee12f46d2f6a6ccb5d5a93ddb7dec19227aef5d39d4f72b545ec63b24bb2f
{% endblock %}
{% block kafka_install %}

View File

@ -68,7 +68,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block kolla_toolbox_upper_constraints %}
RUN mkdir -p /requirements \
&& curl -o /requirements/upper-constraints.txt https://releases.openstack.org/constraints/upper/{{ openstack_release }} \
&& curl -o /requirements/upper-constraints.txt ${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/{{ openstack_release }}} \
&& {{ macros.install_pip(kolla_toolbox_pip_virtualenv_packages | customizable("pip_virtualenv_packages")) }} \
&& virtualenv --system-site-packages {{ virtualenv_path }}
{% endblock %}

View File

@ -24,7 +24,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(mariadb_base_packages | customizable("packages")) }}
RUN curl -o /usr/bin/clustercheck https://src.fedoraproject.org/rpms/mariadb/raw/10.3/f/clustercheck.sh \
{% block mariadb_clustercheck_version %}
ARG mariadb_clustercheck_version=10.3
ARG mariadb_clustercheck_url=https://src.fedoraproject.org/rpms/mariadb/raw/${mariadb_clustercheck_version}/f/clustercheck.sh
{% endblock %}
RUN curl -o /usr/bin/clustercheck ${mariadb_clustercheck_url} \
&& chmod 755 /usr/bin/clustercheck
{% block mariadb_base_footer %}{% endblock %}

View File

@ -6,13 +6,17 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block prometheus_alertmanager_header %}{% endblock %}
{% block prometheus_alertmanager_repository_version %}
ENV prometheus_alertmanager_version=0.20.0
ARG prometheus_alertmanager_version=0.20.0
ARG prometheus_alertmanager_archive=alertmanager-${prometheus_alertmanager_version}.linux-{{debian_arch}}.tar.gz
ARG prometheus_alertmanager_sha256sums_url=https://github.com/prometheus/alertmanager/releases/download/v${prometheus_alertmanager_version}/sha256sums.txt
ARG prometheus_alertmanager_download_url=https://github.com/prometheus/alertmanager/releases/download/v${prometheus_alertmanager_version}/${prometheus_alertmanager_archive}
{% endblock %}
{% block prometheus_alertmanager_install %}
RUN curl -o /tmp/prometheus_alertmanager.tar.gz https://github.com/prometheus/alertmanager/releases/download/v${prometheus_alertmanager_version}/alertmanager-${prometheus_alertmanager_version}.linux-{{debian_arch}}.tar.gz \
&& tar xvf /tmp/prometheus_alertmanager.tar.gz -C /opt/ \
&& rm -f /tmp/prometheus_alertmanager.tar.gz \
RUN cd /tmp && curl -o ${prometheus_alertmanager_archive} ${prometheus_alertmanager_download_url} \
&& curl ${prometheus_alertmanager_sha256sums_url} -w '' | sha256sum --ignore-missing -c - \
&& tar xvf /tmp/${prometheus_alertmanager_archive} -C /opt/ \
&& rm -f /tmp/${prometheus_alertmanager_archive} \
&& ln -s /opt/alertmanager* /opt/prometheus_alertmanager
{% endblock %}

View File

@ -8,7 +8,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% block prometheus_blackbox_exporter_repository_version %}
ENV blackbox_exporter_version=0.16.0
ARG blackbox_exporter_version=0.16.0
ARG blackbox_exporter_url=https://github.com/prometheus/blackbox_exporter/releases/download/v${blackbox_exporter_version}/blackbox_exporter-${blackbox_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% if base_package_type == 'rpm' %}
@ -24,7 +25,7 @@ ENV blackbox_exporter_version=0.16.0
{{ macros.install_packages(blackbox_packages | customizable("packages")) }}
{% block prometheus_blackbox_exporter_install %}
RUN curl -o /tmp/blackbox_exporter.tar.gz https://github.com/prometheus/blackbox_exporter/releases/download/v${blackbox_exporter_version}/blackbox_exporter-${blackbox_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/blackbox_exporter.tar.gz ${blackbox_exporter_url} \
&& tar xvf /tmp/blackbox_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/blackbox_exporter.tar.gz \
&& ln -s /opt/blackbox_exporter* /opt/blackbox_exporter

View File

@ -8,14 +8,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% block prometheus_cadvisor_repository_version %}
ENV prometheus_cadvisor_version=0.38.7
ENV prometheus_cadvisor_sha256sum=fdb86c256df682cfec2abd57a4405c919ed26f1e27ebfabf487f6c516bc7f6c7
ARG prometheus_cadvisor_version=0.38.7
ARG prometheus_cadvisor_sha256sum=fdb86c256df682cfec2abd57a4405c919ed26f1e27ebfabf487f6c516bc7f6c7
ARG prometheus_cadvisor_url=https://github.com/google/cadvisor/releases/download/v${prometheus_cadvisor_version}/cadvisor
{% endblock %}
{% if base_arch in ['x86_64'] %}
{% block prometheus_cadvisor_install %}
RUN curl -o /tmp/cadvisor https://github.com/google/cadvisor/releases/download/v${prometheus_cadvisor_version}/cadvisor \
RUN curl -o /tmp/cadvisor ${prometheus_cadvisor_url} \
&& echo "${prometheus_cadvisor_sha256sum} /tmp/cadvisor" | sha256sum -c \
&& mv /tmp/cadvisor /opt \
&& chmod 0755 /opt/cadvisor

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block prometheus_elasticsearch_exporter_header %}{% endblock %}
{% block prometheus_elasticsearch_exporter_repository_version %}
ENV elasticsearch_exporter_version=1.2.1
ARG elasticsearch_exporter_version=1.2.1
ARG elasticsearch_exporter_url=https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v${elasticsearch_exporter_version}/elasticsearch_exporter-${elasticsearch_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block prometheus_elasticsearch_exporter_install %}
RUN curl -o /tmp/elasticsearch_exporter.tar.gz https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v${elasticsearch_exporter_version}/elasticsearch_exporter-${elasticsearch_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/elasticsearch_exporter.tar.gz ${elasticsearch_exporter_url} \
&& tar xvf /tmp/elasticsearch_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/elasticsearch_exporter.tar.gz \
&& ln -s /opt/elasticsearch_exporter* /opt/elasticsearch_exporter

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block haproxy_exporter_header %}{% endblock %}
{% block haproxy_exporter_repository_version %}
ENV haproxy_exporter_version=0.10.0
ARG haproxy_exporter_version=0.10.0
ARG haproxy_exporter_url=https://github.com/prometheus/haproxy_exporter/releases/download/v${haproxy_exporter_version}/haproxy_exporter-${haproxy_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block haproxy_exporter_install %}
RUN curl -o /tmp/haproxy_exporter.tar.gz https://github.com/prometheus/haproxy_exporter/releases/download/v${haproxy_exporter_version}/haproxy_exporter-${haproxy_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/haproxy_exporter.tar.gz ${haproxy_exporter_url} \
&& tar xvf /tmp/haproxy_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/haproxy_exporter.tar.gz \
&& ln -s /opt/haproxy_exporter* /opt/haproxy_exporter

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block prometheus_memcached_exporter_header %}{% endblock %}
{% block prometheus_memcached_exporter_repository_version %}
ENV memcached_exporter_version=0.6.0
ARG memcached_exporter_version=0.6.0
ARG memcached_exporter_url=https://github.com/prometheus/memcached_exporter/releases/download/v${memcached_exporter_version}/memcached_exporter-${memcached_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block prometheus_memcached_exporter_install %}
RUN curl -o /tmp/memcached_exporter.tar.gz https://github.com/prometheus/memcached_exporter/releases/download/v${memcached_exporter_version}/memcached_exporter-${memcached_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/memcached_exporter.tar.gz ${memcached_exporter_url} \
&& tar xvf /tmp/memcached_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/memcached_exporter.tar.gz \
&& ln -s /opt/memcached_exporter* /opt/memcached_exporter

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block mysqld_exporter_header %}{% endblock %}
{% block mysqld_exporter_repository_version %}
ENV mysqld_exporter_version=0.12.1
ARG mysqld_exporter_version=0.12.1
ARG mysqld_exporter_url=https://github.com/prometheus/mysqld_exporter/releases/download/v${mysqld_exporter_version}/mysqld_exporter-${mysqld_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block mysqld_exporter_install %}
RUN curl -o /tmp/mysqld_exporter.tar.gz https://github.com/prometheus/mysqld_exporter/releases/download/v${mysqld_exporter_version}/mysqld_exporter-${mysqld_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/mysqld_exporter.tar.gz ${mysqld_exporter_url} \
&& tar xvf /tmp/mysqld_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/mysqld_exporter.tar.gz \
&& ln -s /opt/mysqld_exporter* /opt/mysqld_exporter

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block node_exporter_header %}{% endblock %}
{% block node_exporter_repository_version %}
ENV node_exporter_version=0.18.1
ARG node_exporter_version=0.18.1
ARG node_exporter_url=https://github.com/prometheus/node_exporter/releases/download/v{$node_exporter_version}/node_exporter-${node_exporter_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block node_exporter_install %}
RUN curl -o /tmp/node_exporter.tar.gz https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/node_exporter-${node_exporter_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/node_exporter.tar.gz ${node_exporter_url} \
&& tar xvf /tmp/node_exporter.tar.gz -C /opt/ \
&& rm -f /tmp/node_exporter.tar.gz \
&& ln -s /opt/node_exporter* /opt/node_exporter

View File

@ -6,11 +6,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block prometheus_v2_server_header %}{% endblock %}
{% block prometheus_v2_server_repository_version %}
ENV prometheus_version=2.26.1
ARG prometheus_version=2.26.1
ARG prometheus_url=https://github.com/prometheus/prometheus/releases/download/v${prometheus_version}/prometheus-${prometheus_version}.linux-{{debian_arch}}.tar.gz
{% endblock %}
{% block prometheus_v2_server_install %}
RUN curl -o /tmp/prometheus.tar.gz https://github.com/prometheus/prometheus/releases/download/v${prometheus_version}/prometheus-${prometheus_version}.linux-{{debian_arch}}.tar.gz \
RUN curl -o /tmp/prometheus.tar.gz ${prometheus_url} \
&& tar xvf /tmp/prometheus.tar.gz -C /opt/ \
&& rm -f /tmp/prometheus.tar.gz \
&& ln -s /opt/prometheus* /opt/prometheus \

View File

@ -10,13 +10,18 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.enable_extra_repos(['openvswitch']) }}
{{ macros.configure_user(name='skydive') }}
{% block skydive_version %}
ARG skydive_version=0.28.0
ARG skydive_url=https://github.com/skydive-project/skydive/releases/download/v${skydive_version}/skydive
{% endblock %}
{% block skydive_install %}
{% if base_arch != 'x86_64' %}
RUN echo 'image on {{ base_distro }} is not yet available on non x86_64 platforms' \
&& /bin/false
{% else %}
RUN curl -o /usr/bin/skydive "https://github.com/skydive-project/skydive/releases/download/v0.28.0/skydive" \
RUN curl -o /usr/bin/skydive ${skydive_url} \
&& chmod +x /usr/bin/skydive
{% endif %}

View File

@ -31,9 +31,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(storm_packages | customizable("packages")) }}
{% block storm_version %}
ENV storm_version=1.2.2
ENV storm_url=https://archive.apache.org/dist/storm/apache-storm-${storm_version}/apache-storm-${storm_version}.tar.gz
ENV storm_pkg_sha512sum=0a1120b8df7b22edc75f0a412d625841f72f3fb8e9ff5d413d510908d68ea1f0c17d68c1a7f1eda427b40902452e9efcae902c36499b558592e41cc1079de2e0
ARG storm_version=1.2.2
ARG storm_url=https://archive.apache.org/dist/storm/apache-storm-${storm_version}/apache-storm-${storm_version}.tar.gz
ARG storm_pkg_sha512sum=0a1120b8df7b22edc75f0a412d625841f72f3fb8e9ff5d413d510908d68ea1f0c17d68c1a7f1eda427b40902452e9efcae902c36499b558592e41cc1079de2e0
{% endblock %}
{% block storm_install %}

View File

@ -22,9 +22,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(zookeeper_packages | customizable("packages")) }}
{% block zookeeper_version %}
ENV zookeeper_version=3.4.13
ENV zookeeper_url=http://archive.apache.org/dist/zookeeper/zookeeper-${zookeeper_version}/zookeeper-${zookeeper_version}.tar.gz
ENV zookeeper_pkg_sha1sum=a989b527f3f990d471e6d47ee410e57d8be7620b
ARG zookeeper_version=3.4.13
ARG zookeeper_url=http://archive.apache.org/dist/zookeeper/zookeeper-${zookeeper_version}/zookeeper-${zookeeper_version}.tar.gz
ARG zookeeper_pkg_sha1sum=a989b527f3f990d471e6d47ee410e57d8be7620b
{% endblock %}
{% block zookeeper_binary_install %}

View File

@ -36,9 +36,14 @@ COPY zun_sudoers /etc/sudoers.d/kolla_zun_sudoers
RUN chmod 750 /etc/sudoers.d \
&& chmod 640 /etc/sudoers.d/kolla_zun_sudoers
RUN curl -o /tmp/cni-plugins-v0.7.1.tgz https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz \
&& tar -C /opt -xzvf /tmp/cni-plugins-v0.7.1.tgz ./loopback \
&& rm -f /tmp/cni-plugins-v0.7.1.tgz
{% block zun_cni_daemon_version %}
ARG zun_cni_daemon_version=0.7.1
ARG zun_cni_daemon_url=https://github.com/containernetworking/plugins/releases/download/v${zun_cni_daemon_version}/cni-plugins-amd64-v${zun_cni_daemon_version}.tgz
{% endblock %}
RUN curl -o /tmp/cni-plugins.tgz ${zun_cni_daemon_url} \
&& tar -C /opt -xzvf /tmp/cni-plugins.tgz ./loopback \
&& rm -f /tmp/cni-plugins.tgz
{% block zun_cni_daemon_footer %}{% endblock %}
{% block footer %}{% endblock %}

View File

@ -0,0 +1,15 @@
---
features:
- |
Add templating block for base image helping to customize pip settings used
at build time for offline build scenario. We need some required environment
variables configured at the top level for all containers, for example the
variable UPPER_CONSTRAINTS_FILE used by the bifrost-deploy installation
scripts. Also here we can override the address of the PyPI repository via
PIP_INDEX_URL, PIP_EXTRA_INDEX_URL, and PIP_TRUSTED_HOST variables.
upgrade:
- |
All Dockerfile files which uses curl to download any external files from the
Internet URLs now have the corresponding version templating block which can
be used to override them. Also all the ENV instructions inside these blocks
converted to the ARG instructions to minimize the unneeded variables.

View File

@ -1,7 +1,7 @@
{% raw %}
{% extends parent_template %}
{% block base_header %}
{% block base_pip_conf %}
{% endraw %}
ENV PIP_INDEX_URL {{ nodepool_pypi_mirror }}