aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/DUTSetup.py
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-02-01 14:51:06 +0000
committerPeter Mikus <pmikus@cisco.com>2019-02-04 17:33:56 +0000
commit26637ca4fdb026cea585df4c9e6c0fc2c07492ba (patch)
tree6dc6516647a03c3c4925fa6b9edaa53bd66fd7f7 /resources/libraries/python/DUTSetup.py
parentfbc1d0cede4a36ae0f806b494db1b5eed05bbfd1 (diff)
CSIT-1416 Remove installation of vpp from containers
Use parent system (Host, Container) installation of VPP. This will save the internet bandwith by skip installing of prerequisites packages. It will also skip dpkg install and simplify the process of initializing VPP inside container. Previosly initialization of VPP in container takes about 55s. With this patch it is reduced to 2-3s. This patch removes the bloated VOLUME creation between container sidecars (a.k.a nested container) and fixes the hugepage allocation. Change-Id: Ifa2be532edb77354657e1b84568bdc34993b00d0 Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/libraries/python/DUTSetup.py')
-rw-r--r--resources/libraries/python/DUTSetup.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py
index c573985a9b..a20b2d7056 100644
--- a/resources/libraries/python/DUTSetup.py
+++ b/resources/libraries/python/DUTSetup.py
@@ -609,6 +609,9 @@ class DUTSetup(object):
message = 'Failed to install VPP on host {host}!'.\
format(host=node['host'])
if node['type'] == NodeType.DUT:
+ command = 'ln -s /dev/null /etc/sysctl.d/80-vpp.conf || true'
+ exec_cmd_no_error(node, command, sudo=True)
+
command = '. /etc/lsb-release; echo "${DISTRIB_ID}"'
stdout, _ = exec_cmd_no_error(node, command)
@@ -647,6 +650,26 @@ class DUTSetup(object):
return True
@staticmethod
+ def get_docker_mergeddir(node, uuid):
+ """Get Docker overlay for MergedDir diff.
+
+ :param node: DUT node.
+ :param uuid: Docker UUID.
+ :type node: dict
+ :type uuid: str
+ :returns: Docker container MergedDir.
+ :rtype: str
+ :raises RuntimeError: If getting output failed.
+ """
+ command = "docker inspect --format='"\
+ "{{{{.GraphDriver.Data.MergedDir}}}}' {uuid}".format(uuid=uuid)
+ message = 'Failed to get directory of {uuid} on host {host}'.\
+ format(uuid=uuid, host=node['host'])
+
+ stdout, _ = exec_cmd_no_error(node, command, sudo=True, message=message)
+ return stdout.strip()
+
+ @staticmethod
def get_huge_page_size(node):
"""Get default size of huge pages in system.