def doDatabaseAction(broker, user, password, db_name, action, child=None): s = Session(broker, service="ChorusManagement") s.authorize(user, password) if child is not None: child = [ child ] s.doConnect(attributes={"Database" : db_name, "Action" : action}, children=child) response = s.recv() checkForError(response) s.close() return response
def monitorDomainStats(broker, user, password, listener=None): if not listener: listener = _StandardOutListener() s = Session(broker, service="HostStats") s.authorize(user, password) s.doConnect() checkForError(s.recv()) monitor = SessionMonitor(s, listener=listener) monitor.start() return monitor
def getCloudEntry(broker, db_name, attrs=None): if not attrs: attrs = dict() attrs["Database"] = db_name s = Session(broker, service="SQL2") s.doConnect(attributes=attrs) connectDetail = s.recv() s.close() checkForError(connectDetail) root = ElementTree.fromstring(connectDetail) if root.tag != "Cloud": raise SessionException("Unexpecetd response type: " + root.tag) return (root.get("Address"), int(root.get("Port")))
def queryEngine(address, port, target, dbPassword, msgBody=None): s = Session(address, port=port, service="Query") s.authorize("Cloud", dbPassword) s.doConnect() msg = "<Query Target=\"%s\"/>" % target if msgBody is not None: xml = ElementTree.fromstring(msg) xml.append(msgBody) msg = ElementTree.tostring(xml) s.send(msg) response = s.recv() checkForError(response) s.close() return response