git://git.onelab.eu
/
nodemanager-topo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changes for 2.6.32 kernel
[nodemanager-topo.git]
/
create-topo-attributes.py
diff --git
a/create-topo-attributes.py
b/create-topo-attributes.py
index
5f42684
..
78d965e
100755
(executable)
--- a/
create-topo-attributes.py
+++ b/
create-topo-attributes.py
@@
-8,7
+8,7
@@
slices that have an EGRE key. This script to be run from a cron job.
import string
import socket
import string
import socket
-from topology import links
+from topology import links
, bwlimits
class Node:
def __init__(self, node):
class Node:
def __init__(self, node):
@@
-61,11
+61,11
@@
class Node:
def init_rspecs(self):
self.rspecs = []
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)
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)
self.rspecs.append(rspec)
@@
-234,9
+234,15
@@
class Slicetag:
else:
AddSliceTag(self.slice_id, self.tagname, self.value, self.node_id)
elif self.deleted and int(self.id) > 0:
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:
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 self.node_id:
node = nodes[tag.node_id].hostname
if self.updated:
@@
-357,6
+363,11
@@
for i in slices:
if dryrun:
print "Building virtual topology for %s" % slice.name
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
hosts = "127.0.0.1\t\tlocalhost\n"
"""
For each node in the slice, check whether the slice is running on any
@@
-366,7
+377,7
@@
for i in slices:
node.init_rspecs()
adj_nodes = node.adjacent_nodes(sites, nodes, slice.node_ids)
for adj in adj_nodes:
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
hosts += "%s\t\t%s\n" % (node.get_virt_ip(adj), node.shortname)
if node.rspecs:
topo_str = "%s" % node.rspecs