From c59b2cca0a21c515a5ec1d527be66d0970421116 Mon Sep 17 00:00:00 2001
From: prithiv <prithiv.mohan@intel.com>
Date: Thu, 25 Aug 2016 10:52:28 +0100
Subject: [PATCH] Dockerfiles for collectd Container

Collectd-ceilometer-plugin is essential for further
more detailed metrics collection, smarter scheduling and service
assurance.

Change-Id: I3a926d9bee592a9bff31a90fa1ffeb0a58f5025a
Partially-Implements: blueprint collectd-ceilometer-plugin
---
 docker/collectd/Dockerfile.j2    | 22 ++++++++++++++++++++++
 docker/collectd/collectd_sudoers |  1 +
 docker/collectd/extend_start.sh  |  6 ++++++
 3 files changed, 29 insertions(+)
 create mode 100644 docker/collectd/Dockerfile.j2
 create mode 100644 docker/collectd/collectd_sudoers
 create mode 100644 docker/collectd/extend_start.sh

diff --git a/docker/collectd/Dockerfile.j2 b/docker/collectd/Dockerfile.j2
new file mode 100644
index 0000000000..c04b367b97
--- /dev/null
+++ b/docker/collectd/Dockerfile.j2
@@ -0,0 +1,22 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% import "macros.j2" as macros with context %}
+
+{% set collectd_packages = ['collectd'] %}
+
+{{ macros.install_packages(collectd_packages | customizable("packages")) }}
+
+COPY collectd_sudoers /etc/sudoers.d/kolla_collectd_sudoers
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN useradd -r -m --user-group collectd \
+    && chmod 755 /usr/local/bin/kolla_extend_start \
+    && chmod 750 /etc/sudoers.d \
+    && chmod 440 /etc/sudoers.d/kolla_collectd_sudoers \
+    && usermod -a -G kolla collectd
+
+{% block collectd_footer %}{% endblock %}
+{{ include_footer }}
+
+USER collectd
diff --git a/docker/collectd/collectd_sudoers b/docker/collectd/collectd_sudoers
new file mode 100644
index 0000000000..fae410a997
--- /dev/null
+++ b/docker/collectd/collectd_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /bin/chown collectd\: /var/lib/collectd/, /usr/bin/chown collectd\: /var/lib/collectd/
diff --git a/docker/collectd/extend_start.sh b/docker/collectd/extend_start.sh
new file mode 100644
index 0000000000..5142a67fea
--- /dev/null
+++ b/docker/collectd/extend_start.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+# Only update permissions if permissions need to be updated
+if [[ $(stat -c %U:%G /var/lib/collectd) != "collectd:collectd" ]]; then
+    sudo chown collectd: /var/lib/collectd
+fi
\ No newline at end of file