X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fscreens%2Fmainscreen.py;fp=sface%2Fscreens%2Fmainscreen.py;h=3c1be13c6ea06a89d488ec2e363b073647dcf10b;hp=985e3154e05b7d6122fefc89c307099dbd4388a8;hb=b4479edcd8022bc11805758a575f7ca96dcdfc04;hpb=03b467d0bf99663f894553af50265816bd28027e diff --git a/sface/screens/mainscreen.py b/sface/screens/mainscreen.py index 985e315..3c1be13 100644 --- a/sface/screens/mainscreen.py +++ b/sface/screens/mainscreen.py @@ -519,11 +519,29 @@ class SliceWidget(QWidget): if not faultString: peers = SfiData().getSliceMgrVersion()["peers"] self.submit_aggs = [(key, peers[key]) for key in peers.keys()] + self.delete_aggs = [(key, peers[key]) for key in peers.keys() if key.startswith("emulab")] str = "Successfully retrieved agg list. " - self.submitNextAgg(str) + #self.submitNextAgg(str) + self.deleteNextAgg(str) else: self.setStatus("getSliceMgrVersion failed: %s" % (faultString)) + def deleteNextAgg(self, statusStr=""): + if (self.delete_aggs == []): + self.submitNextAgg(statusStr) + return + + self.delete_agg = self.delete_aggs.pop() + + urlParts = urlparse.urlsplit(self.delete_agg[1]) + amPort = urlParts.port + amAddr = urlParts.hostname+urlParts.path + + self.setStatus(statusStr + "Deleting slivers on %s..." % (self.delete_agg[0])) + + self.connect(self.process, SIGNAL('finished()'), self.deleteNextAggFinished) + self.process.deleteSlivers(aggAddr = amAddr, aggPort = amPort) + def submitNextAgg(self, statusStr=""): if (self.submit_aggs == []): self.setStatus(statusStr + "Finished submitting. %d/%d aggs succeeded." % @@ -555,6 +573,17 @@ class SliceWidget(QWidget): self.submitNextAgg(str) + def deleteNextAggFinished(self): + self.disconnect(self.process, SIGNAL('finished()'), self.deleteNextAggFinished) + + faultString = self.process.getFaultString() + if not faultString: + str = "Succeeded deleteslivers on %s. " % (self.delete_agg[0]) + else: + str = "Failed deleteslivers on %s. " % (self.delete_agg[0]) # , faultString) + + self.deleteNextAgg(str) + def renew(self): dlg = RenewWindow(parent=self) dlg.exec_()