From: Barış Metin Date: Sat, 31 Jul 2010 10:56:03 +0000 (+0200) Subject: use hrn to re-create pubsub groups X-Git-Tag: plcapi-5.0-16~1^2~1 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=5dc031b09f8cf21ddc88b245bcc2fb8935fac516 use hrn to re-create pubsub groups --- diff --git a/omf/reset_xmpp_pubsub_nodes.py b/omf/reset_xmpp_pubsub_nodes.py index 1fe359c..81f50a4 100644 --- a/omf/reset_xmpp_pubsub_nodes.py +++ b/omf/reset_xmpp_pubsub_nodes.py @@ -10,16 +10,24 @@ xmlrpc = xmlrpclib.ServerProxy("http://localhost:5053") xmppserver = config.PLC_OMF_XMPP_SERVER xmppuser = "@".join([config.PLC_OMF_XMPP_USER, xmppserver]) xmpppass = config.PLC_OMF_XMPP_PASSWORD -pubsub = PubSubClient(xmppuser, xmpppass, verbose=True) +pubsub = PubSubClient(xmppuser, xmpppass, verbose=False) def delete_all_nodes(iq): global pubsub - print "called" + print "Deleting PubSub groups..." for i in iq.query.elements(): node = i['node'] reactor.callLater(1, pubsub.delete_node, node) +def is_local_node(node_id, slice_name): + try: + return GetNodes({'node_id': node_id}, ['peer_id'])[0]['peer_id'] == None + except IndexError: + print "WARNING: can not find the node with node_id %s" % node_id + print "WARNING: node_id %s was referenced in slice %s" % (node_id, slice_name) + return False + if __name__ == "__main__": pubsub.add_result_hook("discover", delete_all_nodes) reactor.callLater(1, pubsub.discover) @@ -30,12 +38,14 @@ if __name__ == "__main__": reactor.connectTCP(pubsub.id.host, 5222, pubsub.factory) reactor.run() + print "Re-creating PubSub groups..." slices = GetSlices() for slice in slices: xmlrpc.createSlice(slice['name']) for node_id in slice['node_ids']: - node = GetNodes(node_id)[0]['hostname'] - xmlrpc.addResource(slice['name'], node) - - - + try: + hrn = GetNodeTags({'tagname':'hrn', 'node_id': node_id})[0]['value'] + xmlrpc.addResource(slice['name'], hrn) + except IndexError: + if is_local_node(node_id, slice['name']): + print "WARNING: missing hrn tag for node_id: %s" % node_id