- self.info("Starting the OVSWitch servers")
- command = ("sliver-ovs start")
-
- out = err = ""
- (out, err), proc = self.node.run_and_wait(command, self.ovs_checks,
- shfile = "start_srv.sh",
- pidfile = "start_srv_pidfile",
- ecodefile = "start_srv_exitcode",
- sudo = True,
- raise_on_error = True,
- stdout = "start_srv_stdout",
- stderr = "start_srv_stderr")
-
- (out, err), proc = self.node.check_output(self.ovs_checks, 'start_srv_exitcode')
-
- if out != "0\n":
- self.debug("Servers have not started")
- raise RuntimeError, msg
-
- cmd = "ps -A | grep ovsdb-server"
- out = err = ""
- (out, err), proc = self.node.run_and_wait(cmd, self.ovs_checks,
- shfile = "status_srv.sh",
- pidfile = "status_srv_pidfile",
- ecodefile = "status_srv_exitcode",
- sudo = True,
- stdout = "status_srv_stdout",
- stderr = "status_srv_stderr")
-
- # Check if the servers are running or not
- (out, err), proc = self.node.check_output(self.ovs_checks, 'status_srv_exitcode')
-
- if out != "0\n":
- self.debug("Servers are not running")
+ # Make sure the server is not running
+ command = "sliver-ovs del-bridge %s; sliver-ovs stop" % self.get('bridge_name')
+ shfile = os.path.join(self.app_home, "clean.sh")
+ self.node.run_and_wait(command, self.run_home,
+ shfile=shfile,
+ sudo=True,
+ raise_on_error=False,
+ pidfile="clean_pidfile",
+ ecodefile="clean_exitcode",
+ stdout="clean_stdout",
+ stderr="clean_stderr")
+
+ # start the server
+ command = "sliver-ovs start"
+ shfile = os.path.join(self.app_home, "start.sh")
+ try:
+ self.node.run_and_wait(command, self.run_home,
+ shfile=shfile,
+ sudo=True,
+ pidfile="start_pidfile",
+ ecodefile="start_exitcode",
+ stdout="start_stdout",
+ stderr="start_stderr")
+ except RuntimeError:
+ msg = "Failed to start ovs-server on VM"
+ self.debug(msg)