From 1f01b29d47f20b76dd76258cba42c86b88bf403a Mon Sep 17 00:00:00 2001 From: Gordon Kelly Date: Wed, 28 Feb 2018 21:17:34 +0000 Subject: ansible: add roles to launch collectd, influxdb and grafana containers Change-Id: I330172a2165e51a1557f084fd85fce12dfaad3a7 Signed-off-by: Gordon Kelly --- docker/ansible/collectd_service.yml | 30 +++++++++++++++ docker/ansible/roles/run_collectd/tasks/main.yml | 48 ++++++++++++++++++++++++ docker/ansible/roles/run_grafana/tasks/main.yml | 48 ++++++++++++++++++++++++ docker/ansible/roles/run_grafana/vars/main.yml | 17 +++++++++ docker/ansible/roles/run_influxdb/tasks/main.yml | 48 ++++++++++++++++++++++++ 5 files changed, 191 insertions(+) create mode 100644 docker/ansible/collectd_service.yml create mode 100644 docker/ansible/roles/run_collectd/tasks/main.yml create mode 100644 docker/ansible/roles/run_grafana/tasks/main.yml create mode 100644 docker/ansible/roles/run_grafana/vars/main.yml create mode 100644 docker/ansible/roles/run_influxdb/tasks/main.yml 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 -- cgit 1.2.3-korg