Added a slice tag column to the display. For each testbed, the column shows the tags for the entire slice at the top by
the testbed's HRN. Tags associated with particular nodes are shown next to that node.
from PyQt4.QtGui import *
from sfa.util.rspecHelper import RSpec
from PyQt4.QtGui import *
from sfa.util.rspecHelper import RSpec
-from sface.sfahelper import *
from sface.config import config
from sface.sfiprocess import SfiProcess
from sface.screens.sfascreen import SfaScreen
from sface.config import config
from sface.sfiprocess import SfiProcess
from sface.screens.sfascreen import SfaScreen
self.__initRoot()
def __initRoot(self):
self.__initRoot()
def __initRoot(self):
- self.rootItem = TreeItem([QString("Testbed"), QString("Hostname"), QString("Status")])
+ self.rootItem = TreeItem([QString("Testbed"), QString("Hostname"), QString("Status"), QString("Tags")])
def getItem(self, index):
if index.isValid():
def getItem(self, index):
if index.isValid():
rspec_file = config.getSliceRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
rspec_file = config.getSliceRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
return None
def setStatus(self, msg, timeout=None):
return None
def setStatus(self, msg, timeout=None):
if self.checkRunningProcess():
return
if self.checkRunningProcess():
return
- rspec = RSpec(self.readSliceRSpec())
+ rspec = self.readSliceRSpec()
no_change = True
all_child = self.nodeModel.rootItem.allChildItems()
no_change = True
all_child = self.nodeModel.rootItem.allChildItems()
self.network_names = []
self.nodeModel.clear()
self.network_names = []
self.nodeModel.clear()
- rspec_string = self.readSliceRSpec()
- if not rspec_string:
+ rspec = self.readSliceRSpec()
+ if not rspec:
- networks = rspec_get_networks(rspec_string)
+ networks = rspec.get_network_list()
for network in networks:
self.network_names.append(network)
for network in networks:
self.network_names.append(network)
- networkItem = TreeItem([QString(network), QString(""), QString("")], self.nodeModel.rootItem)
+ attrs = ""
+ for (name, value) in rspec.get_default_sliver_attributes(network):
+ attrs += "%s/%s " % (name, value)
+ networkItem = TreeItem([QString(network), QString(""), QString(""), QString(attrs)], self.nodeModel.rootItem)
- all_nodes = rspec_get_nodes_from_network(rspec_string, network)
- sliver_nodes = rspec_get_sliver_nodes_from_network(rspec_string, network)
+ all_nodes = rspec.get_node_list(network)
+ sliver_nodes = rspec.get_sliver_list(network)
available_nodes = filter(lambda x:x not in sliver_nodes, all_nodes)
already_in_nodes += sliver_nodes
for node in sliver_nodes:
available_nodes = filter(lambda x:x not in sliver_nodes, all_nodes)
already_in_nodes += sliver_nodes
for node in sliver_nodes:
- nodeItem = TreeItem([QString(""), QString("%s" % node), QString(node_status['in'])], networkItem)
+ attrs = ""
+ for (name, value) in rspec.get_sliver_attributes(node, network):
+ attrs += "%s/%s " % (name, value)
+ nodeItem = TreeItem([QString(""), QString("%s" % node), QString(node_status['in']), QString(attrs)], networkItem)
networkItem.appendChild(nodeItem)
for node in available_nodes:
networkItem.appendChild(nodeItem)
for node in available_nodes:
- nodeItem = TreeItem([QString(""), QString(node), QString(node_status['out'])], networkItem)
+ nodeItem = TreeItem([QString(""), QString(node), QString(node_status['out']), QString("")], networkItem)
networkItem.appendChild(nodeItem)
self.nodeModel.rootItem.appendChild(networkItem)
networkItem.appendChild(nodeItem)
self.nodeModel.rootItem.appendChild(networkItem)