Merge branch 'master' of ssh://git.onelab.eu/git/plcapi
[plcapi.git] / omf / omf_slicemgr.py
index 2f2dc13..38ed50a 100644 (file)
@@ -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)
@@ -129,7 +129,7 @@ class PubSubClient(BaseClient):
     def __iq(self, t="get"):
         iq = domish.Element((None, "iq"))
         iq['from'] = self.id.full()
-        iq['to'] = "pubsub.vplc27.inria.fr"
+        iq['to'] = "pubsub.%s" % self.id.host
         iq['type'] = t
         iq.addUniqueId()
         return iq
@@ -345,7 +345,7 @@ class Slicemgr(xmlrpc.XMLRPC, PubSubClient):
             for i in iq.query.elements():
                 node = i['node']
                 if node.startswith(resource_prefix):
-                    self.command_que.put(self.delete_node, node)
+                    self.command_queue.put((self.delete_node, node))
 
         self.add_result_hook("discover", delete_slice_resources)
         self.discover()
@@ -371,6 +371,10 @@ if __name__ == "__main__":
 
     t = task.LoopingCall(slicemgr.flush_commands)
     t.start(5.0) # check every 5 seconds
+
+    reactor.callLater(1, slicemgr.create_node, "/OMF")
+    reactor.callLater(1, slicemgr.create_node, "/OMF/SYSTEM")
+
     reactor.connectTCP(slicemgr.id.host, 5222, slicemgr.factory)
     reactor.listenTCP(5053, server.Site(slicemgr), interface="localhost")
     reactor.run(installSignalHandlers=True)