From 7243bf4de72f4b795f08f6abe99e05da4c06491b Mon Sep 17 00:00:00 2001 From: "Sridhar K. N. Rao" Date: Tue, 28 Nov 2017 16:23:01 +0530 Subject: 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 --- testcases/testcase.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'testcases') 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) -- cgit 1.2.3-korg