X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=baro_tests%2Fcollectd.py;h=c1a05afbbad5302d3a7b3fafb8ac2defc383a9ac;hb=HEAD;hp=188afab1aa5ca5c4dff3aaec4c8576b34e76bcb3;hpb=f6e7b3b48f49a607da05663d7963945849e04002;p=barometer.git diff --git a/baro_tests/collectd.py b/baro_tests/collectd.py index 188afab1..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' @@ -468,9 +472,6 @@ def _exec_testcase( bridge for bridge in ovs_interfaces if bridge in ovs_configured_bridges] plugin_prerequisites = { - 'intel_rdt': [( - conf.is_rdt_available(compute_node), - 'RDT not avaialble on VMs')], 'mcelog': [( conf.is_mcelog_installed(compute_node, 'mcelog'), 'mcelog must be installed.')], @@ -563,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': @@ -591,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( @@ -636,7 +653,7 @@ def mcelog_install(): for node in nodes: if node.is_compute(): centos_release = node.run_cmd('uname -r') - if centos_release not in ('3.10.0-514.26.2.el7.x86_64', '3.10.0-693.17.1.el7.x86_64'): + 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-{}.' + ' Unsupported CentOS release found ({}).'.format( @@ -779,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") @@ -852,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__':