dist: install exported dashboards in grafana dashboard directory.

This commit is contained in:
Jimmy Berry 2017-11-03 17:51:04 -05:00
parent 159790907e
commit 10311c12c6
4 changed files with 13 additions and 2 deletions

View File

@ -22,7 +22,7 @@ VERSION = "build-$(shell date +%F)"
all: all:
install: install:
install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) install -d -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(unitdir) $(DESTDIR)$(oscplugindir) $(DESTDIR)$(sysconfdir)/$(package_name) $(DESTDIR)$(grafana_dashboards_dir)
for i in $(pkgdata_SCRIPTS); do install -m 755 $$i $(DESTDIR)$(pkgdatadir); done for i in $(pkgdata_SCRIPTS); do install -m 755 $$i $(DESTDIR)$(pkgdatadir); done
chmod 644 $(DESTDIR)$(pkgdatadir)/osc-*.py chmod 644 $(DESTDIR)$(pkgdatadir)/osc-*.py
for i in $(pkgdata_DATA); do cp -a $$i $(DESTDIR)$(pkgdatadir); done for i in $(pkgdata_DATA); do cp -a $$i $(DESTDIR)$(pkgdatadir); done
@ -34,6 +34,7 @@ install:
for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(bindir)/osrt-$${i%.*}; done for i in $(pkgdata_BINS); do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(bindir)/osrt-$${i%.*}; done
install -m 755 script/* $(DESTDIR)$(bindir) install -m 755 script/* $(DESTDIR)$(bindir)
cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name) cp -R config/* $(DESTDIR)$(sysconfdir)/$(package_name)
for i in metrics/grafana/* ; do ln -s $(pkgdatadir)/$$i $(DESTDIR)$(grafana_dashboards_dir)/osrt-$$(basename $$i); done
check: test check: test

View File

@ -5,6 +5,7 @@ datadir=$(prefix)/share
sysconfdir=/etc sysconfdir=/etc
unitdir=$(prefix)/lib/systemd/system unitdir=$(prefix)/lib/systemd/system
pkgdatadir=$(datadir)/osc-plugin-factory pkgdatadir=$(datadir)/osc-plugin-factory
grafana_dashboards_dir="/var/lib/grafana/dashboards/$(package_name)"
oscplugindir=$(prefix)/lib/osc-plugins oscplugindir=$(prefix)/lib/osc-plugins
apachevhostsdir=$(sysconfdir)/apache2/vhosts.d apachevhostsdir=$(sysconfdir)/apache2/vhosts.d
tmpfilesdir=$(prefix)/lib/tmpfiles.d tmpfilesdir=$(prefix)/lib/tmpfiles.d

View File

@ -151,6 +151,8 @@ Requires: osclib = %{version}
# TODO Requires: python-influxdb, but package does not exist in Factory, but # TODO Requires: python-influxdb, but package does not exist in Factory, but
# present in Cloud:OpenStack:Master/python-influxdb. # present in Cloud:OpenStack:Master/python-influxdb.
Recommends: python-influxdb Recommends: python-influxdb
Suggests: grafana
Suggests: influxdb
%description metrics %description metrics
Ingest relevant OBS and annotation data to generate insightful metrics. Ingest relevant OBS and annotation data to generate insightful metrics.
@ -268,6 +270,7 @@ make %{?_smp_mflags}
%install %install
%make_install \ %make_install \
grafana_dashboards_dir="%{_localstatedir}/lib/grafana/dashboards/%{name}" \
oscplugindir="%{osc_plugin_dir}" \ oscplugindir="%{osc_plugin_dir}" \
VERSION="%{version}" VERSION="%{version}"
@ -340,6 +343,11 @@ exit 0
%service_del_postun osrt-maintenance-incidents.service %service_del_postun osrt-maintenance-incidents.service
# TODO Provide metrics service once #1006 is resolved. # TODO Provide metrics service once #1006 is resolved.
%postun metrics
# If grafana-server.service is enabled then restart it to load new dashboards.
if [ -x /usr/bin/systemctl ] && systemctl is-enabled grafana-server ; then
/usr/bin/systemctl try-restart --no-block grafana-server
fi
%pre repo-checker %pre repo-checker
%service_add_pre osrt-repo-checker.service %service_add_pre osrt-repo-checker.service

View File

@ -23,7 +23,8 @@ issues are documented in:
- InfluxDB instance - InfluxDB instance
- Grafana instance - Grafana instance
- import `metrics/grafana` dashboards - `grafana.ini`:
- `[dashboards.json].enabled = true` to use the dashboards provided by rpm
- create data sources for desired projects - create data sources for desired projects
setting name and database to the project name (ex. `openSUSE:Factory`) setting name and database to the project name (ex. `openSUSE:Factory`)