if not found_files:
msg = "No CCND output files were found to parse at %s " % logs_dir
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if parse_ping_logs:
ping_parser.annotate_cn_graph(logs_dir, graph)
if not found_files:
msg = "No PING output files were found to parse at %s " % logs_dir
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Take as weight the most frequent value
for nid1, nid2 in graph.edges():
if not rm.get('critical'):
continue
msg = "Resource can not wait for FAILED RM %d. Setting Resource to FAILED"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# If the RM state is lower than the requested state we must
# reschedule (e.g. if RM is READY but we required STARTED).
if (not max_runs or max_runs < 0) and not compute_metric_callback:
msg = "Undefined STOP condition, set stop_callback or max_runs"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if compute_metric_callback and not evaluate_convergence_callback:
evaluate_convergence_callback = self.evaluate_normal_convergence
if len(metrics) == 0:
msg = "0 samples collected"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
x = numpy.array(metrics)
n = len(metrics)
ec.release()
if ec.state == ECState.FAILED:
- raise RuntimeError, "Experiment failed"
+ raise RuntimeError("Experiment failed")
return ec
msg = "No traceName was specified"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._store_path = self.ec.run_dir
if not node:
msg = "Application %s guid %d NOT connected to Node" % (
self._rtype, self.guid)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._node = node[0]
if self._proc.poll():
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def _run_in_background(self):
command = self.get("command")
if proc.poll():
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Wait for pid file to be generated
pid, ppid = self.node.wait_pid(self.run_home)
if err:
msg = " Failed to start command '%s' " % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
""" Stops application execution
if proc.poll():
msg = "Failed to execute command"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_start(self):
if self.state == ResourceState.READY:
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _start_command(self):
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
command = self.get('command') or ''
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _start_command(self):
if proc.poll():
msg = "Failed to execute command"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def configure(self):
if self.trace_enabled("ping") and not self.ping:
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
command = self.get('command')
if err:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _start_command(self):
if not m or int(m.groups()[0]) == 100:
msg = " Error establishing GRE Tunnel"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def terminate_connection(self, endpoint, remote_endpoint):
pass
if err and proc.poll():
msg = " Error retrieving interface information "
self.error(msg, out, err)
- raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+ raise RuntimeError("%s - %s - %s" % (msg, out, err))
# Check if an interface is found matching the RM attributes
ifaces = out.split("\n\n")
if not self.get("deviceName"):
msg = "Unable to resolve interface "
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
super(LinuxInterface, self).do_discover()
if err and proc.poll():
msg = "Error configuring interface with command '%s'" % cmd
self.error(msg, out, err)
- raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+ raise RuntimeError("%s - %s - %s" % (msg, out, err))
if ip6 and mask6:
cmd = "ifconfig %(devname)s inet6 add %(ip6)s/%(mask6)d" % ({
if err and proc.poll():
msg = "Error seting ipv6 for interface using command '%s' " % cmd
self.error(msg, out, err)
- raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+ raise RuntimeError("%s - %s - %s" % (msg, out, err))
super(LinuxInterface, self).do_provision()
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
else:
super(LinuxMtr, self).do_start()
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
""" Stops simulation execution
if not self.localhost and not self.get("username"):
msg = "Can't resolve OS, insufficient data "
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
out = self.get_os()
trace = traceback.format_exc()
msg = "Deploy failed. Unresponsive node {} -- traceback {}".format(self.get("hostname"), trace)
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.find_home()
msg = "{} out: {} err: {}".format(msg, out, err)
if raise_on_error:
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return ((out, err), proc)
self.error(msg, out, err)
if raise_on_error:
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return ((out, err), proc)
else:
msg = "Error installing packages ( OS not known ) "
self.error(msg, self.os)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return command
else:
msg = "Error removing packages ( OS not known ) "
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
run_home = run_home or home
msg = " Failed to run command '{}' ".format(command)
self.error(msg, out, err)
if raise_on_error:
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Wait for pid file to be generated
pid, ppid = self.wait_pid(
self.error(msg, eout, err)
if raise_on_error:
- raise RuntimeError, msg
+ raise RuntimeError(msg)
(out, oerr), proc = self.check_output(home, stdout)
self.error(msg)
if raise_on_error:
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return pid, ppid
if not self._home_dir:
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def filter_existing_files(self, src, dst):
""" Removes files that already exist in the Linux host from src list
if not devices or len(devices) != 2:
msg = "linux::ns3::TunTapFdLink must be connected to exactly one FdNetDevice"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._fd1 = devices[0]
self._fd2 = devices[1]
self._fd2node.get("hostname"):
msg = "linux::ns3::FdUdpTunnel requires endpoints on different hosts"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return [self._fd1, self._fd2]
else:
msg = "Couldn't retrieve %s" % filename
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return result
if proc.poll():
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Wait for pid file to be generated
pid, ppid = node.wait_pid(run_home)
if err:
msg = " Failed to start command '%s' " % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
port = self.wait_local_port(endpoint)
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
""" Stops simulation execution
if not devices or len(devices) != 1:
msg = "TunTapFdLink must be connected to exactly one FdNetDevice"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._fdnetdevice = devices[0]
if not devices or len(devices) != 1:
msg = "TunTapLink must be connected to exactly one Tap or Tun"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._tap = devices[0]
self.fdnode.get("hostname"):
msg = "Tap and FdNetDevice are not in the same host"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.send_address = self.fdnetdevice.recv_fd()
self.set("command", self._start_command)
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _start_command(self):
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
else:
super(LinuxPing, self).do_start()
elif tun: self._device = tun[0]
elif interface: self._device = interface[0]
else:
- raise RuntimeError, "linux::Routes must be connected to a "\
- "linux::TAP, linux::TUN, or linux::Interface"
+ raise RuntimeError("linux::Routes must be connected to a "\
+ "linux::TAP, linux::TUN, or linux::Interface")
return self._device
@property
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
command = self.get('command') or ''
while '\n' not in chunk:
try:
chunk = conn.recv(1024)
- except (OSError, socket.error), e:
+ except (OSError, socket.error) as e:
if e[0] != errno.EINTR:
raise
# Ignore eintr errors
while not stop:
try:
(msg, args) = recv_msg(conn)
- except socket.timeout, e:
+ except socket.timeout as e:
# Ingore time-out
continue
padding = ord(packet[-1])
if not (0 < padding <= crypter.block_size):
# wrong padding
- raise RuntimeError, "Truncated packet %s"
+ raise RuntimeError("Truncated packet %s")
packet = packet[:-padding]
return packet
try:
rdrdy, wrdy, errs = select(rset,wset,eset,1)
- except selecterror, e:
+ except selecterror as e:
if e.args[0] == errno.EINTR:
# just retry
continue
if not rnonblock or not fpacketReady(fwbuf):
break
- except OSError,e:
+ except OSError as e:
# This except handles the entire While block on PURPOSE
# as an optimization (setting a try/except block is expensive)
# The only operation that can raise this exception is rwrite
if slowlocal:
# Give some time for the kernel to process the packets
time.sleep(0)
- except OSError,e:
+ except OSError as e:
# This except handles the entire While block on PURPOSE
# as an optimization (setting a try/except block is expensive)
# The only operation that can raise this exception is os_write
if not tnonblock or len(fwbuf) >= maxfwbuf:
break
- except OSError,e:
+ except OSError as e:
# This except handles the entire While block on PURPOSE
# as an optimization (setting a try/except block is expensive)
# The only operation that can raise this exception is os_read
elif not packet:
if not udp and packet == "":
# Connection broken, try to reconnect (or just die)
- raise RuntimeError, "Connection broken"
+ raise RuntimeError("Connection broken")
else:
continue
if not rnonblock or len(bkbuf) >= maxbkbuf:
break
- except OSError,e:
+ except OSError as e:
# This except handles the entire While block on PURPOSE
# as an optimization (setting a try/except block is expensive)
# The only operation that can raise this exception is rread
if e.errno not in retrycodes:
raise
- except Exception, e:
+ except Exception as e:
if reconnect is not None:
# in UDP mode, sometimes connected sockets can return a connection refused
# on read. Give the caller a chance to reconnect
# TERMINATE is a array. An item can be added to TERMINATE, from
# outside this function to force termination of the loop
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
try:
rsock.bind((local_addr, local_port))
break
keepalive_thread.start()
for i in xrange(900):
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
try:
heartbeat = rsock.recv(10)
break
if stop:
break
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
try:
rsock.connect((peer_addr, peer_port))
sock = rsock
if stop:
break
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
try:
lsock.bind((local_addr, local_port))
break
lsock.listen(1)
for i in xrange(30):
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
rlist, wlist, xlist = select.select([lsock], [], [], timeout)
if stop:
break
if end:
break
if TERMINATE:
- raise OSError, "Killed"
+ raise OSError("Killed")
hand = struct.pack("!L", random.randint(0, 2**30))
stop = []
lresult = []
end = True
if not sock:
- raise OSError, "Error: tcp_establish could not establish connection."
+ raise OSError("Error: tcp_establish could not establish connection.")
return sock
def node(self):
node = self.get_connected(LinuxNode.get_rtype())
if node: return node[0]
- raise RuntimeError, "linux::TAP/TUN devices must be connected to a linux::Node"
+ raise RuntimeError("linux::TAP/TUN devices must be connected to a linux::Node")
@property
def gre_enabled(self):
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
command = self.get('command') or ''
if proc.poll() or err:
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Wait for pid file to be generated
pid, ppid = self.node.wait_pid(connection_run_home,
if err:
msg = " Failed to start command '%s' " % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return True
if proc.poll():
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
# Wait for pid file to be generated
self._pid, self._ppid = self.node.wait_pid(
if err:
msg = " Failed to start command '%s' " % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return self.wait_file(connection_run_home, "local_port")
if proc.poll() and err:
msg = " Failed to Kill the Tap"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def check_status(self):
return self.node.status(self._pid, self._ppid)
else:
msg = "Couldn't retrieve %s" % filename
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return result
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
else:
super(LinuxTraceroute, self).do_start()
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
""" Stops application execution
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, err
+ raise RuntimeError(err)
else:
super(LinuxUdpTest, self).do_start()
if not node:
msg = "Route not connected to Node!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return node[0]
objects to be deployed before proceeding with the deployment
"""
- raise RuntimeError, "No dependencies defined!"
+ raise RuntimeError("No dependencies defined!")
def _instantiate_object(self):
pass
else:
msg = " Failed "
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
if self.state == ResourceState.STARTED:
if not interface:
msg = "IPv4Address not connected to Interface!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return interface[0]
msg = "Node not connected to Emulation"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _rms_to_wait(self):
if not node:
msg = "Route not connected to Node!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return node[0]
if not node:
msg = "Route not connected to Node!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return node[0]
while '\n' not in chunk:
try:
chunk = conn.recv(1024)
- except (OSError, socket.error), e:
+ except (OSError, socket.error) as e:
if e[0] != errno.EINTR:
raise
# Ignore eintr errors
try:
(msg_type, args, kwargs) = recv_msg(conn)
- except socket.timeout, e:
+ except socket.timeout as e:
# Ingore time-out
continue
if not interface:
msg = "Switch not connected to any Interface!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return interface[0]
if not nodes:
msg = "Application not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._node = nodes[0]
if not nodes:
msg = "ArpL3Protocol not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
else:
msg = "Failed"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
if self.state == ResourceState.STARTED:
if not devices:
msg = "Channel not connected to devices"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices
if not devices:
msg = "ErrorModel not connected to device"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices[0]
if not phys:
msg = "ErrorRateModel not connected to phy"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return phys[0]
if mode != "ns3::RealtimeSimulatorImpl":
msg = "The simulation must run in real time!!"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
super(NS3BaseFdNetDevice, self)._instantiate_object()
if not nodes:
msg = "Icmp4L4Protocol not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
if not nodes:
msg = "Ipv4L3Protocol not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
if not nodes:
msg = "Device not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
if not channels:
msg = "Device not connected to channel"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return channels[0]
if not queue:
msg = "Device not connected to queue"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return queue[0]
if not self._simulation:
msg = "Node not connected to simulation"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return self._simulation
if not devices:
msg = "Node not connected to devices"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._devices = devices
if not devices or len(devices) != 2:
msg = "PipeChannel must be connected to exactly to two FdNetDevices"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._devices = devices
if not channels:
msg = "PropagationDelayModel not connected to channel"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return channels[0]
if not channels:
msg = "PropagationLossModel not connected to channel"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return channels[0]
if not devices:
msg = "Queue not connected to device"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices[0]
if not nodes:
msg = "Device not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
msg = "Could not configure route %s/%s hop: %s" % (network, prefix,
nexthop)
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def _connect_object(self):
node = self.node
while '\n' not in chunk:
try:
chunk = conn.recv(1024)
- except (OSError, socket.error), e:
+ except (OSError, socket.error) as e:
if e[0] != errno.EINTR:
raise
# Ignore eintr errors
try:
(msg_type, args, kwargs) = recv_msg(conn)
- except socket.timeout, e:
+ except socket.timeout as e:
# Ingore time-out
close_socket(conn)
continue
if not phys:
msg = "Channel not connected to phy"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return phys
if not devices:
msg = "WifiMac not connected to device"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices[0]
if not devices:
msg = "WifiPhy not connected to device"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices[0]
if not channels:
msg = "WifiPhy not connected to channel"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return channels[0]
if not devices:
msg = "WifiRemoteStationManager not connected to device"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return devices[0]
if not self.get('xmppServer'):
msg = "XmppServer is not initialzed. XMPP Connections impossible"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not (self.get('xmppUser') or self.get('xmppPort')
or self.get('xmppPassword')):
if not self.get('command') :
msg = "Application's Command is not initialized"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not self._omf_api :
self._omf_api = OMFAPIFactory.get_api(self.get('version'),
if self._create_cnt > confirmation_counter:
msg = "Couldn't retrieve the confirmation of the creation"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
uid = self.check_deploy(self.create_id)
if not uid:
if self._start_cnt > confirmation_counter:
msg = "Couldn't retrieve the confirmation that the application started"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
res = self.check_start(self._topic_app)
if not res:
if not self.get('channel'):
msg = "Channel's value is not initialized"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if self.get('version') == "6":
self.frequency = self.get_frequency(self.get('channel'))
if not self.get('xmppServer'):
msg = "XmppServer is not initialzed. XMPP Connections impossible"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not (self.get('xmppUser') or self.get('xmppPort')
or self.get('xmppPassword')):
if not self.get('xmppServer'):
msg = "XmppServer is not initialzed. XMPP Connections impossible"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not (self.get('xmppUser') or self.get('xmppPort')
or self.get('xmppPassword')):
if not (self.get('name')):
msg = "Interface's name is not initialized"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not (self.get('mode') and self.get('essid') \
and self.get('hw_mode') and self.get('ip')):
msg = "Interface's variable are not initialized"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if self.get('version') == "5":
res = self.configure_on_omf5()
if self._create_cnt > confirmation_counter:
msg = "Couldn't retrieve the confirmation of the creation"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
uid = self.check_deploy(self.create_id)
if not uid:
if not self.get('xmppServer'):
msg = "XmppServer is not initialzed. XMPP Connections impossible"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not self.get('version'):
msg = "Version of OMF is not indicated"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if not (self.get('xmppUser') or self.get('xmppPort')
or self.get('xmppPassword')):
if not self.get('hostname') :
msg = "Hostname's value is not initialized"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if self.get('version') == "5":
self._omf_api.enroll_host(self.get('hostname'))
else:
msg = "XMPP Client is not ready after long time"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
@property
def _nepi_topic(self):
def fail_discovery(self):
msg = "Discovery failed. No candidates found for node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_alive(self, host=None):
msg = "Node %s not alive" % host
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_available(self, host):
msg = "Some nodes not available for provisioning"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_not_enough_nodes(self):
msg = "Not enough nodes available for provisioning"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_sfaapi(self):
msg = "Failing while trying to instanciate the SFA API."
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def valid_connection(self, guid):
# TODO: Validate!
def fail_discovery(self):
msg = "Discovery failed. No candidates found for node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_alive(self, hostname=None):
msg = "Node %s not alive" % hostname
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_available(self, hostname):
msg = "Node %s not available for provisioning" % hostname
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_not_enough_nodes(self):
msg = "Not enough nodes available for provisioning"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_plapi(self):
msg = "Failing while trying to instanciate the PLC API.\nSet the" + \
" attributes pluser and plpassword."
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def valid_connection(self, guid):
# TODO: Validate!
if not devices or len(devices) != 2:
msg = "Tunnel must be connected to exactly two FdNetDevices"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._fd1 = devices[0]
self._fd2 = devices[1]
self._fd2node.get("hostname"):
msg = "Tunnel requires endpoints on different hosts"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return [self._fd1, self._fd2]
if not devices or len(devices) != 1:
msg = "planetlab::ns3::TunTapFdLink must be connected to exactly one FdNetDevice"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._fdnetdevice = devices[0]
if not devices or len(devices) != 1:
msg = "planetlab::ns3::TunTapFdLink must be connected to exactly one PlanetlabTap"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._tap = devices[0]
if not nodes or len(nodes) != 1:
msg = "PlanetlabOVSSwitch must be connected to exactly one PlanetlabNode"
#self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self._node = nodes[0]
except RuntimeError:
msg = "Command sliver-ovs does not exist on the VM"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def servers_on(self):
""" Start the openvswitch servers and check it
except RuntimeError:
msg = "Failed to start ovs-server on VM"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
command = "ps -A | grep ovsdb-server"
shfile = os.path.join(self.app_home, "ovsdb_status.sh")
except RuntimeError:
msg = "ovsdb-server not running on VM"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.info("Server OVS Started...")
if not (self.get("bridge_name") and self.get("virtual_ip_pref")):
msg = "No assignment in one or both attributes"
self.error(msg)
- raise AttributeError, msg
+ raise AttributeError(msg)
command = "sliver-ovs create-bridge '%s' '%s'" % (
self.get("bridge_name"),
except RuntimeError:
msg = "No such pltap netdev\novs-appctl: ovs-vswitchd: server returned an error"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.info(" Bridge %s Created and Assigned to %s" %\
(self.get("bridge_name"), self.get("virtual_ip_pref")) )
except RuntimeError:
msg = "SSH connection in the method assign_controller"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.info("Controller assigned to the bridge %s" % self.get("bridge_name"))
except RuntimeError:
msg = "Error when checking the status of the OpenVswitch"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_release(self):
""" Delete the bridge and close the server.
if not self.get('port_name'):
msg = "The port name is not assigned"
self.error(msg)
- raise AttributeError, msg
+ raise AttributeError(msg)
if not self.ovsswitch:
msg = "The OVSwitch RM is not running"
self.error(msg)
- raise AttributeError, msg
+ raise AttributeError(msg)
command = "sliver-ovs create-port %s %s" % (
self.ovsswitch.get('bridge_name'),
except RuntimeError:
msg = "Could not create ovs-port"
self.debug(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
self.info("Created port %s on switch %s" % (
self.get('port_name'),
if err != "":
msg = "Error retrieving the local endpoint of the port"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
if out:
self._port_number = out.strip()
try:
# test authorization
network_types = _retry(self.mcapi.GetNetworkTypes)(self.auth)
- except (xmlrpclib.ProtocolError, xmlrpclib.Fault),e:
+ except (xmlrpclib.ProtocolError, xmlrpclib.Fault) as e:
warnings.warn(str(e))
return True
* plain : boolean, use plain bootstrapfs image if set (for tests)
"""
if not isinstance(node, (str, int, long)):
- raise ValueError, "Node must be either a non-unicode string or an int"
+ raise ValueError("Node must be either a non-unicode string or an int")
return _retry(self.mcapi.GetNodeFlavour)(self.auth, node)
def get_nodes(self, node_id_or_name = None, fields = None, **kw):
while '\n' not in chunk:
try:
chunk = conn.recv(1024)
- except (OSError, socket.error), e:
+ except (OSError, socket.error) as e:
if e[0] != errno.EINTR:
raise
# Ignore eintr errors
while not stop:
try:
(msg, args) = recv_msg(conn)
- except socket.timeout, e:
+ except socket.timeout as e:
# Ingore time-out
continue
def fail_discovery(self):
msg = "Discovery failed. No candidates found for node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_alive(self, hostname=None):
msg = "Node %s not alive" % hostname
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_node_not_available(self, hostname):
msg = "Node %s not available for provisioning" % hostname
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_not_enough_nodes(self):
msg = "Not enough nodes available for provisioning"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def fail_sfaapi(self):
msg = "Failing while trying to instanciate the SFA API.\nSet the" + \
" attributes sfauser and sfaPrivateKey."
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def valid_connection(self, guid):
# TODO: Validate!
def node(self):
node = self.get_connected(PlanetlabNode.get_rtype())
if node: return node[0]
- raise RuntimeError, "TAP/TUN devices must be connected to Node"
+ raise RuntimeError("TAP/TUN devices must be connected to Node")
def upload_sources(self):
scripts = []
(out, err), proc = self.node.check_errors(exec_run_home)
if err.strip():
- raise RuntimeError, err
+ raise RuntimeError(err)
if out:
vif_name = out.strip()
else:
msg = "Couldn't retrieve vif_name"
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return vif_name
else:
msg = " Failed to execute command '%s'" % command
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
try:
os.stat(d + "/" + name)
return d + "/" + name
- except OSError, e:
+ except OSError as e:
if e.errno != os.errno.ENOENT:
raise
return None
try:
os.stat(d + "/" + name)
return d + "/" + name
- except OSError, e:
+ except OSError as e:
if e.errno != os.errno.ENOENT:
raise
return None
(out,err), proc = lexec(cmd)
if proc.wait():
- raise RuntimeError, "Failed to set up application on host %s: %s %s" % (host, out,err,)
+ raise RuntimeError("Failed to set up application on host %s: %s %s" % (host, out,err,))
return ((out,err), proc)
if not session['value']:
msg = "Can not authenticate in Manifold API"
- raise RuntimeError, msg
+ raise RuntimeError(msg)
session_key = session['value'][0]['session']
return dict(AuthMethod='session', session=session_key)
def annotate_node(self, nid, name, value):
if not isinstance(value, str) and not isinstance(value, int) and \
not isinstance(value, float) and not isinstance(value, bool):
- raise RuntimeError, "Non-serializable annotation"
+ raise RuntimeError("Non-serializable annotation")
self.topology.node[nid][name] = value
def annotate_edge(self, nid1, nid2, name, value):
if not isinstance(value, str) and not isinstance(value, int) and \
not isinstance(value, float) and not isinstance(value, bool):
- raise RuntimeError, "Non-serializable annotation"
+ raise RuntimeError("Non-serializable annotation")
self.topology.edge[nid1][nid2][name] = value
net = ipaddr.IPv6Network(netblock)
new_prefix = 30
else:
- raise RuntimeError, "Invalid IP version %d" % version
+ raise RuntimeError("Invalid IP version %d" % version)
## Clear all previusly assigned IPs
for nid in self.topology.nodes():
if self.delayed_exceptions:
typ,val,loc = self.delayed_exceptions[0]
del self.delayed_exceptions[:]
- raise typ,val,loc
+ raise typ(val).with_traceback(loc)
def __iter__(self):
if self.rvqueue is not None:
try:
nodes = rspec.version.get_nodes()
- except Exception, e:
+ except Exception as e:
self._log.warn("Could not retrieve nodes in RSpec: %s" % e)
try:
leases = rspec.version.get_leases()
- except Exception, e:
+ except Exception as e:
self._log.warn("Could not retrieve leases in RSpec: %s" % e)
try:
links = rspec.version.get_links()
- except Exception, e:
+ except Exception as e:
self._log.warn("Could not retrieve links in RSpec: %s" % e)
try:
channels = rspec.version.get_channels()
- except Exception, e:
+ except Exception as e:
self._log.warn("Could not retrieve channels in RSpec: %s" % e)
resources = []
elif resource_type == 'channel':
channels.append(resource)
else:
- raise Exception, "Not supported type of resource"
+ raise Exception("Not supported type of resource")
rspec.version.add_nodes(nodes, rspec_content_type="request")
#rspec.version.add_leases(leases)
for i in xrange(0 if retry else 4):
try:
return func(*p, **kw)
- except (select.error, socket.error), args:
+ except (select.error, socket.error) as args:
if args[0] == errno.EINTR:
continue
else:
raise
- except OSError, e:
+ except OSError as e:
if e.errno == errno.EINTR:
continue
else:
elif isinstance(source, str) and ':' in source:
remspec, path = source.split(':',1)
else:
- raise ValueError, "Both endpoints cannot be local"
+ raise ValueError("Both endpoints cannot be local")
user,host = remspec.rsplit('@',1)
# plain scp
)
if proc.wait():
- raise RuntimeError, "Failed to set up application on host %s: %s %s" % (host, out,err,)
+ raise RuntimeError("Failed to set up application on host %s: %s %s" % (host, out,err,))
return ((out, err), proc)
time.sleep(t)
continue
break
- except RuntimeError, e:
+ except RuntimeError as e:
msg = " rexec EXCEPTION - TIMEOUT -> %s \n %s" % ( e.args, log_msg )
log(msg, logging.DEBUG, out, err)
try:
rlist, wlist, xlist = select.select(read_set, write_set, [], select_timeout)
- except select.error,e:
+ except select.error as e:
if e[0] != 4:
raise
else:
if killed and err_on_timeout:
errcode = proc.poll()
- raise RuntimeError, ("Operation timed out", errcode, stdout, stderr)
+ raise RuntimeError("Operation timed out", errcode, stdout, stderr)
else:
if killed:
proc.poll()
# When this task is executed and the error raise,
# the FailureManager should set its failure level to
# TASK_FAILURE
- raise RuntimeError, "NOT A REAL ERROR. JUST TESTING!"
+ raise RuntimeError("NOT A REAL ERROR. JUST TESTING!")
ec = ExperimentController()
self.ec.schedule("0.5s", self.deploy)
else:
time.sleep(random.random() * 2)
- raise RuntimeError, "NOT A REAL ERROR. JUST TESTING"
+ raise RuntimeError("NOT A REAL ERROR. JUST TESTING")
class ResourceFactoryTestCase(unittest.TestCase):
def test_add_resource_factory(self):
try:
os.stat(d + "/" + name)
return d + "/" + name
- except OSError, e:
+ except OSError as e:
if e.errno != os.errno.ENOENT:
raise
return None