summaryrefslogtreecommitdiffstats
path: root/docker/ansible
diff options
context:
space:
mode:
authorGordon Kelly <gordon.kelly@intel.com>2018-02-28 21:17:34 +0000
committerGordon Kelly <gordon.kelly@intel.com>2018-02-28 21:18:32 +0000
commit1f01b29d47f20b76dd76258cba42c86b88bf403a (patch)
treea2faf34f0130551a7fe2b1d16962a0aa7598edf6 /docker/ansible
parent0581d676131027dde7dc73a647760b0f3a8ced65 (diff)
ansible: add roles to launch collectd, influxdb and grafana containers
Change-Id: I330172a2165e51a1557f084fd85fce12dfaad3a7 Signed-off-by: Gordon Kelly <gordon.kelly@intel.com>
Diffstat (limited to 'docker/ansible')
-rw-r--r--docker/ansible/collectd_service.yml30
-rw-r--r--docker/ansible/roles/run_collectd/tasks/main.yml48
-rw-r--r--docker/ansible/roles/run_grafana/tasks/main.yml48
-rw-r--r--docker/ansible/roles/run_grafana/vars/main.yml17
-rw-r--r--docker/ansible/roles/run_influxdb/tasks/main.yml48
5 files changed, 191 insertions, 0 deletions
diff --git a/docker/ansible/collectd_service.yml b/docker/ansible/collectd_service.yml
new file mode 100644
index 00000000..bc484d31
--- /dev/null
+++ b/docker/ansible/collectd_service.yml
@@ -0,0 +1,30 @@
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- hosts: collectd_hosts
+ remote_user: root
+ roles:
+ - config_files
+ - run_collectd
+
+- hosts: influxdb_hosts
+ remote_user: root
+ roles:
+ - run_influxdb
+
+- hosts: grafana_hosts
+ remote_user: root
+ roles:
+ - run_grafana
diff --git a/docker/ansible/roles/run_collectd/tasks/main.yml b/docker/ansible/roles/run_collectd/tasks/main.yml
new file mode 100644
index 00000000..c77aad58
--- /dev/null
+++ b/docker/ansible/roles/run_collectd/tasks/main.yml
@@ -0,0 +1,48 @@
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- name: remove bar-collectd container
+ docker_container:
+ name: bar-collectd
+ state: absent
+ tags:
+ - rm_containers
+ - rm_collectd_cont
+ when: rm_containers|default(false)|bool == true
+
+- name: Remove bar-collectd image
+ docker_image:
+ name: opnfv/barometer-collectd
+ state: absent
+ tags:
+ - rm_images
+ - rm_collectd_image
+ when: rm_images|default(false)|bool == true
+
+- name: launch collectd container
+ docker_container:
+ name: bar-collectd
+ image: opnfv/barometer-collectd
+ volumes:
+ - /opt/collectd/etc/collectd.conf.d/:/opt/collectd/etc/collectd.conf.d
+ - /var/run:/var/run
+ - /tmp:/tmp
+ - /var/lib/collectd:/var/lib/collectd
+ command: "/run_collectd.sh"
+ detach: yes
+ state: started
+ restart: yes
+ privileged: yes
+ network_mode: host
diff --git a/docker/ansible/roles/run_grafana/tasks/main.yml b/docker/ansible/roles/run_grafana/tasks/main.yml
new file mode 100644
index 00000000..97012495
--- /dev/null
+++ b/docker/ansible/roles/run_grafana/tasks/main.yml
@@ -0,0 +1,48 @@
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- name: remove bar-grafana container
+ docker_container:
+ name: bar-grafana
+ state: absent
+ tags:
+ - rm_containers
+ - rm_grafana_cont
+ when: rm_containers|default(false)|bool == true
+
+- name: Remove barometer-grafana image
+ docker_image:
+ state: absent
+ name: opnfv/barometer-grafana
+ tags:
+ - rm_images
+ - rm_grafana_image
+ when: rm_images|default(false)|bool == true
+
+- name: launch barometer-grafana container
+ docker_container:
+ name: bar-grafana
+ image: opnfv/barometer-grafana
+ volumes:
+ - /var/lib/grafana:/var/lib/grafana
+ ports:
+ - 3000:3000
+ env:
+ "{{ influxdb_host }}": "{{ influxdb_hostname }}"
+ etc_hosts:
+ "{{ influxdb_hostname }}": "{{ influxdb_host_ip }}"
+ detach: yes
+ restart: yes
+ network_mode: host
diff --git a/docker/ansible/roles/run_grafana/vars/main.yml b/docker/ansible/roles/run_grafana/vars/main.yml
new file mode 100644
index 00000000..0975b598
--- /dev/null
+++ b/docker/ansible/roles/run_grafana/vars/main.yml
@@ -0,0 +1,17 @@
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+influxdb_hostname: localhost
+influxdb_host_ip: 127.0.0.1
diff --git a/docker/ansible/roles/run_influxdb/tasks/main.yml b/docker/ansible/roles/run_influxdb/tasks/main.yml
new file mode 100644
index 00000000..53187fae
--- /dev/null
+++ b/docker/ansible/roles/run_influxdb/tasks/main.yml
@@ -0,0 +1,48 @@
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- name: remove bar-influxdb container
+ docker_container:
+ name: bar-influxdb
+ state: absent
+ tags:
+ - rm_containers
+ - rm_influxdb_cont
+ when: rm_containers|default(false)|bool == true
+
+- name: Remove opnfv/barometer-influxdb image
+ docker_image:
+ name: opnfv/barometer-influxdb
+ state: absent
+ tags:
+ - rm_images
+ - rm_influxdb_cont
+ when: rm_images|default(false)|bool == true
+
+- name: launch barometer-influxdb container
+ docker_container:
+ name: bar-influxdb
+ image: opnfv/barometer-influxdb
+ volumes:
+ - /var/lib/influxdb:/var/lib/influxdb
+ exposed:
+ - 8086
+ - 25826
+ ports:
+ - 8086:8086
+ - 25826:25826
+ detach: yes
+ restart: yes
+ network_mode: host