aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/admin/image-building.rst18
-rw-r--r--docker/grafana/Dockerfile.j27
-rw-r--r--releasenotes/notes/merge-grafana-plugins-b9a837b9fccff691.yaml8
3 files changed, 31 insertions, 2 deletions
diff --git a/doc/source/admin/image-building.rst b/doc/source/admin/image-building.rst
index 81e04f401..aad3c33a3 100644
--- a/doc/source/admin/image-building.rst
+++ b/doc/source/admin/image-building.rst
@@ -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
-----------------------
diff --git a/docker/grafana/Dockerfile.j2 b/docker/grafana/Dockerfile.j2
index cd4e94540..a769945e4 100644
--- a/docker/grafana/Dockerfile.j2
+++ b/docker/grafana/Dockerfile.j2
@@ -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 \
diff --git a/releasenotes/notes/merge-grafana-plugins-b9a837b9fccff691.yaml b/releasenotes/notes/merge-grafana-plugins-b9a837b9fccff691.yaml
new file mode 100644
index 000000000..db2e8279a
--- /dev/null
+++ b/releasenotes/notes/merge-grafana-plugins-b9a837b9fccff691.yaml
@@ -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.