8fc27342fb12ec032637a44f86dc74402aca27ad
[barometer.git] / docker / ansible / roles / run_collectd / tasks / main.yml
1 #Copyright 2018-2019 OPNFV and Intel Corporation
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 ---
15
16 - name: remove bar-collectd container
17   docker_container:
18     name: bar-collectd
19     state: absent
20   tags:
21     - rm_containers
22     - rm_collectd_cont
23   when: rm_containers|default(false)|bool == true
24
25 - name: Remove bar-collectd image
26   docker_image:
27     name: "{{ collectd_image_name }}"
28     state: absent
29   tags:
30     - rm_images
31     - rm_collectd_image
32   when: rm_images|default(false)|bool == true
33
34 - name: check if /sys/fs/resctrl exist
35   stat:
36     path: /sys/fs/resctrl
37   register: resctrl_dir
38
39 - name: set list of volumes to bind
40   set_fact:
41     volumes_list:
42
43        - /opt/collectd/etc/collectd.conf.d/:/opt/collectd/etc/collectd.conf.d
44        - /var/run:/var/run
45        - /tmp:/tmp
46        - /var/lib/collectd:/var/lib/collectd
47
48 - name: add resctrl to container volumes
49   set_fact:
50     volumes_list: "{{ volumes_list + [ '/sys/fs/resctrl:/sys/fs/resctrl' ] }}"
51   when: resctrl_dir.stat.exists
52
53 - name: launch collectd container
54   docker_container:
55     name: bar-collectd
56     image: "{{ collectd_image_name }}"
57     volumes: "{{ volumes_list }}"
58     command: "/run_collectd.sh"
59     detach: yes
60     state: started
61     restart: yes
62     privileged: yes
63     network_mode: host