[Et-mgmt-commits-list] [SCM] virt-factory branch, master now at v0.0.3-182-g1e6a53e
Scott Seago
sseago at redhat.com
Tue Aug 21 19:43:47 UTC 2007
Hello,
This is an automated email from the git hooks/update script, it was
generated because a ref change was pushed to the repository.
Updating branch, master,
via 1e6a53ed663baa1096a60dd84c8366d162ac862b (commit)
from 40a6b62aefb18b3e94775236e4c5de2047b36660 (commit)
- Log -----------------------------------------------------------------
commit 1e6a53ed663baa1096a60dd84c8366d162ac862b
Author: Scott Seago <sseago at redhat.com>
Date: Tue Aug 21 15:43:36 2007 -0400
node connection to virt-factory server works now, as long as it's not initialized in __init__. methods that use the connection need to call init_qpid before referencing self.server
-----------------------------------------------------------------------
Diffstat:
nodes/modules/test.py | 10 ++++++++--
nodes/modules/web_svc.py | 19 +++++++++++++------
nodes/nodes/server.py | 3 ++-
3 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/nodes/modules/test.py b/nodes/modules/test.py
index b5adc29..8bd7e76 100755
--- a/nodes/modules/test.py
+++ b/nodes/modules/test.py
@@ -10,7 +10,8 @@ class Test(web_svc.WebSvc):
def __init__(self):
self.methods = {
"test_add": self.add,
- "test_blippy": self.blippy
+ "test_blippy": self.blippy,
+ "test_qpid": self.qpid
}
web_svc.WebSvc.__init__(self)
@@ -20,7 +21,12 @@ class Test(web_svc.WebSvc):
def blippy(self, foo):
fh = open("/tmp/blippy","w+")
fh.close()
- return success(foo)
+ return success(foo)
+
+ def qpid(self, puppet_node):
+ self.init_qpid()
+ info = self.server.puppet_node_info("UNSET", puppet_node)
+ return success(info)
methods = Test()
register_rpc = methods.register_rpc
diff --git a/nodes/modules/web_svc.py b/nodes/modules/web_svc.py
index 31e14a2..09e0f69 100755
--- a/nodes/modules/web_svc.py
+++ b/nodes/modules/web_svc.py
@@ -41,14 +41,18 @@ class WebSvc(object):
self.logger.info("server: %s" % self.__target)
self.__source = socket.gethostname()
self.logger.info("client: %s" % self.__source)
-
+ self.server_initialized = False
+
# FIXME: disabling until hang can be removed
# FIXME: this part should be Singletonized (TM)
- #self.logger.info("connecting to QPID...")
- #self.server = Server(client=self.__source, host=self.__target)
- #self.logger.info("connected")
-
+ def init_qpid(self):
+ if not self.server_initialized:
+ self.logger.info("connecting to QPID...")
+ self.server = Server(client=self.__source, host=self.__target)
+ self.logger.info("connected")
+ self.server_initialized = True
+
def __get_file_data(self, fname):
fileh = open(fname, "r")
data = fileh.read()
@@ -59,6 +63,10 @@ class WebSvc(object):
log = logger.Logger()
self.logger = log.logger
+ def register_rpc(self, handlers):
+ for meth in self.methods:
+ handlers[meth] = self.methods[meth]
+
class AuthWebSvc(WebSvc):
def __init__(self):
WebSvc.__init__(self)
@@ -74,7 +82,6 @@ class Server:
# no crypto for now
#cm = CertManager('/var/lib/virt-factory/qpidcert', client)
cm = None
-
self.rpc_interface = lookup_service("rpc", transport, host=host, server_name="busrpc.virt-factory", cert_mgr=cm, use_bridge=False)
if self.rpc_interface == None:
print "Lookup failed :("
diff --git a/nodes/nodes/server.py b/nodes/nodes/server.py
index eacf0d2..033085a 100755
--- a/nodes/nodes/server.py
+++ b/nodes/nodes/server.py
@@ -125,7 +125,8 @@ class VfApiMethod:
rc = e
except:
self.rpc_interface.logger.debug("Not a virt-factory specific exception")
- rc = self.__log_exc()
+ self.__log_exc()
+ rc = UncaughtException(traceback=traceback.format_exc())
#raise
rc = rc.to_datastruct()
self.rpc_interface.logger.debug("Return code for %s: %s" % (self.__name, rc))
hooks/update
---
Git Source Code Management System
hooks/update refs/heads/master \
40a6b62aefb18b3e94775236e4c5de2047b36660 \
1e6a53ed663baa1096a60dd84c8366d162ac862b
More information about the Et-mgmt-commits-list
mailing list