Add k8s keepalived failover test

Rewrite openstack_actions to remove hardware dependency from it.
Rewrite conformance method to allow more flexibility.
Add timeout after restarting keepalived workaround because
sometimes it did not have time to go into MASTER state before
test starts.

Change-Id: I668844f91f4a8fb473e199977f1ebe6ca7ddc35a
Related-PROD: PROD-20878
diff --git a/tcp_tests/managers/openstack_manager.py b/tcp_tests/managers/openstack_manager.py
index 464dc56..d47aceb 100644
--- a/tcp_tests/managers/openstack_manager.py
+++ b/tcp_tests/managers/openstack_manager.py
@@ -26,12 +26,10 @@
 
     __config = None
     __underlay = None
-    __hardware = None
 
-    def __init__(self, config, underlay,  hardware, salt):
+    def __init__(self, config, underlay, salt):
         self.__config = config
         self.__underlay = underlay
-        self.__hardware = hardware
         self._salt = salt
         super(OpenstackManager, self).__init__(
             config=config, underlay=underlay)
@@ -164,37 +162,6 @@
             LOG.debug("Found files {0}".format(file_name))
             r.download(destination=file_name, target=os.getcwd())
 
-    def get_node_name_by_subname(self, node_sub_name):
-        return [node_name for node_name
-                in self.__underlay.node_names()
-                if node_sub_name in node_name]
-
-    def warm_shutdown_openstack_nodes(self, node_sub_name, timeout=10 * 60):
-        """Gracefully shutting down the node  """
-        node_names = self.get_node_name_by_subname(node_sub_name)
-        LOG.info('Shutting down nodes {}'.format(node_names))
-        for node in node_names:
-            LOG.debug('Shutdown node {0}'.format(node))
-            self.__underlay.check_call(cmd="shutdown +1", node_name=node)
-        for node in node_names:
-            LOG.info('Destroy node {}'.format(node))
-            self.__hardware.destroy_node(node)
-            self.__hardware.wait_for_node_state(
-                node, state='offline', timeout=timeout)
-
-    def warm_start_nodes(self, node_sub_name, timeout=10 * 60):
-        node_names = self.get_node_name_by_subname(node_sub_name)
-        LOG.info('Starting nodes {}'.format(node_names))
-        for node in node_names:
-            self.__hardware.start_node(node)
-            self.__hardware.wait_for_node_state(
-                node, state='active', timeout=timeout)
-
-    def warm_restart_nodes(self, node_names, timeout=10 * 60):
-        LOG.info('Reboot (warm restart) nodes {0}'.format(node_names))
-        self.warm_shutdown_openstack_nodes(node_names, timeout=timeout)
-        self.warm_start_nodes(node_names)
-
     def auth_in_horizon(self, host, port, user, password):
         client = requests.session()
         url = "http://{0}:{1}".format(