def connect_to_wallaby(broker_addr='127.0.0.1', port=5672, username='', passwd='', mechanisms='ANONYMOUS PLAIN GSSAPI'): global supported_api_versions # set up session for wallaby session = Session() if username != '' and passwd != '': broker_str = '%s/%s@%s:%d' % (username, passwd, broker_addr, port) elif username != '': broker_str = '%s@%s:%d' % (username, broker_addr, port) else: broker_str = '%s:%d' % (broker_addr, port) sys.stdout.write("Connecting to broker %s:\n" % (broker_str)) try: broker = session.addBroker('amqp://%s' % broker_str, mechanisms=mechanisms) except: sys.stderr.write('Unable to connect to broker "%s"\n' % broker_str) raise # Retrieve the config store object sys.stdout.write("Connecting to wallaby store:\n") try: (store_agent, config_store) = WallabyHelpers.get_store_objs(session) except WallabyStoreError, error: sys.stderr.write('Error: %s\n' % error.error_str) session.delBroker(broker) raise
# 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. # from qmf.console import Session from sys import exit, argv, stdin import time jobid = len(argv) > 1 and argv[1] attr_name = len(argv) > 2 and argv[2] attr_value = len(argv) > 3 and argv[3] url = len(argv) > 4 and argv[4] or "amqp://localhost:5672" try: session = Session() broker = session.addBroker(url) schedulers = session.getObjects(_class="scheduler", _package="com.redhat.grid") except Exception, e: print "unable to access broker or scheduler" print e exit(1) result = schedulers[0].SetJobAttribute(jobid, attr_name, attr_value) if result.status: print result.text session.delBroker(broker) exit(1)
def __init__(self, broker): self.__session = Session() self.__broker = self.__session.addBroker("amqp://localhost:%d"%broker.port())
self.count += 1 condition.notify() condition.release() # print broker, seq, response url = len(argv) > 1 and argv[1] or "amqp://localhost:5672" count = len(argv) > 2 and int(argv[2]) or 10000 submission = len(argv) > 3 and argv[3] or "submission" klass = "JobServer" package = "com.redhat.grid" console = EmptyConsole() session = Session(console) broker = session.addBroker(url) servers = session.getObjects(_class=klass, _package=package) server = servers[0] print "Found server:", server print "Iteractions:", count print "Submission:", submission start = time.time() print "Start:", start for i in xrange(count): r = session._sendMethodRequest(server.getBroker(), server.getClassKey(), server.getObjectId(), "GetJobAds",
ad["CopyToSpool"] = "False" vars = list() vars.append("_CONDOR_DAGMAN_LOG=%s.out" % dag_file) vars.append("_CONDOR_MAX_DAGMAN_LOG=0") # do this in case script is run in dev env for param in os.environ.keys(): if ("CONDOR" in param) or ("PATH" in param): vars.append("%s=%s" % (param,os.environ[param])) ad["Environment"] = " ".join(vars) for attr in sorted(ad): print attr,"=",ad[attr] session = Session(); broker = session.addBroker(url) schedulers = session.getObjects(_class="scheduler", _package="com.redhat.grid") result = schedulers[0].SubmitJob(ad) if result.status: print "Error submitting:", result.text session.delBroker(broker) exit(1) print "Submitted job:", result.Id time.sleep(5) submissions = session.getObjects(_class="submission", _package="com.redhat.grid") submission = reduce(lambda x,y: x or (y.Name == result.Id and y), submissions, False) if not submission: print "Did not find submission... is the schedd or jobserver publishing submissions?"