diff options
author | Gordon Kelly <gordon.kelly@intel.com> | 2018-02-28 21:17:34 +0000 |
---|---|---|
committer | Gordon Kelly <gordon.kelly@intel.com> | 2018-02-28 21:18:32 +0000 |
commit | 1f01b29d47f20b76dd76258cba42c86b88bf403a (patch) | |
tree | a2faf34f0130551a7fe2b1d16962a0aa7598edf6 | |
parent | 0581d676131027dde7dc73a647760b0f3a8ced65 (diff) |
ansible: add roles to launch collectd, influxdb and grafana containers
Change-Id: I330172a2165e51a1557f084fd85fce12dfaad3a7
Signed-off-by: Gordon Kelly <gordon.kelly@intel.com>
-rw-r--r-- | docker/ansible/collectd_service.yml | 30 | ||||
-rw-r--r-- | docker/ansible/roles/run_collectd/tasks/main.yml | 48 | ||||
-rw-r--r-- | docker/ansible/roles/run_grafana/tasks/main.yml | 48 | ||||
-rw-r--r-- | docker/ansible/roles/run_grafana/vars/main.yml | 17 | ||||
-rw-r--r-- | docker/ansible/roles/run_influxdb/tasks/main.yml | 48 |
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 |