listen localhost for xml-rpc requests, until we have some sort of authentication.
[plcapi.git] / omf / omf-slicemgr.py
index 310e656..0589aab 100644 (file)
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 # Baris Metin <tmetin@sophia.inria.fr>
 
 import os
@@ -191,17 +192,17 @@ class PubSubClient(BaseClient):
 
 
 
-class Slicemgr(PubSubClient, xmlrpc.XMLRPC):
+class Slicemgr(xmlrpc.XMLRPC, PubSubClient):
     
     DOMAIN = "/OMF"
     RESOURCES = 'resources'
 
     def __init__(self, id, secret, verbose = False, log = None):
+        xmlrpc.XMLRPC.__init__(self, allowNone=True)
         PubSubClient.__init__(self, id, secret, verbose = verbose, log = log)
         self.command_queue = Queue.Queue()
 
-        # for xmlrpc interface
-        self.allowNone = True
+        xmlrpc.addIntrospection(self)
 
     def xmlrpc_createSlice(self, slice):
         self.create_slice(slice)
@@ -253,9 +254,9 @@ if __name__ == "__main__":
 
     config = Config("/etc/planetlab/plc_config")
 
-    xmppserver = self.config.PLC_OMF_XMPP_SERVER
-    xmppuser = "@".join([self.config.PLC_OMF_XMPP_USER, xmppserver])
-    xmpppass = self.config.PLC_OMF_XMPP_PASSWORD
+    xmppserver = config.PLC_OMF_XMPP_SERVER
+    xmppuser = "@".join([config.PLC_OMF_XMPP_USER, xmppserver])
+    xmpppass = config.PLC_OMF_XMPP_PASSWORD
     slicemgr = Slicemgr(xmppuser, xmpppass,
                         log=open("/var/log/omf/pubsub_client.log", "a"),
                         verbose=True)
@@ -263,7 +264,7 @@ if __name__ == "__main__":
     t = task.LoopingCall(slicemgr.flush_commands)
     t.start(5.0) # check every 5 seconds
     reactor.connectTCP(slicemgr.id.host, 5222, slicemgr.factory)
-    reactor.listenTCP(5053, server.Site(slicemgr))
+    reactor.listenTCP(5053, server.Site(slicemgr), interface="localhost")
     reactor.run(installSignalHandlers=True)