diff options
6 files changed, 106 insertions, 9 deletions
diff --git a/docker/ansible/roles/config_files/tasks/default_read_import.yml b/docker/ansible/roles/config_files/tasks/default_read_import.yml index f11b8b80..589ace34 100644 --- a/docker/ansible/roles/config_files/tasks/default_read_import.yml +++ b/docker/ansible/roles/config_files/tasks/default_read_import.yml @@ -101,14 +101,6 @@ tags: - ipc -- name: enable ipmi plugin - replace: - path: "{{ config_file_dir }}/default_read_plugins.conf" - regexp: '(\s+)#LoadPlugin ipmi(\s+.*)?$' - replace: '\1LoadPlugin ipmi\2' - tags: - - ipmi - - name: enable df plugin replace: path: "{{ config_file_dir }}/default_read_plugins.conf" diff --git a/docker/ansible/roles/config_files/tasks/ipmi.yml b/docker/ansible/roles/config_files/tasks/ipmi.yml new file mode 100644 index 00000000..da3f42bd --- /dev/null +++ b/docker/ansible/roles/config_files/tasks/ipmi.yml @@ -0,0 +1,45 @@ +#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: 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 + ignore_errors: true + tags: + - ipmi + +- name: check ipmi_si is loaded + shell: "lsmod | cut -d' ' -f1 | grep ipmi_si" + register: ipmi_devsi + ignore_errors: true + tags: + - ipmi + +- name: enable ipmi plugin + template: + src: ipmi.conf.j2 + dest: "{{ config_file_dir }}/ipmi.conf" + when: ipmi0_exists|succeeded and ipmi_devintf|succeeded and ipmi_devsi|succeeded + tags: + - ipmi + diff --git a/docker/ansible/roles/config_files/tasks/main.yml b/docker/ansible/roles/config_files/tasks/main.yml index 2f0938c0..7d3919a1 100644 --- a/docker/ansible/roles/config_files/tasks/main.yml +++ b/docker/ansible/roles/config_files/tasks/main.yml @@ -70,3 +70,16 @@ - name: enable virt plugin import_tasks: virt.yml + +- name: enable ipmi plugin + include: ipmi.yml + +- name: copy additional configuration files to target system + template: + src: "{{ item }}" + dest: "{{ config_file_dir }}/{{ item | basename | regex_replace('\\.j2','') }}" + tags: + - always + - copy_additional_configs + with_fileglob: + - "{{ additional_configs_path }}" 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 e0c52ca0..fd941a76 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 @@ -23,7 +23,6 @@ Interval "{{ interval_value }}" #LoadPlugin disk #LoadPlugin ethstat #LoadPlugin ipc -#LoadPlugin ipmi #LoadPlugin irq #LoadPlugin load #LoadPlugin memory diff --git a/docker/ansible/roles/config_files/templates/ipmi.conf.j2 b/docker/ansible/roles/config_files/templates/ipmi.conf.j2 new file mode 100644 index 00000000..54554d23 --- /dev/null +++ b/docker/ansible/roles/config_files/templates/ipmi.conf.j2 @@ -0,0 +1,45 @@ +#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 ipmi + +#<Plugin ipmi> +# <Instance "local"> +# Sensor "some_sensor" +# Sensor "another_one" +# IgnoreSelected false +# NotifySensorAdd false +# NotifySensorRemove true +# NotifySensorNotPresent false +# NotifyIPMIConnectionState false +# SELEnabled false +# SELClearEvent false +# </Instance> +# <Instance "remote"> +# Host "server.example.com" +# Address "1.2.3.4" +# Username "user" +# Password "secret" +# #AuthType "md5" +# Sensor "some_sensor" +# Sensor "another_one" +# IgnoreSelected false +# NotifySensorAdd false +# NotifySensorRemove true +# NotifySensorNotPresent false +# NotifyIPMIConnectionState false +# SELEnabled false +# SELClearEvent false +# </Instance> +#</Plugin> diff --git a/docker/ansible/roles/config_files/vars/main.yml b/docker/ansible/roles/config_files/vars/main.yml index 3677422a..05fb9e7f 100644 --- a/docker/ansible/roles/config_files/vars/main.yml +++ b/docker/ansible/roles/config_files/vars/main.yml @@ -51,3 +51,6 @@ syslog_log_level: info rrdtool_db_dir: "/var/lib/collectd/rrd" cache_flush: 120 write_per_sec: 50 + +#additional configuration files path +additional_configs_path: "" |