Update Qemu library
[csit.git] / resources / libraries / python / DUTSetup.py
index 76f76ae..d5ebf9a 100644 (file)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
 from robot.api import logger
 from topology import NodeType
 from ssh import SSH
 from constants import Constants
 
 from robot.api import logger
 from topology import NodeType
 from ssh import SSH
 from constants import Constants
 
+
 class DUTSetup(object):
 
 class DUTSetup(object):
 
-    def __init__(self):
-        pass
+    def start_vpp_service_on_all_duts(self, nodes):
+        """Start up the VPP service on all nodes."""
+        ssh = SSH()
+        for node in nodes.values():
+            if node['type'] == NodeType.DUT:
+                ssh.connect(node)
+                (ret_code, stdout, stderr) = \
+                        ssh.exec_command_sudo('service vpp restart')
+                if 0 != int(ret_code):
+                    logger.debug('stdout: {0}'.format(stdout))
+                    logger.debug('stderr: {0}'.format(stderr))
+                    raise Exception('DUT {0} failed to start VPP service'.
+                            format(node['host']))
 
     def setup_all_duts(self, nodes):
         """Prepare all DUTs in given topology for test execution."""
 
     def setup_all_duts(self, nodes):
         """Prepare all DUTs in given topology for test execution."""
@@ -34,8 +47,9 @@ class DUTSetup(object):
             ssh.exec_command('sudo -Sn bash {0}/{1}/dut_setup.sh'.format(
                 Constants.REMOTE_FW_DIR, Constants.RESOURCES_LIB_SH))
         logger.trace(stdout)
             ssh.exec_command('sudo -Sn bash {0}/{1}/dut_setup.sh'.format(
                 Constants.REMOTE_FW_DIR, Constants.RESOURCES_LIB_SH))
         logger.trace(stdout)
+        logger.trace(stderr)
         if 0 != int(ret_code):
         if 0 != int(ret_code):
-            logger.error('DUT {0} setup script failed: "{1}"'.
+            logger.debug('DUT {0} setup script failed: "{1}"'.
                     format(node['host'], stdout + stderr))
             raise Exception('DUT test setup script failed at node {}'.
                     format(node['host']))
                     format(node['host'], stdout + stderr))
             raise Exception('DUT test setup script failed at node {}'.
                     format(node['host']))