diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2016-09-23 12:04:01 +0100 |
---|---|---|
committer | Martin Klozik <martinx.klozik@intel.com> | 2016-09-23 14:06:57 +0100 |
commit | 48ec9750583c47dadf0f3fd931dc2cf12f738b67 (patch) | |
tree | b38dfdbe772fb474b63bc280b46f8d1c6922a932 | |
parent | 6dfabefd6cac3cd4b8fd29abf5a5b6ab9e6ae956 (diff) |
bugfix: Qemu shared dir failure
In case of testpmd or l2fwd loopback app, VSPERF copies
sources if these tools into qemu shared folder. Maximum
size of folder content is limited to approx. 500MB. This
limit is exceeded in case that DPDK is built for multiple
RTE_TARGETs. Unnecessary files are excluded from the
copy to spare size inside shared folder.
JIRA: VSPERF-398
Change-Id: Iab31a6ff2397f7031eae6a95d424317c3343d4d9
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
-rw-r--r-- | testcases/testcase.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/testcases/testcase.py b/testcases/testcase.py index 06e9cd24..ccd65785 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -380,8 +380,20 @@ class TestCase(object): guest_loopback = set(S.getValue('GUEST_LOOPBACK')) if 'testpmd' in guest_loopback: try: - tasks.run_task(['rsync', '-a', '-r', '-l', r'--exclude="\.git"', - os.path.join(S.getValue('TOOLS')['dpdk_src'], ''), + # exclude whole .git/ subdirectory and all o-files; + # It is assumed, that the same RTE_TARGET is used in both host + # and VMs; This simplification significantly speeds up testpmd + # build. If we will need a different RTE_TARGET in VM, + # then we have to build whole DPDK from the scratch in VM. + # In that case we can copy just DPDK sources (e.g. by excluding + # all items obtained by git status -unormal --porcelain). + # NOTE: Excluding RTE_TARGET directory won't help on systems, + # where DPDK is built for multiple targets (e.g. for gcc & icc) + exclude = [] + exclude.append(r'--exclude=.git/') + exclude.append(r'--exclude=*.o') + tasks.run_task(['rsync', '-a', '-r', '-l'] + exclude + + [os.path.join(S.getValue('TOOLS')['dpdk_src'], ''), os.path.join(guest_dir, 'DPDK')], self._logger, 'Copying DPDK to shared directory...', |