rhmessaging commits: r4126 - mgmt/newdata/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2010-07-19 09:37:01 -0400 (Mon, 19 Jul 2010)
New Revision: 4126
Modified:
mgmt/newdata/cumin/python/cumin/grid/submission.py
Log:
Adjust defaults and add new required fields
Modified: mgmt/newdata/cumin/python/cumin/grid/submission.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-19 09:13:48 UTC (rev 4125)
+++ mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-19 13:37:01 UTC (rev 4126)
@@ -95,11 +95,8 @@
ad["Cmd"] = executable
ad["Owner"] = invoc.user.name
- # XXX Temporary measure until the other end does more defaulting
- ad["Args"] = ""
+ # XXX temporary
ad["JobUniverse"] = 5
- ad["Requirements"] = "TRUE"
- ad["Iwd"] = "/tmp"
def put(name, value):
if value:
@@ -147,18 +144,20 @@
self.requirements = self.RequirementsField(app, "requirements")
self.requirements.input.columns = 50
+ self.requirements.required = True
self.requirements.help = "Attributes controlling where and when " + \
"this submission will run"
self.add_field(self.requirements)
- self.universe = self.UniverseField(app, "universe")
- self.add_extra_field(self.universe)
-
self.directory = self.WorkingDirectoryField(app, "directory")
self.directory.input.size = 50
+ self.directory.required = True
self.directory.help = "Run the process in this directory"
- self.add_extra_field(self.directory)
+ self.add_field(self.directory)
+ self.universe = self.UniverseField(app, "universe")
+ self.add_extra_field(self.universe)
+
self.stdin = self.StdinField(app, "stdin")
self.stdin.input.size = 50
self.stdin.help = "Get process input from this file"
14 years, 2 months
rhmessaging commits: r4125 - store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb.
by rhmessaging-commits@lists.jboss.org
Author: rgemmell
Date: 2010-07-19 05:13:48 -0400 (Mon, 19 Jul 2010)
New Revision: 4125
Modified:
store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java
Log:
Add overlooked descriptive Javadoc
Modified: store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java
===================================================================
--- store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java 2010-07-16 15:25:26 UTC (rev 4124)
+++ store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java 2010-07-19 09:13:48 UTC (rev 4125)
@@ -83,7 +83,17 @@
}
/**
- * TODO: description
+ * Prepare a queue for use in testing message and binding recovery
+ * after the upgrade is performed.
+ *
+ * - Create a transacted session on the connection.
+ * - Use a consumer to create the (durable by default) queue.
+ * - Send 5 large messages to test (multi-frame) content recovery.
+ * - Send 1 small message to test (single-frame) content recovery.
+ * - Commit the session.
+ * - Send 5 small messages to test that uncommitted messages are not recovered.
+ * following the upgrade.
+ * - Close the session.
*/
private void prepareQueues() throws Exception
{
@@ -123,7 +133,15 @@
}
/**
- * TODO: description
+ * Prepare a DurableSubscription backing queue for use in testing selector
+ * recovery and queue exclusivity marking during the upgrade process.
+ *
+ * - Create a transacted session on the connection.
+ * - Open and close a DurableSubscription with selector to create the backing queue.
+ * - Send a message which matches the selector.
+ * - Send a message which does not match the selector.
+ * - Send a message which matches the selector but will remain uncommitted.
+ * - Close the session.
*/
private void prepareDurableSubscription() throws Exception
{
14 years, 2 months
rhmessaging commits: r4124 - in store/trunk/java/bdbstore/src: test/java/org/apache/qpid/server/store/berkeleydb and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: rgemmell
Date: 2010-07-16 11:25:26 -0400 (Fri, 16 Jul 2010)
New Revision: 4124
Added:
store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java
Removed:
store/trunk/java/bdbstore/src/integrationTests/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java
Log:
Move MessageStoreTest to test heirarchy and add throws clause
Deleted: store/trunk/java/bdbstore/src/integrationTests/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java
===================================================================
--- store/trunk/java/bdbstore/src/integrationTests/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java 2010-07-16 15:24:02 UTC (rev 4123)
+++ store/trunk/java/bdbstore/src/integrationTests/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java 2010-07-16 15:25:26 UTC (rev 4124)
@@ -1,38 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.server.store.berkeleydb;
-
-import org.apache.commons.configuration.PropertiesConfiguration;
-
-public class MessageStoreTest extends org.apache.qpid.server.store.MessageStoreTest
-{
-
- public void testBDBMessageStore()
- {
- PropertiesConfiguration config = new PropertiesConfiguration();
-
- config.addProperty("store.environment-path", "BDB_MST");
- config.addProperty("store.class", "org.apache.qpid.server.store.berkeleydb.BDBMessageStore");
-
- runTestWithStore(config);
- }
-
-}
Copied: store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java (from rev 4123, store/trunk/java/bdbstore/src/integrationTests/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java)
===================================================================
--- store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java (rev 0)
+++ store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/MessageStoreTest.java 2010-07-16 15:25:26 UTC (rev 4124)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.store.berkeleydb;
+
+import org.apache.commons.configuration.PropertiesConfiguration;
+
+public class MessageStoreTest extends org.apache.qpid.server.store.MessageStoreTest
+{
+
+ public void testBDBMessageStore() throws Exception
+ {
+ PropertiesConfiguration config = new PropertiesConfiguration();
+
+ config.addProperty("store.environment-path", "BDB_MST");
+ config.addProperty("store.class", "org.apache.qpid.server.store.berkeleydb.BDBMessageStore");
+
+ runTestWithStore(config);
+ }
+
+}
14 years, 2 months
rhmessaging commits: r4123 - store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb.
by rhmessaging-commits@lists.jboss.org
Author: rgemmell
Date: 2010-07-16 11:24:02 -0400 (Fri, 16 Jul 2010)
New Revision: 4123
Modified:
store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
Log:
Implement new updateQueue() method to enable changing queue exclusivity in the store
Modified: store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
===================================================================
--- store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java 2010-07-16 15:23:14 UTC (rev 4122)
+++ store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java 2010-07-16 15:24:02 UTC (rev 4123)
@@ -1073,7 +1073,7 @@
createQueue(queueRecord);
}
-
+
/**
* Makes the specified queue persistent.
*
@@ -1108,6 +1108,55 @@
}
/**
+ * Updates the specified queue in the persistent store, IF it is already present. If the queue
+ * is not present in the store, it will not be added.
+ *
+ * NOTE: Currently only updates the exclusivity.
+ *
+ * @param queue The queue to update the entry for.
+ * @throws org.apache.qpid.AMQException If the operation fails for any reason.
+ */
+ public void updateQueue(final AMQQueue queue) throws AMQException
+ {
+ if (_log.isDebugEnabled())
+ {
+ _log.debug("Updating queue: " + queue.getName());
+ }
+
+ try
+ {
+ DatabaseEntry key = new DatabaseEntry();
+ EntryBinding keyBinding = new AMQShortStringTB();
+ keyBinding.objectToEntry(queue.getNameShortString(), key);
+
+ DatabaseEntry value = new DatabaseEntry();
+ DatabaseEntry newValue = new DatabaseEntry();
+ TupleBinding queueBinding = _queueTupleBindingFactory.getInstance();
+
+ OperationStatus status = _queueDb.get(null, key, value, LockMode.RMW);
+ if(status == OperationStatus.SUCCESS)
+ {
+ //read the existing record and apply the new exclusivity setting
+ QueueRecord queueRecord = (QueueRecord) queueBinding.entryToObject(value);
+ queueRecord.setExclusive(queue.isExclusive());
+
+ //write the updated entry to the store
+ queueBinding.objectToEntry(queueRecord, newValue);
+
+ _queueDb.put(null, key, newValue);
+ }
+ else if(status != OperationStatus.NOTFOUND)
+ {
+ throw new AMQException("Error updating queue details within the store: " + status);
+ }
+ }
+ catch (DatabaseException e)
+ {
+ throw new AMQException("Error updating queue details within the store: " + e,e);
+ }
+ }
+
+ /**
* Removes the specified queue from the persistent store.
*
* @param queue The queue to remove.
14 years, 2 months
rhmessaging commits: r4122 - store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb.
by rhmessaging-commits@lists.jboss.org
Author: rgemmell
Date: 2010-07-16 11:23:14 -0400 (Fri, 16 Jul 2010)
New Revision: 4122
Modified:
store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
Log:
Additional upgrade tool test to check that durable subscription queue has its exclusivity set.
Modified: store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
===================================================================
--- store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java 2010-07-15 20:22:48 UTC (rev 4121)
+++ store/trunk/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java 2010-07-16 15:23:14 UTC (rev 4122)
@@ -40,6 +40,8 @@
import javax.jms.TopicSession;
import javax.jms.TopicSubscriber;
+import org.apache.qpid.management.common.mbeans.ManagedQueue;
+import org.apache.qpid.test.utils.JMXTestUtils;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.util.FileUtils;
import org.slf4j.Logger;
@@ -158,6 +160,38 @@
}
/**
+ * Test that the backing queue for the durable subscription created was successfully
+ * detected and set as being exclusive during the upgrade process, and that the
+ * regular queue was not.
+ */
+ public void testQueueExclusivity() throws Exception
+ {
+ JMXTestUtils jmxUtils = null;
+ try
+ {
+ jmxUtils = new JMXTestUtils(this, "guest", "guest");
+ jmxUtils.open();
+ }
+ catch (Exception e)
+ {
+ fail("Unable to establish JMX connection, test cannot proceed");
+ }
+
+ try
+ {
+ ManagedQueue queue = jmxUtils.getManagedQueue(QUEUE_NAME);
+ assertFalse("Queue should not have been marked as Exclusive during upgrade", queue.isExclusive());
+
+ ManagedQueue dursubQueue = jmxUtils.getManagedQueue("clientid" + "-" + SUB_NAME);
+ assertTrue("DurableSubscription backing queue should have been marked as Exclusive during upgrade", dursubQueue.isExclusive());
+ }
+ finally
+ {
+ jmxUtils.close();
+ }
+ }
+
+ /**
* Test that the upgraded queue continues to function properly when used
* for persistent messaging and restarting the broker.
*
14 years, 2 months
rhmessaging commits: r4121 - mgmt/newdata/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2010-07-15 16:22:48 -0400 (Thu, 15 Jul 2010)
New Revision: 4121
Modified:
mgmt/newdata/cumin/python/cumin/grid/limit.py
Log:
Handle 0 negotiators better
Modified: mgmt/newdata/cumin/python/cumin/grid/limit.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/limit.py 2010-07-15 20:13:47 UTC (rev 4120)
+++ mgmt/newdata/cumin/python/cumin/grid/limit.py 2010-07-15 20:22:48 UTC (rev 4121)
@@ -27,7 +27,11 @@
# TODO: why is there more than 1 negotiator?
negs = cls.get_selection(session.cursor, Pool=collector.Pool)
- youngest = negs[0]
+ try:
+ youngest = negs[0]
+ except IndexError:
+ return None
+
for neg in negs:
if neg._qmf_update_time > youngest._qmf_update_time:
youngest = neg
14 years, 2 months
rhmessaging commits: r4120 - in mgmt/newdata: rosemary/bin and 1 other directories.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2010-07-15 16:13:47 -0400 (Thu, 15 Jul 2010)
New Revision: 4120
Modified:
mgmt/newdata/cumin/model/cumin.xml
mgmt/newdata/cumin/model/rosemary.xml
mgmt/newdata/rosemary/bin/rosemary-model
mgmt/newdata/rosemary/python/rosemary/model.py
mgmt/newdata/rosemary/python/rosemary/sqlmodel.py
Log:
Add support for extra indexes and unique constraints
Modified: mgmt/newdata/cumin/model/cumin.xml
===================================================================
--- mgmt/newdata/cumin/model/cumin.xml 2010-07-14 17:17:03 UTC (rev 4119)
+++ mgmt/newdata/cumin/model/cumin.xml 2010-07-15 20:13:47 UTC (rev 4120)
@@ -12,7 +12,7 @@
<class name="User">
<property name="name" type="sstr" index="y"/>
- <property name="password" type="sstr" index="y"/>
+ <property name="password" type="sstr"/>
</class>
<class name="Role">
Modified: mgmt/newdata/cumin/model/rosemary.xml
===================================================================
--- mgmt/newdata/cumin/model/rosemary.xml 2010-07-14 17:17:03 UTC (rev 4119)
+++ mgmt/newdata/cumin/model/rosemary.xml 2010-07-15 20:13:47 UTC (rev 4120)
@@ -1,4 +1,10 @@
<model>
+ <package name="com.redhat.cumin">
+ <class name="User">
+ <property name="name" unique="y"/>
+ </class>
+ </package>
+
<package name="com.redhat.cumin.grid">
<class name="JobSummary">
<property name="GlobalJobId">
@@ -12,7 +18,6 @@
<property name="JobStatus">
<title>Job Status</title>
</property>
-
</class>
</package>
@@ -265,6 +270,9 @@
</class>
<class name="Slot">
+ <index name="Pool" attributes="Pool"/>
+ <index name="Name" attributes="Name"/>
+
<property name="JobId">
<title>Job ID</title>
</property>
Modified: mgmt/newdata/rosemary/bin/rosemary-model
===================================================================
--- mgmt/newdata/rosemary/bin/rosemary-model 2010-07-14 17:17:03 UTC (rev 4119)
+++ mgmt/newdata/rosemary/bin/rosemary-model 2010-07-15 20:13:47 UTC (rev 4120)
@@ -28,6 +28,9 @@
for arg in meth.arguments:
print " arg %s" % arg.name
+ for idx in cls._indexes:
+ print " idx %s" % idx.name
+
def do_ddl(args):
model.sql_model.write_drop_ddl(sys.stdout)
model.sql_model.write_create_ddl(sys.stdout)
Modified: mgmt/newdata/rosemary/python/rosemary/model.py
===================================================================
--- mgmt/newdata/rosemary/python/rosemary/model.py 2010-07-14 17:17:03 UTC (rev 4119)
+++ mgmt/newdata/rosemary/python/rosemary/model.py 2010-07-15 20:13:47 UTC (rev 4120)
@@ -155,6 +155,9 @@
self._methods = list()
self._methods_by_name = dict()
+ self._indexes = list()
+ self._indexes_by_name = dict()
+
self.add_sql()
self._id = RosemaryAttribute(self, "_id")
@@ -298,6 +301,10 @@
meth = self._methods_by_name[child.get("name")]
meth.extend(child)
+ for child in elem.findall("index"):
+ idx = RosemaryIndex(self, child.get("name"))
+ idx.extend(child)
+
def init(self):
log.debug("Initializing %s", self)
@@ -319,6 +326,9 @@
for meth in self._methods:
meth.init()
+ for idx in self._indexes:
+ idx.init()
+
self.add_constraints()
def get_object(self, cursor, **criteria):
@@ -495,6 +505,7 @@
self.unit = None
self.index = None
self.optional = None
+ self.unique = None
self.title = None
self.description = None
@@ -512,6 +523,7 @@
def extend(self, elem):
self.title = elem.findtext("title")
+ self.unique = elem.get("unique", "n") == "y" and True
def init(self):
if not self.title:
@@ -598,6 +610,10 @@
self.sql_column = SqlColumn(self.cls.sql_table, self.name, type)
self.sql_column.nullable = self.optional
+ if self.unique:
+ name = "%s_%s_uq" % (self.cls._name, self.name)
+ SqlUniqueConstraint(self.cls.sql_table, name, (self.sql_column,))
+
class RosemaryStatistic(RosemaryAttribute):
def __init__(self, cls, name):
super(RosemaryStatistic, self).__init__(cls, name)
@@ -668,6 +684,38 @@
def init(self):
pass
+class RosemaryIndex(object):
+ def __init__(self, cls, name):
+ self.cls = cls
+ self.name = name
+
+ self.cls._indexes.append(self)
+ self.cls._indexes_by_name[self.name] = self
+
+ self.attributes = list()
+
+ self.sql_index = None
+
+ def extend(self, elem):
+ names = elem.get("attributes")
+
+ for name in names.split():
+ attr = getattr(self.cls, name)
+ self.attributes.append(attr)
+
+ def init(self):
+ log.debug("Initializing %s", self)
+
+ schema = self.cls._package.sql_schema
+ name = "%s_%s_index" % (self.cls._name, self.name)
+ columns = [x.sql_column for x in self.attributes]
+
+ self.sql_index = SqlIndex(schema, name, columns)
+
+ def __repr__(self):
+ args = (self.__class__.__name__, self.name)
+ return "%s(%s)" % args
+
class RosemaryObject(object):
def __init__(self, cls, id):
for column in cls.sql_table._columns:
Modified: mgmt/newdata/rosemary/python/rosemary/sqlmodel.py
===================================================================
--- mgmt/newdata/rosemary/python/rosemary/sqlmodel.py 2010-07-14 17:17:03 UTC (rev 4119)
+++ mgmt/newdata/rosemary/python/rosemary/sqlmodel.py 2010-07-15 20:13:47 UTC (rev 4120)
@@ -237,9 +237,9 @@
def write_create_ddl(self, out):
cols = ", ".join(["\"%s\"" % x.name for x in self.columns])
- args = (self.name, self.columns[0].table.name, cols)
+ args = (self.name, self.columns[0].table._name, cols)
- out.write(" create index \"%s\" on \"%s\"(%s)\n" % args)
+ out.write(" create index \"%s\" on \"%s\" (%s)\n" % args)
class SqlView(object):
def __init__(self, schema, name, query):
14 years, 2 months
rhmessaging commits: r4119 - mgmt/newdata/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2010-07-14 13:17:03 -0400 (Wed, 14 Jul 2010)
New Revision: 4119
Modified:
mgmt/newdata/cumin/python/cumin/grid/submission.py
Log:
Add extended-attr parsing to job submission
Modified: mgmt/newdata/cumin/python/cumin/grid/submission.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-14 17:16:03 UTC (rev 4118)
+++ mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-14 17:17:03 UTC (rev 4119)
@@ -88,17 +88,19 @@
stdin=None,
stdout=None,
stderr=None,
- extra_attrs={}):
- # XXX
- # user_name = invoc.user.name
- user_name = "gridmonkey"
-
+ attrs={}):
ad = dict()
ad["Submission"] = description
ad["Cmd"] = executable
- ad["Owner"] = user_name
+ ad["Owner"] = invoc.user.name
+ # XXX Temporary measure until the other end does more defaulting
+ ad["Args"] = ""
+ ad["JobUniverse"] = 5
+ ad["Requirements"] = "TRUE"
+ ad["Iwd"] = "/tmp"
+
def put(name, value):
if value:
ad[name] = value
@@ -108,7 +110,7 @@
put("Requirements", requirements)
put("JobUniverse", universe)
- for name, value in extra_attrs:
+ for name, value in attrs.items():
put(name, value)
descriptors = dict()
@@ -182,16 +184,18 @@
def process_submit(self, session):
self.validate(session)
+ attrs = self.parse_attributes(session)
+
if not self.errors.get(session):
scheduler = self.scheduler.get(session)
description = self.description.get(session)
command = self.command.get(session)
requirements = self.requirements.get(session)
+ universe = self.universe.get(session)
directory = self.directory.get(session)
stdin = self.stdin.get(session)
stdout = self.stdout.get(session)
stderr = self.stderr.get(session)
- universe = self.universe.get(session)
tokens = shlex.split(command)
@@ -204,14 +208,66 @@
executable,
arguments=arguments,
requirements=requirements,
+ universe=universe,
iwd=directory,
stdin=stdin,
stdout=stdout,
stderr=stderr,
- universe=universe)
+ attrs=attrs)
self.task.exit_with_redirect(session)
+ def parse_attributes(self, session):
+ attrs = dict()
+
+ text = self.attributes_.get(session)
+ text = text.strip()
+
+ for line in text.split("\n"):
+ line = line.strip()
+
+ if not line:
+ continue
+
+ try:
+ name, value = self.parse_attribute(line)
+ except:
+ error = FormError("Failed parsing attribute: %s" % line)
+ self.errors.get(session).append(error)
+
+ continue
+
+ attrs[name] = value
+
+ return attrs
+
+ def parse_attribute(self, line):
+ name, value = line.split("=", 1)
+
+ name = name.strip()
+ value = self.unmarshal_value(value.strip())
+
+ return name, value
+
+ def unmarshal_value(self, value):
+ if value.lower() == "true":
+ return True
+
+ if value.lower() == "false":
+ return False
+
+ try:
+ return int(value)
+ except ValueError:
+ pass
+
+ try:
+ return float(value)
+ except ValueError:
+ pass
+
+ return value
+
class TemplateField(FormField):
def __init__(self, app, name):
super(SubmissionAddForm.TemplateField, self).__init__(app, name)
@@ -258,9 +314,12 @@
self.input = self.UniverseOptions(app, "input", self.param)
self.add_child(self.input)
+ def render_title(self, session):
+ return "Universe"
+
class UniverseOptions(OptionInputSet):
def get_items(self, session):
- return ((None, "[Default]"),
+ return ((None, "Default"),
(5, "VANILLA"),
(7, "SCHEDULER"),
(9, "GRID"),
@@ -269,9 +328,6 @@
(12, "LOCAL"),
(13, "VM"))
- def render_title(self, session):
- return "Universe"
-
def render_item_value(self, session, item):
return item[0]
14 years, 2 months
rhmessaging commits: r4118 - mgmt/newdata/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2010-07-14 13:16:03 -0400 (Wed, 14 Jul 2010)
New Revision: 4118
Modified:
mgmt/newdata/cumin/python/cumin/objecttask.py
Log:
Change failure-mode print out
Modified: mgmt/newdata/cumin/python/cumin/objecttask.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/objecttask.py 2010-07-14 14:19:47 UTC (rev 4117)
+++ mgmt/newdata/cumin/python/cumin/objecttask.py 2010-07-14 17:16:03 UTC (rev 4118)
@@ -174,8 +174,9 @@
def get_status(self, session):
if self.exception:
- return str(self.exception)
+ return "%s (%s)" % (self.status, str(self.exception))
+ #return "%s: %s" % (self.status, str(self.output_args))
return self.status
def end(self):
14 years, 2 months
rhmessaging commits: r4117 - mgmt/newdata/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2010-07-14 10:19:47 -0400 (Wed, 14 Jul 2010)
New Revision: 4117
Modified:
mgmt/newdata/cumin/python/cumin/main.py
Log:
Bump Businest Message Queues up to use a 10 minute average instead of 60 seconds.
Modified: mgmt/newdata/cumin/python/cumin/main.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/main.py 2010-07-14 12:33:58 UTC (rev 4116)
+++ mgmt/newdata/cumin/python/cumin/main.py 2010-07-14 14:19:47 UTC (rev 4117)
@@ -225,7 +225,7 @@
name_col = self.table._columns_by_name["name"]
avg_over_last_60_seconds_col = """((sum("Queue"."msgTotalEnqueues") -
- sum(s."msgTotalEnqueues")) / (count(1)-1)) / 30 as avg_60"""
+ sum(s."msgTotalEnqueues")) / (count(1)-1)) / 300 as avg_60"""
queue_id_col = self.table._columns_by_name["_id"]
vhostRef_col = self.table._columns_by_name["_vhostRef_id"]
vhost_table = self.app.model.org_apache_qpid_broker.Vhost.sql_table
@@ -251,7 +251,7 @@
updated_col = samples_table._columns_by_name["_qmf_update_time"]
enqueues_col = samples_table._columns_by_name["msgTotalEnqueues"]
- when = "now() - interval '60 seconds'"
+ when = "now() - interval '600 seconds'"
SqlComparisonFilter(subquery, updated_col, when, ">=")
columns = list()
14 years, 2 months