There are 2 bugs found with CI results of functest.tempest.neutron_tempest_plugin_api
and all HA test cases.
Yardtsick conf file does't mapping the keyfile to Yardstick container, so all
HA test cases got SSHERROR.
Also remove some useless debug msg to make dovetail.log more concise.
Change-Id: I63c12d1b91ed5f8f8a893689384685ca9215f367
Signed-off-by: xudan <xudan16@huawei.com>
user: root
# Private ssh key for accessing the controller nodes. If a keyfile is
- # being used, the path specified **must** be as shown below as this
- # is the location of the user-provided private ssh key inside the
- # Yardstick container.
- key_filename: /home/opnfv/userconfig/pre_config/id_rsa
+ # being used instead of password, it **must** be put under
+ # ``$DOVETAIL_HOME/pre_config/.
+ key_filename: /home/dovetail/pre_config/id_rsa
Under nodes, repeat entries for name, role, ip, user and password or key file for each of the
controller/compute nodes that comprise the SUT. Use a '-' to separate each of the entries.
'result': testcase.sub_testcase_passed(sub_test)
})
report_obj['testcases_list'].append(testcase_inreport)
- self.logger.debug(json.dumps(report_obj))
return report_obj
def generate(self, testcase_list, duration):
testcase_passed = 'PASS'
for sub_testcase in sub_testcase_list:
- self.logger.debug('Check sub_testcase: {}'.format(sub_testcase))
try:
if self.get_sub_testcase(sub_testcase,
db_result['details']['success']):
def sub_testcase_passed(self, name, passed=None):
if passed is not None:
- self.logger.debug(
- 'sub_testcase_passed: {} {}'.format(name, passed))
self.sub_testcase_status[name] = passed
return self.sub_testcase_status[name]
try:
with open(test_list, 'w+') as src_file:
for sub_test in self.sub_testcase():
- self.logger.debug(
- 'Save test cases {}'.format(sub_test))
src_file.write(sub_test + '\n')
self.logger.debug('Save test cases to {}'.format(test_list))
return test_list
checker.check(testcase_obj, db_result)
testcase_obj.sub_testcase.assert_called_once_with()
- logger_obj.debug.assert_has_calls([
- call('Check sub_testcase: subt_a'),
- call('Check sub_testcase: subt_b'),
- call('Check sub_testcase: subt_c'),
- call('Check sub_testcase: subt_d')])
- testcase_obj.sub_testcase_passed.assert_has_calls([
- call('subt_a', 'PASS'),
- call('subt_b', 'SKIP'),
- call('subt_c', 'FAIL'),
- call('subt_d', 'FAIL')])
testcase_obj.passed.assert_has_calls([call('PASS'), call('FAIL')])
@patch('dovetail.report.dt_logger')
result = testcase.sub_testcase_passed('name', 'passed')
- logger_obj.debug.assert_called_once_with(
- 'sub_testcase_passed: name passed')
self.assertEquals('passed', result)
def test_validate_type(self):
mock_path.join.assert_called_once_with('value', 'tempest_custom.txt')
mock_open.assert_called_once_with(file_path, 'w+')
file_obj.write.assert_called_once_with(sub_test + '\n')
- logger_obj.debug.assert_has_calls([
- call('Save test cases {}'.format(sub_test)),
- call('Save test cases to {}'.format(file_path))])
+ logger_obj.debug.assert_called_once_with(
+ 'Save test cases to {}'.format(file_path))
self.assertEquals(file_path, result)
@patch('__builtin__.open')
- '{{dovetail_home}}/pre_config/pod.yaml:{{pod_file}}'
- '{{dovetail_home}}/images:/home/opnfv/images'
- '{{dovetail_home}}/results:{{result_dir}}'
+ - '{{dovetail_home}}/pre_config:{{dovetail_home}}/pre_config'
pre_condition:
- 'echo this is pre_condition'
cmds:
- neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.functest.log
- neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.log
- neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.html
- check_results_file: 'functest_results.txt'
+ check_results_files:
+ - 'functest_results.txt'
sub_testcase_list:
- neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_create
- neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_get_rules_by_policy