From 26637ca4fdb026cea585df4c9e6c0fc2c07492ba Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Fri, 1 Feb 2019 14:51:06 +0000 Subject: 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 --- resources/libraries/python/DUTSetup.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'resources/libraries/python/DUTSetup.py') 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) @@ -646,6 +649,26 @@ class DUTSetup(object): return False 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. -- cgit 1.2.3-korg