From 0d1e35bfb9069c701dbf24c3daaa618bc3ad108b Mon Sep 17 00:00:00 2001 From: xudan Date: Tue, 28 Mar 2017 06:50:05 +0000 Subject: dovetail tool: set a unique build_tag for each DoveTail test JIRA: DOVETAIL-379 1. create a uuid for each test, and set build_tag=daily-master- 2. the reason it starts with "daily_master" is that it's the requirement of functest when push data to DB. Change-Id: I9a59d5695a9f0d83bf4330379f1949a2a04f876c Signed-off-by: xudan --- dovetail/container.py | 7 ++++--- dovetail/report.py | 5 ++--- dovetail/run.py | 4 ++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/dovetail/container.py b/dovetail/container.py index 878b21cb..89b732bb 100644 --- a/dovetail/container.py +++ b/dovetail/container.py @@ -62,8 +62,7 @@ class Container(object): ins_type = " -e INSTALLER_TYPE=vendor-specific" scenario = " -e DEPLOY_SCENARIO=default" node = " -e NODE_NAME=master" - tag = " -e BUILD_TAG=daily-master-001" - envs = "%s %s %s %s" % (ins_type, scenario, node, tag) + envs = "%s %s %s" % (ins_type, scenario, node) dovetail_config = dt_cfg.dovetail_config if dovetail_config['report_dest'].startswith("http"): @@ -107,8 +106,10 @@ class Container(object): if not openrc: return None - # This is used for showing the debug logs of the upstream projects + # CI_DEBUG is used for showing the debug logs of the upstream projects + # BUILD_TAG is the unique id for this test envs = ' -e CI_DEBUG=true' + envs = envs + ' -e BUILD_TAG=%s' % dovetail_config['build_tag'] config = "" if type.lower() == "functest": diff --git a/dovetail/report.py b/dovetail/report.py index f2210cb7..deabbdd2 100644 --- a/dovetail/report.py +++ b/dovetail/report.py @@ -13,7 +13,6 @@ import urllib2 import re import os import datetime -import uuid from pbr import version @@ -47,7 +46,7 @@ class Report(object): report_obj['testsuite'] = testsuite_yaml['name'] # TO DO: once dashboard url settled, adjust accordingly report_obj['dashboard'] = None - report_obj['validation_ID'] = str(uuid.uuid4()) + report_obj['build_tag'] = dt_cfg.dovetail_config['build_tag'] report_obj['upload_date'] =\ datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC") report_obj['duration'] = duration @@ -89,7 +88,7 @@ class Report(object): report_txt += 'Version: %s\n' % report_data['version'] report_txt += 'TestSuite: %s\n' % report_data['testsuite'] report_txt += 'Result Dashboard: %s\n' % report_data['dashboard'] - report_txt += 'Validation ID: %s\n' % report_data['validation_ID'] + report_txt += 'Build Tag: %s\n' % report_data['build_tag'] report_txt += 'Upload Date: %s\n' % report_data['upload_date'] if report_data['duration'] == 0: report_txt += 'Duration: %s\n\n' % 'N/A' diff --git a/dovetail/run.py b/dovetail/run.py index 2a2c5677..828a2b70 100755 --- a/dovetail/run.py +++ b/dovetail/run.py @@ -12,6 +12,7 @@ import click import os import copy import time +import uuid import utils.dovetail_logger as dt_logger import utils.dovetail_utils as dt_utils @@ -154,6 +155,8 @@ def clean_results_dir(): def main(*args, **kwargs): """Dovetail compliance test entry!""" + build_tag = "daily-master-%s" % str(uuid.uuid4()) + dt_cfg.dovetail_config['build_tag'] = build_tag clean_results_dir() if kwargs['debug']: os.environ['DEBUG'] = 'true' @@ -162,6 +165,7 @@ def main(*args, **kwargs): logger.info('================================================') logger.info('Dovetail compliance: %s!', (kwargs['testsuite'])) logger.info('================================================') + logger.info('Build tag: %s', dt_cfg.dovetail_config['build_tag']) validate_input(kwargs, dt_cfg.dovetail_config['validate_input'], logger) configs = filter_config(kwargs, logger) -- cgit 1.2.3-korg