Fix snapshot name fot template test cases

For snapshot name used case class + hash from config name + step
    DeployCheckRadosGW_562aa0fd_Step002

Implements blueprint template-based-testcases

Change-Id: Iad3be3f4a4f7cd7977ed7a22948247e4c2354624
This commit is contained in:
Dmitry Tyzhnenko 2015-11-13 14:30:29 +02:00 committed by Dmitry Tyzhnenko
parent df45a35b8b
commit f3363b2a79
3 changed files with 20 additions and 2 deletions

View File

@ -264,7 +264,8 @@ class EnvironmentModel(object):
self.d_env.suspend(verbose=False)
time.sleep(10)
self.d_env.snapshot(snapshot_name, force=True)
self.d_env.snapshot(snapshot_name, force=True,
description=description)
revert_info(snapshot_name, self.get_admin_node_ip(), description)
if settings.FUEL_STATS_CHECK:

View File

@ -15,6 +15,7 @@
import functools
import traceback
import sys
import hashlib
from proboscis import SkipTest
@ -76,6 +77,9 @@ def make_snapshot_if_step_fail(func):
except Exception as test_exception:
exc_trace = sys.exc_traceback
name = 'error_%s' % func.__name__
case_name = getattr(func, '_base_class', None)
step_num = getattr(func, '_step_num', None)
config_name = getattr(func, '_config_case_group', None)
description = "Failed in method '%s'." % func.__name__
if args[0].env is not None:
try:
@ -94,7 +98,17 @@ def make_snapshot_if_step_fail(func):
finally:
logger.debug(args)
try:
args[0].env.make_snapshot(snapshot_name=name[-50:],
if all([case_name, step_num, config_name]):
_hash = hashlib.sha256(config_name)
_hash = _hash.hexdigest()[:8]
snapshot_name = "{case}_{config}_{step}".format(
case=case_name,
config=_hash,
step="Step{:03d}".format(step_num)
)
else:
snapshot_name = name[-50:]
args[0].env.make_snapshot(snapshot_name=snapshot_name,
description=description,
is_make=True)
except:

View File

@ -62,6 +62,9 @@ class BaseActionsFactory(base_test_case.TestBasic):
"__doc__").splitlines()[0]
setattr(method, "_step_name", "Step {:03d}. {}".format(step,
_step_name))
setattr(method, "_step_num", step)
setattr(method, "_base_class", cls.__name__)
setattr(method, "_config_case_group", case_group)
# Add step to scenario
scenario.append(" {}. {}".format(step, _step_name))