[rhmessaging-commits] rhmessaging commits: r4274 - mgmt/newdata/cumin/python/cumin/grid.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Fri Sep 10 12:49:26 EDT 2010
Author: eallen
Date: 2010-09-10 12:49:25 -0400 (Fri, 10 Sep 2010)
New Revision: 4274
Modified:
mgmt/newdata/cumin/python/cumin/grid/daemon.py
Log:
Fix BZ 534077: Use new rosemary methods to call Master.Start and Master.Stop
Modified: mgmt/newdata/cumin/python/cumin/grid/daemon.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/daemon.py 2010-09-10 15:27:03 UTC (rev 4273)
+++ mgmt/newdata/cumin/python/cumin/grid/daemon.py 2010-09-10 16:49:25 UTC (rev 4274)
@@ -1,7 +1,26 @@
from cumin.objectframe import *
from cumin.objectselector import *
-class DaemonStart(ObjectFrameTask):
+class DaemonFrameTask(ObjectFrameTask):
+ def get_master(self, system_name, invoc):
+ cls = self.app.model.com_redhat_grid.Master
+
+ conn = self.app.database.get_connection()
+ cursor = conn.cursor()
+
+ try:
+ master = cls.get_object(cursor, System=system_name)
+ finally:
+ conn.close()
+
+ if not master:
+ invoc.exception = Exception("Master daemon not running")
+ invoc.status = invoc.FAILED
+ invoc.end()
+
+ return master
+
+class DaemonStart(DaemonFrameTask):
def __init__(self, app, frame, target):
super(DaemonStart, self).__init__(app, frame)
@@ -15,14 +34,11 @@
def do_invoke(self, invoc, daemon):
system_name = daemon.System
- try:
- master = Master.select("System = '%s'" % system_name)[0]
- except IndexError:
- raise Exception("Master daemon not running")
+ master = self.get_master(system_name, invoc)
+ if master:
+ self.qmf_call(invoc, master, "Start", self.target)
- master.Start(completion, self.target)
-
-class DaemonStop(ObjectFrameTask):
+class DaemonStop(DaemonFrameTask):
def __init__(self, app, frame, target):
super(DaemonStop, self).__init__(app, frame)
@@ -36,14 +52,30 @@
def do_invoke(self, invoc, daemon):
system_name = daemon.System
+ master = self.get_master(system_name, invoc)
+ if master:
+ self.qmf_call(invoc, master, "Stop", self.target)
+
+class DaemonSelectorTask(ObjectSelectorTask):
+ def get_master(self, system_name, invoc):
+ cls = self.app.model.com_redhat_grid.Master
+
+ conn = self.app.database.get_connection()
+ cursor = conn.cursor()
+
try:
- master = Master.select("System = '%s'" % system_name)[0]
- except IndexError:
- raise Exception("Master daemon not running")
+ master = cls.get_object(cursor, System=system_name)
+ finally:
+ conn.close()
+
+ if not master:
+ invoc.exception = Exception("Master daemon not running")
+ invoc.status = invoc.FAILED
+ invoc.end()
+
+ return master
- master.Stop(completion, self.target)
-
-class DaemonSelectionStart(ObjectSelectorTask):
+class DaemonSelectionStart(DaemonSelectorTask):
def __init__(self, app, selector, target):
super(DaemonSelectionStart, self).__init__(app, selector)
@@ -57,17 +89,16 @@
def do_invoke(self, invoc, daemon):
system_name = daemon.System
- try:
- master = Master.select("System = '%s'" % system_name)[0]
- except IndexError:
- raise Exception("Master daemon not running")
+ master = self.get_master(system_name, invoc)
+ if master:
+ self.qmf_call(invoc, master, "Start", self.target)
- master.Start(completion, self.target)
-
-class DaemonSelectionStop(ObjectSelectorTask):
+class DaemonSelectionStop(DaemonSelectorTask):
def __init__(self, app, selector, target):
super(DaemonSelectionStop, self).__init__(app, selector)
+ cls = app.model.com_redhat_grid.Master
+
self.target = target
self.name = "%s_%s" % (self.name, self.target)
@@ -78,9 +109,6 @@
def do_invoke(self, invoc, daemon):
system_name = daemon.System
- try:
- master = Master.select("System = '%s'" % system_name)[0]
- except IndexError:
- raise Exception("Master daemon not running")
-
- master.Stop(completion, self.target)
+ master = self.get_master(system_name, invoc)
+ if master:
+ self.qmf_call(invoc, master, "Stop", self.target)
More information about the rhmessaging-commits
mailing list