+ xml = self.readSliceRSpec()
+ rspec = RSpec(xml)
+
+ if self.process:
+ self.parent().setStatus("<font color='red'>There is already a process running. Please wait.</font>",
+ timeout=None)
+ return
+
+ no_change = True
+ all_child = self.nodeModel.rootItem.allChildItems()
+ for c in all_child:
+ testbed, hostname, status = c.itemData
+ if isinstance(status, QVariant):
+ status = status.toString()
+
+ if status == node_status['add']:
+ rspec.add_sliver(hostname)
+ no_change = False
+ elif str(status) == node_status['remove']:
+ rspec.remove_sliver(hostname)
+ no_change = False
+
+
+ self.process = SfiProcess()
+ outfile = self.process.applyRSpec(rspec)
+ self.parent().setStatus("Sending slice data (RSpec). This may take some time...", timeout=None)