import string
import socket
-from topology import links
+from topology import links, bwlimits
class Node:
def __init__(self, node):
def init_rspecs(self):
self.rspecs = []
- def add_rspec(self, remote):
+ def add_rspec(self, remote, bw):
my_ip = self.get_virt_ip(remote)
remote_ip = remote.get_virt_ip(self)
net = self.get_virt_net(remote)
- rspec = remote.id, remote.ipaddr, "1Mbit", my_ip, remote_ip, net
+ rspec = remote.id, remote.ipaddr, bw, my_ip, remote_ip, net
self.rspecs.append(rspec)
else:
AddSliceTag(self.slice_id, self.tagname, self.value, self.node_id)
elif self.deleted and int(self.id) > 0:
- DeleteSliceTag(self.id)
+ try:
+ DeleteSliceTag(self.id)
+ except:
+ print "[%s] %s: could not delete" % (self.id, self.tagname)
else:
- slice = slices[self.slice_id].name
+ try:
+ slice = slices[self.slice_id].name
+ except:
+ return
if self.node_id:
node = nodes[tag.node_id].hostname
if self.updated:
if dryrun:
print "Building virtual topology for %s" % slice.name
+ if slice.name in bwlimits:
+ bw = bwlimits[slice.name]
+ else:
+ bw = "1Mbit"
+
hosts = "127.0.0.1\t\tlocalhost\n"
"""
For each node in the slice, check whether the slice is running on any
node.init_rspecs()
adj_nodes = node.adjacent_nodes(sites, nodes, slice.node_ids)
for adj in adj_nodes:
- node.add_rspec(adj)
+ node.add_rspec(adj, bw)
hosts += "%s\t\t%s\n" % (node.get_virt_ip(adj), node.shortname)
if node.rspecs:
topo_str = "%s" % node.rspecs