CSIT-1416 Remove installation of vpp from containers
[csit.git] / resources / libraries / python / DUTSetup.py
index 7a28e09..a20b2d7 100644 (file)
@@ -606,8 +606,12 @@ class DUTSetup(object):
         :raises RuntimeError: If failed to remove or install VPP.
         """
         for node in nodes.values():
-            message='Failed to install VPP on {host}!'.format(host=node['host'])
+            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)
 
@@ -615,15 +619,15 @@ class DUTSetup(object):
                     exec_cmd_no_error(node, 'apt-get purge -y "*vpp*" || true',
                                       timeout=120, sudo=True)
                     exec_cmd_no_error(node, 'dpkg -i --force-all {dir}*.deb'.
-                        format(dir=vpp_pkg_dir), timeout=120, sudo=True,
-                        message=message)
+                                      format(dir=vpp_pkg_dir), timeout=120,
+                                      sudo=True, message=message)
                     exec_cmd_no_error(node, 'dpkg -l | grep vpp', sudo=True)
                 else:
                     exec_cmd_no_error(node, 'yum -y remove "*vpp*" || true',
                                       timeout=120, sudo=True)
-                    exec_cmd_no_error(node, 'rpm -ivh {dir}*.rpm'.\
-                        format(dir=vpp_pkg_dir), timeout=120, sudo=True,
-                        message=message)
+                    exec_cmd_no_error(node, 'rpm -ivh {dir}*.rpm'.
+                                      format(dir=vpp_pkg_dir), timeout=120,
+                                      sudo=True, message=message)
                     exec_cmd_no_error(node, 'rpm -qai *vpp*', sudo=True)
 
     @staticmethod
@@ -645,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.