aboutsummaryrefslogtreecommitdiffstats
path: root/baro_tests/collectd.py
diff options
context:
space:
mode:
Diffstat (limited to 'baro_tests/collectd.py')
-rw-r--r--baro_tests/collectd.py108
1 files changed, 67 insertions, 41 deletions
diff --git a/baro_tests/collectd.py b/baro_tests/collectd.py
index 304b87b8..c1a05afb 100644
--- a/baro_tests/collectd.py
+++ b/baro_tests/collectd.py
@@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
-
+#
+# Copyright 2017 OPNFV
+#
# 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
@@ -23,6 +25,8 @@ import time
import logging
import config_server
import tests
+import dma
+from distutils import version
from opnfv.deployment import factory
AODH_NAME = 'aodh'
@@ -322,28 +326,28 @@ def _print_final_result_of_plugin(
elif (id, out_plugin, plugin, False) in results:
print_line += ' FAIL |'
else:
- print_line += ' NOT EX |'
+ print_line += ' SKIP |'
elif out_plugin == 'AODH':
if (id, out_plugin, plugin, True) in results:
print_line += ' PASS |'
elif (id, out_plugin, plugin, False) in results:
print_line += ' FAIL |'
else:
- print_line += ' FAIL |'
+ print_line += ' SKIP |'
elif out_plugin == 'SNMP':
if (id, out_plugin, plugin, True) in results:
print_line += ' PASS |'
elif (id, out_plugin, plugin, False) in results:
print_line += ' FAIL |'
else:
- print_line += ' FAIL |'
+ print_line += ' SKIP |'
elif out_plugin == 'CSV':
if (id, out_plugin, plugin, True) in results:
print_line += ' PASS |'
elif (id, out_plugin, plugin, False) in results:
print_line += ' FAIL |'
else:
- print_line += ' NOT EX |'
+ print_line += ' SKIP |'
else:
print_line += ' SKIP |'
return print_line
@@ -504,8 +508,7 @@ def _exec_testcase(
'intel_rdt': [
'intel_rdt-0-2'],
'hugepages': [
- 'hugepages-mm-2048Kb', 'hugepages-node0-2048Kb',
- 'hugepages-node1-2048Kb'],
+ 'hugepages-mm-2048Kb', 'hugepages-node0-2048Kb',],
# 'ipmi': ['ipmi'],
'mcelog': [
'mcelog-SOCKET_0_CHANNEL_0_DIMM_any',
@@ -561,6 +564,18 @@ def _exec_testcase(
+ 'following prerequisites failed:')
for prerequisite in failed_prerequisites:
logger.error(' * {}'.format(prerequisite))
+ # optional plugin
+ elif "intel_rdt" == name and not conf.is_rdt_available(compute_node):
+ #TODO: print log message
+ logger.info("RDT is not available on virtual nodes, skipping test.")
+ res = True
+ print("Results for {}, pre-processing".format(str(test_labels[name])))
+ print(results)
+ _process_result(
+ compute_node.get_id(), out_plugin, test_labels[name],
+ res, results, compute_node.get_name())
+ print("Results for {}, post-processing".format(str(test_labels[name])))
+ print(results)
else:
plugin_interval = conf.get_plugin_interval(compute_node, name)
if out_plugin == 'Gnocchi':
@@ -589,9 +604,13 @@ def _exec_testcase(
'Test works, but will be reported as failure,'
+ 'because of non-critical errors.')
res = False
+ print("Results for {}, pre-processing".format(str(test_labels[name])))
+ print(results)
_process_result(
compute_node.get_id(), out_plugin, test_labels[name],
res, results, compute_node.get_name())
+ print("Results for {}, post-processing".format(str(test_labels[name])))
+ print(results)
def get_results_for_ovs_events(
@@ -634,38 +653,40 @@ def mcelog_install():
for node in nodes:
if node.is_compute():
centos_release = node.run_cmd('uname -r')
- if '3.10.0-514.26.2.el7.x86_64' not in centos_release:
+ if version.LooseVersion(centos_release) < version.LooseVersion('3.10.0-514.26.2.el7.x86_64'):
logger.info(
- 'Mcelog will not be enabled '
- + 'on node-{0}, '.format(node.get_dict()['name'])
- + 'unsupported CentOS release found ({1}).'.format(
- centos_release))
+ 'Mcelog will NOT be enabled on node-{}.'
+ + ' Unsupported CentOS release found ({}).'.format(
+ node.get_dict()['name'],centos_release))
else:
logger.info(
- 'Checking if mcelog is enabled'
+ 'Checking if mcelog is enabled'
+ ' on node-{}...'.format(node.get_dict()['name']))
res = node.run_cmd('ls')
- if 'mce-inject_ea' and 'corrected' in res:
- logger.info(
- 'Mcelog seems to be already installed '
- + 'on node-{}.'.format(node.get_dict()['name']))
- node.run_cmd('sudo modprobe mce-inject')
- node.run_cmd('sudo ./mce-inject_ea < corrected')
- else:
- logger.info(
- 'Mcelog will be enabled on node-{}...'.format(
- node.get_dict()['id']))
- node.put_file(mce_bin, 'mce-inject_ea')
- node.run_cmd('chmod a+x mce-inject_ea')
- node.run_cmd('echo "CPU 0 BANK 0" > corrected')
- node.run_cmd(
- 'echo "STATUS 0xcc00008000010090" >>'
- + ' corrected')
- node.run_cmd(
- 'echo "ADDR 0x0010FFFFFFF" >> corrected')
- node.run_cmd('sudo modprobe mce-inject')
- node.run_cmd('sudo ./mce-inject_ea < corrected')
- logger.info('Mcelog is installed on all compute nodes')
+ if 'mce-inject_ea' and 'corrected' in res:
+ logger.info(
+ 'Mcelog seems to be already installed '
+ + 'on node-{}.'.format(node.get_dict()['name']))
+ node.run_cmd('sudo modprobe mce-inject')
+ node.run_cmd('sudo ./mce-inject_ea < corrected')
+ else:
+ logger.info(
+ 'Mcelog will be enabled '
+ + 'on node-{}...'.format(node.get_dict()['name']))
+ node.put_file(mce_bin, 'mce-inject_ea')
+ node.run_cmd('chmod a+x mce-inject_ea')
+ node.run_cmd('echo "CPU 0 BANK 0" > corrected')
+ node.run_cmd(
+ 'echo "STATUS 0xcc00008000010090" >>'
+ + ' corrected')
+ node.run_cmd(
+ 'echo "ADDR 0x0010FFFFFFF" >> corrected')
+ node.run_cmd('sudo modprobe mce-inject')
+ node.run_cmd('sudo ./mce-inject_ea < corrected')
+ logger.info(
+ 'Mcelog was installed '
+ + 'on node-{}.'.format(node.get_dict()['name']))
+
def mcelog_delete():
@@ -775,15 +796,15 @@ def main(bt_logger=None):
compute_node_names.append(node_name)
plugins_to_enable = []
error_plugins = []
- gnocchi_running = (
+ gnocchi_running_com = (
gnocchi_running and conf.check_gnocchi_plugin_included(
compute_node))
- aodh_running = (
+ aodh_running_com = (
aodh_running and conf.check_aodh_plugin_included(compute_node))
# logger.info("SNMP enabled on {}" .format(node_name))
- if gnocchi_running:
+ if gnocchi_running_com:
out_plugins[node_id].append("Gnocchi")
- if aodh_running:
+ if aodh_running_com:
out_plugins[node_id].append("AODH")
if snmp_running:
out_plugins[node_id].append("SNMP")
@@ -848,14 +869,19 @@ def main(bt_logger=None):
print_overall_summary(
compute_ids, plugin_labels, aodh_plugin_labels, results, out_plugins)
+ res_overall = 0
for res in results:
- if res[3] is 'False' or 'None':
+ if not res[3]:
logger.error('Some tests have failed or have not been executed')
logger.error('Overall Result is Fail')
- return 1
+ res_overall = 1
else:
pass
- return 0
+
+ _print_label('Testing DMA on compute nodes')
+ res_agent = dma.dma_main(logger, conf, computes)
+
+ return 0 if res_overall == 0 and res_agent == 0 else 1
if __name__ == '__main__':