From 24c5124e304b8e2854d98284f6ee4715a75ee735 Mon Sep 17 00:00:00 2001 From: Kamil Wiatrowski Date: Thu, 7 Jun 2018 05:13:01 +0100 Subject: WIP: Add role to auto install docker on hosts Auto install docker with dependencies on hosts: apt install python apt install python-pip pip install docker-py apt install docker.io Set docker proxy using host proxy settings. Updated documentation. Change-Id: Ibec7e0a7e484d5a9a8656cd3598c3acc7c2e2184 Signed-off-by: Kamil Wiatrowski --- docker/ansible/roles/config_files/tasks/ipmi.yml | 32 ++++++++++++++++------ docker/ansible/roles/config_files/tasks/main.yml | 6 ++-- docker/ansible/roles/config_files/tasks/mcelog.yml | 17 ++++++++++++ .../ansible/roles/config_files/tasks/types_db.yml | 22 --------------- docker/ansible/roles/config_files/tasks/uuid.yml | 21 ++++++++++++++ .../templates/default_read_plugins.conf.j2 | 1 - .../roles/config_files/templates/uuid.conf.j2 | 20 ++++++++++++++ docker/ansible/roles/config_files/vars/main.yml | 5 +--- 8 files changed, 86 insertions(+), 38 deletions(-) delete mode 100644 docker/ansible/roles/config_files/tasks/types_db.yml create mode 100644 docker/ansible/roles/config_files/tasks/uuid.yml create mode 100644 docker/ansible/roles/config_files/templates/uuid.conf.j2 (limited to 'docker/ansible/roles/config_files') diff --git a/docker/ansible/roles/config_files/tasks/ipmi.yml b/docker/ansible/roles/config_files/tasks/ipmi.yml index 5ea62c47..c7359fbf 100644 --- a/docker/ansible/roles/config_files/tasks/ipmi.yml +++ b/docker/ansible/roles/config_files/tasks/ipmi.yml @@ -13,14 +13,6 @@ # limitations under the License. --- -- name: Check if /dev/ipmi0 exists - stat: - path: /dev/ipmi0 - register: ipmi0_exists - ignore_errors: True - tags: - - ipmi - - name: check ipmi_devintf is loaded shell: "lsmod | cut -d' ' -f1 | grep ipmi_devintf" register: ipmi_devintf @@ -35,6 +27,30 @@ tags: - ipmi +- name: insert ipmi module ipmi_devintf + command: "modprobe ipmi_devintf" + register: ipmi_devintf + ignore_errors: true + when: ipmi_devintf|failed and insert_ipmi_modules|default(false)|bool + tags: + - ipmi + +- name: insert ipmi module ipmi_si + command: "modprobe ipmi_si" + register: ipmi_devsi + ignore_errors: true + when: ipmi_devsi|failed and insert_ipmi_modules|default(false)|bool + tags: + - ipmi + +- name: Check if /dev/ipmi0 exists + stat: + path: /dev/ipmi0 + register: ipmi0_exists + ignore_errors: true + tags: + - ipmi + - name: enable ipmi plugin template: src: ipmi.conf.j2 diff --git a/docker/ansible/roles/config_files/tasks/main.yml b/docker/ansible/roles/config_files/tasks/main.yml index 9a9cb300..4bf81f81 100644 --- a/docker/ansible/roles/config_files/tasks/main.yml +++ b/docker/ansible/roles/config_files/tasks/main.yml @@ -74,8 +74,8 @@ - name: enable ipmi plugin include: ipmi.yml +- name: enable uuid plugin + include: uuid.yml + - name: copy additional config files include: additional_configs.yml - -- name: copy types.db to target - include: types_db.yml diff --git a/docker/ansible/roles/config_files/tasks/mcelog.yml b/docker/ansible/roles/config_files/tasks/mcelog.yml index 9c935e3e..bab4b142 100644 --- a/docker/ansible/roles/config_files/tasks/mcelog.yml +++ b/docker/ansible/roles/config_files/tasks/mcelog.yml @@ -13,6 +13,23 @@ # limitations under the License. --- +- name: install mcelog package + package: + name: mcelog + state: present + when: install_mcelog|default(false)|bool + tags: + - mcelogs + +- name: start mcelog daemon if not running + service: + name: mcelog + state: started + enabled: true + when: install_mcelog|default(false)|bool + tags: + - mcelogs + - name: check if mcelog running on host shell: ps -ef | grep mcelog | grep -v grep > /dev/null register: mcelog_running diff --git a/docker/ansible/roles/config_files/tasks/types_db.yml b/docker/ansible/roles/config_files/tasks/types_db.yml deleted file mode 100644 index 7603bdcf..00000000 --- a/docker/ansible/roles/config_files/tasks/types_db.yml +++ /dev/null @@ -1,22 +0,0 @@ -#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: copy types.db to target system - copy: - src: types.db - dest: "{{ typesdb_dir }}/types.db" - ignore_errors: True - tags: - - typesdb diff --git a/docker/ansible/roles/config_files/tasks/uuid.yml b/docker/ansible/roles/config_files/tasks/uuid.yml new file mode 100644 index 00000000..25cfa128 --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/uuid.yml @@ -0,0 +1,21 @@ +#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: enable uuid plugin + template: + src: uuid.conf.j2 + dest: "{{ config_file_dir }}/uuid.conf" + tags: + - uuid diff --git a/docker/ansible/roles/config_files/templates/default_read_plugins.conf.j2 b/docker/ansible/roles/config_files/templates/default_read_plugins.conf.j2 index fd941a76..48beb0be 100644 --- a/docker/ansible/roles/config_files/templates/default_read_plugins.conf.j2 +++ b/docker/ansible/roles/config_files/templates/default_read_plugins.conf.j2 @@ -30,6 +30,5 @@ Interval "{{ interval_value }}" #LoadPlugin processes #LoadPlugin swap #LoadPlugin turbostat -#LoadPlugin uuid #LoadPlugin uptime diff --git a/docker/ansible/roles/config_files/templates/uuid.conf.j2 b/docker/ansible/roles/config_files/templates/uuid.conf.j2 new file mode 100644 index 00000000..a9a84e71 --- /dev/null +++ b/docker/ansible/roles/config_files/templates/uuid.conf.j2 @@ -0,0 +1,20 @@ +#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. + +LoadPlugin uuid + +# +# UUIDFile "/etc/uuid" +# + diff --git a/docker/ansible/roles/config_files/vars/main.yml b/docker/ansible/roles/config_files/vars/main.yml index 37120d86..bfa0fd68 100644 --- a/docker/ansible/roles/config_files/vars/main.yml +++ b/docker/ansible/roles/config_files/vars/main.yml @@ -23,7 +23,7 @@ interval_value: 10 #network plugin vars network_port: 25826 -network_ip_addr: localhost +network_ip_addr: "{{ (groups['influxdb_hosts']|default({}))[0] | default('localhost') }}" #ovs event and stats plugin vars ovs_event_interval: 1 @@ -54,6 +54,3 @@ write_per_sec: 50 #additional configuration files path additional_configs_path: "" - -#directory to copy types.db file to -typesdb_dir: "/opt/collectd/share/collectd/" -- cgit 1.2.3-korg