Change logic for plugins in grafana image build

Co-authored-by:  Will Szumski <will@stackhpc.com>
Change-Id: I2b1c95395aeefb2ccb1d8edf415eee0f98c52190
This commit is contained in:
Dawud 2024-03-14 13:21:57 +00:00
parent a0e22caa8a
commit 077e0003d4
No known key found for this signature in database
3 changed files with 31 additions and 2 deletions

View File

@ -298,6 +298,23 @@ To remove a package from that list, say ``locales``, one would do:
# Horizon
{% set horizon_packages_remove = ['locales'] %}
An example of this is the Grafana plugins, which are mentioned in the next
section.
Grafana plugins
^^^^^^^^^^^^^^^
Additional Grafana plugins can be installed by adding the plugin name to the
``grafana_plugins_append`` list. Plugins can also be removed by adding the
plugin name to the ``grafana_plugins_remove`` list. Additionally the entire
list can be overridden by setting the ``grafana_plugins_override`` variable.
.. code-block:: ini
grafana_plugins_append:
- grafana-piechart-panel
- vonage-status-panel
Python packages build options
-----------------------------
@ -401,6 +418,7 @@ Some of these plugins used to be enabled by default but, due to
their release characteristic, have been excluded from the default builds.
Please read the included ``README.rst`` to learn how to apply them.
Additions functionality
-----------------------

View File

@ -22,9 +22,12 @@ COPY extend_start.sh /usr/local/bin/kolla_extend_start
{% block grafana_plugins_install %}
RUN grafana-cli plugins install gnocchixyz-gnocchi-datasource \
&& grafana-cli plugins install grafana-opensearch-datasource
{% set grafana_default_plugins = ['gnocchixyz-gnocchi-datasource', 'grafana-opensearch-datasource'] %}
{% set grafana_plugins = grafana_default_plugins | customizable("plugins") %}
{% if grafana_plugins | length > 0 %}
RUN {{ (['grafana-cli plugins install %s'] * grafana_plugins | length ) | join(' && ') | format(*grafana_plugins) }}
{% endif %}
{% endblock %}
RUN chmod 750 /etc/sudoers.d \

View File

@ -0,0 +1,8 @@
---
features:
- |
New logic for installing grafana plugins. When building you can pass a
variable ``grafana_plugins_append`` that contains a list of plugins you
want to install. This will be appended to the default list of plugins. The
existing method of overwriting the ``grafana_plugins_install`` block still
works.