From: Barış Metin Date: Fri, 12 Mar 2010 16:55:40 +0000 (+0000) Subject: reset_xmpp_pubsub_nodes.py will remove all nodes and re-create for all X-Git-Tag: PLCAPI-5.0-3^2~2 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=sidebyside;h=f81e9ec58f8b42569bded6f13b6e4356fb113212;p=plcapi.git reset_xmpp_pubsub_nodes.py will remove all nodes and re-create for all slices and nodes attached to the slices. --- diff --git a/omf/omf_slicemgr.py b/omf/omf_slicemgr.py index 2f2dc13..3ad62c7 100644 --- a/omf/omf_slicemgr.py +++ b/omf/omf_slicemgr.py @@ -108,7 +108,6 @@ class PubSubClient(BaseClient): def __init__(self, id, secret, verbose = False, log = None): BaseClient.__init__(self, id, secret, verbose = verbose, log = log) self.hooks = {} - self.requests = {} def add_result_hook(self, hook_to, hook): self.hooks[hook_to] = hook @@ -119,6 +118,7 @@ class PubSubClient(BaseClient): def event_authenticated(self, xs): BaseClient.event_authenticated(self, xs) + self.requests = {} xs.addObserver("/iq/pubsub/create", self.result_create_node) xs.addObserver("/iq/pubsub/delete", self.result_delete_node) xs.addObserver("/iq/query[@xmlns='http://jabber.org/protocol/disco#items']", self.result_discover) diff --git a/omf/reset_xmpp_pubsub_nodes.py b/omf/reset_xmpp_pubsub_nodes.py new file mode 100644 index 0000000..1fe359c --- /dev/null +++ b/omf/reset_xmpp_pubsub_nodes.py @@ -0,0 +1,41 @@ +#!/usr/bin/env /usr/bin/plcsh + +import sys +import xmlrpclib +sys.path.append("/usr/bin/") +from omf_slicemgr import * + +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) + + +def delete_all_nodes(iq): + global pubsub + print "called" + for i in iq.query.elements(): + node = i['node'] + reactor.callLater(1, pubsub.delete_node, node) + +if __name__ == "__main__": + pubsub.add_result_hook("discover", delete_all_nodes) + reactor.callLater(1, pubsub.discover) + reactor.callLater(2, pubsub.create_node, "/OMF") + reactor.callLater(2, pubsub.create_node, "/SYSTEM") + + reactor.callLater(4, reactor.stop) + reactor.connectTCP(pubsub.id.host, 5222, pubsub.factory) + reactor.run() + + 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) + + +