summaryrefslogtreecommitdiffstats
path: root/testcases/testcase.py
diff options
context:
space:
mode:
authorSridhar K. N. Rao <sridhar.rao@spirent.com>2017-11-28 16:23:01 +0530
committerSridhar K. N. Rao <sridhar.rao@spirent.com>2018-01-21 19:16:36 +0530
commit7243bf4de72f4b795f08f6abe99e05da4c06491b (patch)
tree97902285abe288be2765005195c98f66f3feb279 /testcases/testcase.py
parentc870b4c5e4360008e17dda745fc9ce11b212f702 (diff)
llc-management: Support for LLC management with RMD
This patch adds support for LLC-Last level cache management using RMD. The changes include: 1. 08_llcmanagement.conf: The configuration file to define cache allocation policy. 2. testcase.py: To trigger llc-allocation and cleanup before and after the test, respectively. 3. llc_management/rmd.py: The main file the performs the llc allocation and cleanup. 4. llc_management/resthttp.py: Generic utility to call rest APIs, with http. 5. Fixed a build error due to change in name mismatch. 6. Fixed pylint errors. Override built-in function error. 7. Added empty __init__.py to avoid import errors 8. Fixed deprecated functions errors 9. Fixed copyright issues, removed python-3 checking. 10. Removed pylint disables. 11. resthttp.py is already part of stcrestclient used in tools/pkt_gen/testcenter/ scripts. Hence, deleted from the source. 12. Year update from the license 13. Fixed some testcases.py collision issue JIRA: VSPERF-544 Change-Id: I7cbd155dd66f5a0cef544751841e71b95c9b6821 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Diffstat (limited to 'testcases/testcase.py')
-rw-r--r--testcases/testcase.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/testcases/testcase.py b/testcases/testcase.py
index 991c2890..5d4a6ea9 100644
--- a/testcases/testcase.py
+++ b/testcases/testcase.py
@@ -36,6 +36,7 @@ from tools import functions
from tools import namespace
from tools import veth
from tools.teststepstools import TestStepsTools
+from tools.llc_management import rmd
CHECK_PREFIX = 'validate_'
@@ -185,6 +186,10 @@ class TestCase(object):
if step[0].startswith('vnf'):
self._step_vnf_list[step[0]] = None
+ # if llc allocation is required, initialize it.
+ if S.getValue('LLC_ALLOCATION'):
+ self._rmd = rmd.CacheAllocator()
+
def run_initialize(self):
""" Prepare test execution environment
"""
@@ -257,6 +262,10 @@ class TestCase(object):
self._step_status = {'status' : True, 'details' : ''}
+ # Perform LLC-allocations
+ if S.getValue('LLC_ALLOCATION'):
+ self._rmd.setup_llc_allocation()
+
self._logger.debug("Setup:")
def run_finalize(self):
@@ -265,6 +274,10 @@ class TestCase(object):
# Stop all VNFs started by TestSteps in case that something went wrong
self.step_stop_vnfs()
+ # Cleanup any LLC-allocations
+ if S.getValue('LLC_ALLOCATION'):
+ self._rmd.cleanup_llc_allocation()
+
# Stop all processes executed by testcase
tasks.terminate_all_tasks(self._logger)