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"
 
--- /dev/null
+#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
+
 
 - 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 }}"
    - copy_additional_configs
   with_fileglob:
     - "{{ additional_configs_path }}"
-
 
 #LoadPlugin disk
 #LoadPlugin ethstat
 #LoadPlugin ipc
-#LoadPlugin ipmi
 #LoadPlugin irq
 #LoadPlugin load
 #LoadPlugin memory
 
--- /dev/null
+#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>