Merge "Add Monasca Grafana image"

This commit is contained in:
Zuul 2018-11-07 23:24:18 +00:00 committed by Gerrit Code Review
commit 9790f374dd
4 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,81 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block monasca_grafana_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='monasca', homedir='/usr/share/grafana') }}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set monasca_grafana_build_packages = [
'golang',
'git',
'npm',
'bzip2',
'gcc-c++',
'make',
'ruby',
'ruby-devel',
'fontconfig',
'rpm-build'
] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set monasca_grafana_build_packages = [
'golang',
'git',
'npm',
'bzip2',
'g++',
'make',
'ruby',
'ruby-dev',
'fontconfig',
'rpm'
] %}
{% endif %}
{{ macros.install_packages(monasca_grafana_build_packages | customizable("packages")) }}
WORKDIR /usr/share/grafana
COPY grafana_sudoers /etc/sudoers.d/kolla_grafana_sudoers
COPY extend_start.sh /usr/local/bin/kolla_extend_start
ENV GO_PATH=/grafana
ENV monasca_grafana_build_path=${GO_PATH}/src/github.com/grafana/grafana
ARG monasca_grafana_version=grafana4
ARG monasca_grafana_url=https://github.com/monasca/grafana/archive/$monasca_grafana_version.tar.gz
{% block monasca_grafana_install %}
RUN gem install fpm \
&& curl -sSL -o /tmp/monasca-grafana.tgz ${monasca_grafana_url} \
&& mkdir -p ${monasca_grafana_build_path} \
&& tar --strip 1 -xvf /tmp/monasca-grafana.tgz -C ${monasca_grafana_build_path} \
&& rm -f /tmp/monasca-grafana.tgz \
&& cd ${monasca_grafana_build_path} \
&& go run build.go setup \
&& npm install \
&& go run build.go build package \
&& mv ${monasca_grafana_build_path}/dist /grafana_pkgs \
&& rm -rf /grafana
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set monasca_grafana_packages = ['/grafana_pkgs/grafana*.rpm'] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set monasca_grafana_packages = ['/grafana_pkgs/grafana*.deb'] %}
{% endif %}
{{ macros.install_packages(monasca_grafana_packages | customizable("packages")) }}
{% endblock %}
RUN grafana-cli plugins install monasca-datasource \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_grafana_sudoers \
&& chmod 755 /usr/local/bin/kolla_extend_start
{% block monasca_grafana_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER monasca

View File

@ -0,0 +1,8 @@
#!/bin/bash
if [[ ! -d "/var/log/kolla/monasca" ]]; then
mkdir -p /var/log/kolla/monasca
fi
if [[ $(stat -c %a /var/log/kolla/monasca) != "755" ]]; then
chmod 755 /var/log/kolla/monasca
fi

View File

@ -0,0 +1 @@
%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R monasca\: /var/lib/grafana/, /bin/chown -R monasca\: /var/lib/grafana/

View File

@ -0,0 +1,6 @@
---
features:
- |
Add the Monasca fork of Grafana (v4.0.1). The Monasca fork of Grafana
adds Keystone integration, allowing Grafana users to log in with their
OpenStack credentials and see Metrics from their OpenStack project.