def run(self): try: conn=self.get_db_conn() cur = conn.cursor() assert self.kwds['message_id'], 'message_id must be defined' query="SELECT `message` FROM p2p_message WHERE `message_id`='%s'"\ % self.kwds['message_id'] cur.execute(query) res = cur.fetchone() if res: msg=Message() msg.fromxml(res[0]) try: #LOG.debug('\nbefor encode: %s\n'% {u'id':msg.id, u'name':msg.name, # u'meta':msg.meta, u'body':msg.body}) mdict=encode({u'id':msg.id, u'name':msg.name, u'meta':msg.meta, u'body':msg.body}) #LOG.debug('\nafter encode: %s\n'%mdict) yaml=dump(mdict, Dumper=SzradmDumper, default_flow_style=False) print yaml except Exception, e: raise LookupError('Error in recursive encode ' '(szradm->MessageDetailsCommand: l442) Details: %s'%e) else:
def run(self): try: conn=self.get_db_conn() cur = conn.cursor() assert self.kwds['message_id'], 'message_id must be defined' query="SELECT `message`,`format` FROM p2p_message WHERE `message_id`='%s'"\ % self.kwds['message_id'] cur.execute(query) res = cur.fetchone() if res: msg=Message() msg_format = res[1] msg.fromjson(res[0]) if 'json' == msg_format else msg.fromxml(res[0]) try: mdict=encode({u'id':msg.id, u'name':msg.name, u'meta':msg.meta, u'body':msg.body}) if self.kwds and self.kwds.get('json'): # print json out = json.dumps(mdict, indent=4, sort_keys=True) else: # Print yaml out = dump(mdict, Dumper=SzradmDumper, default_flow_style=False) print out except Exception, e: raise LookupError('Error in recursive encode ' '(szradm->MessageDetailsCommand: l442) Details: %s'%e) else:
def __init__(self, name=None, meta=None, body=None): Message.__init__(self, name, meta, body) self.__dict__["_store"] = P2pMessageStore() if bus.cnf: cnf = bus.cnf; ini = cnf.rawini # XXX: when it is incoming message self.meta[MetaOptions.SERVER_ID] = ini.get('general', 'server_id')
def __call__(self, message_id, json=False): try: cursor = db_connection.cursor() query = "SELECT `message`,`format` FROM p2p_message " \ "WHERE `message_id`='%s'" % message_id cursor.execute(query) fetched_data = cursor.fetchone() finally: cursor.close() if fetched_data: msg = Message() msg_format = fetched_data[1] if msg_format == 'json': msg.fromjson(fetched_data[0]) else: msg.fromxml(fetched_data[0]) mdict = encode({'id': msg.id, 'name': msg.name, 'meta': msg.meta, 'body': msg.body}) if json: print json_module.dumps(mdict, indent=4, sort_keys=True, ensure_ascii=False) else: print yaml.dump(mdict, default_flow_style=False, allow_unicode=True) else: raise CommandError('Message not found')
def new_message(self, msg_name, msg_body=None, msg_meta=None, broadcast=False, include_pad=False, srv=None): msg = Message(name=msg_name, meta=msg_meta, body=msg_body) return msg
def __call__(self, message_id, json=False): try: conn = get_db_conn() cursor = conn.cursor() query = "SELECT `message`,`format` FROM p2p_message " \ "WHERE `message_id`='%s'" % message_id cursor.execute(query) fetched_data = cursor.fetchone() finally: cursor.close() if fetched_data: msg = Message() msg_format = fetched_data[1] if msg_format == 'json': msg.fromjson(fetched_data[0]) else: msg.fromxml(fetched_data[0]) mdict = encode({'id': msg.id, 'name': msg.name, 'meta': msg.meta, 'body': msg.body}) if json: print json_module.dumps(mdict, indent=4, sort_keys=True, ensure_ascii=False) else: print yaml.dump(mdict, default_flow_style=False, allow_unicode=True) else: raise CommandError('Message not found')
def run(self): try: conn = self.get_db_conn() cur = conn.cursor() assert self.kwds['message_id'], 'message_id must be defined' query="SELECT `message`,`format` FROM p2p_message WHERE `message_id`='%s'"\ % self.kwds['message_id'] cur.execute(query) res = cur.fetchone() if res: msg = Message() msg_format = res[1] msg.fromjson(res[0]) if 'json' == msg_format else msg.fromxml( res[0]) try: mdict = encode({ u'id': msg.id, u'name': msg.name, u'meta': msg.meta, u'body': msg.body }) if self.kwds and self.kwds.get('json'): # print json out = json.dumps(mdict, indent=4, sort_keys=True) else: # Print yaml out = dump(mdict, Dumper=SzradmDumper, default_flow_style=False) print out except Exception, e: raise LookupError( 'Error in recursive encode ' '(szradm->MessageDetailsCommand: l442) Details: %s' % e) else:
def _on_HostUpDown(self, internal_ip, prefix): role_alias = 'mysql' role_name = 'mysql-lvm' role_dir = self.ip_lb._base_path + os.sep + role_name role_file = role_dir + os.sep + internal_ip mysql_dir = self.ip_lb._base_path + os.sep + role_alias + prefix # mysql_file = mysql_dir + os.sep + internal_ip msg = Message(body=dict( role_name=role_name, behaviour=[role_alias], local_ip=internal_ip)) self.ip_lb.on_HostUp(msg) self.assertTrue(os.path.exists(role_dir) and os.path.isdir(role_dir)) self.assertTrue( os.path.exists(role_file) and os.path.isfile(role_file)) self.assertTrue(os.path.exists(mysql_dir) and os.path.isdir(mysql_dir)) self.assertTrue( os.path.exists(mysql_file) and os.path.isfile(mysql_file)) self.ip_lb.on_HostDown(msg) self.assertFalse(os.path.exists(role_dir)) self.assertFalse(os.path.exists(role_file)) self.assertFalse(os.path.exists(mysql_dir)) self.assertFalse(os.path.exists(mysql_file))
def new_message(self, name=None, meta={}, body={}): return Message(name, meta, body)
def test_on_host_init_response_new_style_volumes(self, *args): ''' plug new-style volumes ''' from scalarizr.bus import bus from scalarizr.handlers.block_device import BlockDeviceHandler from scalarizr.messaging import Message hir = Message( 'HostInitResponse', None, { 'volumes': [{ 'type': 'ebs', 'size': '1', 'mpoint': '/mnt/ebs' }, { 'type': 'ebs', 'size': '10', 'snap': { 'type': 'ebs', 'id': 'snap-12345678' }, 'mpoint': '/mnt/volume' }, { 'id': 'vol-12345678', 'type': 'ebs', 'fstype': 'xfs', 'mpoint': '/mnt/kazu' }, { 'type': 'raid', 'level': '5', 'disks': list(itertools.repeat({ 'type': 'ebs', 'size': 50 }, 3)), 'fstype': 'xfs', 'mpoint': '/mnt/raid5' }, { 'type': 'raid', 'level': '5', 'disks': list(itertools.repeat({ 'type': 'ebs', 'size': 50 }, 3)), 'snap': { 'type': 'raid', 'disks': [{ 'type': 'ebs', 'id': 'snap-a1b2c3d4' }, { 'type': 'ebs', 'id': 'snap-12345678' }, { 'type': 'ebs', 'id': 'snap-1a2b3c4d' }] } }, { 'id': 'raid-vol-12345678', 'type': 'raid', 'level': '1', 'disks': [{ 'id': 'vol-12345678', 'type': 'ebs' }, { 'id': 'vol-87654321', 'type': 'ebs' }], 'mpoint': '/mnt/keystone' }] }) hdlr = BlockDeviceHandler('ebs') hdlr.on_host_init_response(hir) messages = list(rec.message for rec in bus.init_op.logs) assert_equals( messages[1], 'Ensure ebs: create volume, make ext3 filesystem, mount to /mnt/ebs' ) assert_equals( messages[2], 'Ensure ebs: create volume from snap-12345678, mount to /mnt/volume' ) assert_equals(messages[3], 'Ensure ebs: take vol-12345678, mount to /mnt/kazu') assert_equals( messages[4], 'Ensure raid5: create 3 ebs volumes, make xfs filesystem, mount to /mnt/raid5' ) assert_equals( messages[5], 'Ensure raid5: create 3 ebs volumes from snapshots (snap-a1b2c3d4, snap-12345678, snap-1a2b3c4d)' ) assert_equals( messages[6], 'Ensure raid1: take raid-vol-12345678 (2 ebs disks: vol-12345678, vol-87654321), mount to /mnt/keystone' )
def __init__(self, name=None, meta=None, body=None): Message.__init__(self, name, meta, body) self.__dict__["_store"] = P2pMessageStore() self.meta['server_id'] = __node__['server_id']