def save_config_from_message(step, config_group, message, serv_as): server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info("Get messages from server %s" % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x["name"] == message, messages)[0]["id"] LOG.info("Message id for %s is %s" % (message, msg_id)) message_details = json.loads(node.run("szradm message-details %s --json" % msg_id)[0])["body"] LOG.info("Message details is %s" % message_details) LOG.info("Save message part %s" % config_group) setattr(world, "%s_%s_%s" % (serv_as, message.lower(), config_group), message_details[config_group])
def save_config_from_message(step, config_group, message, serv_as): server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info('Get messages from server %s' % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x['name'] == message, messages)[0]['id'] LOG.info('Message id for %s is %s' % (message, msg_id)) message_details = json.loads( node.run('szradm message-details %s --json' % msg_id)[0])['body'] LOG.info('Message details is %s' % message_details) LOG.info('Save message part %s' % config_group) setattr(world, '%s_%s_%s' % (serv_as, message.lower(), config_group), message_details[config_group])
def check_message_config(step, config_group, message, serv_as): server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info("Get messages from server %s" % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x["name"] == message, messages)[0]["id"] LOG.info("Message id for %s is %s" % (message, msg_id)) message_details = json.loads(node.run("szradm message-details %s --json" % msg_id)[0])["body"] LOG.info("Message details is %s" % message_details) old_details = getattr(world, "%s_%s_%s" % (serv_as, message.lower(), config_group), "") if not config_group in message_details or old_details == message_details[config_group]: LOG.error("New and old details is not equal: %s\n %s" % (old_details, message_details[config_group])) raise AssertionError("New and old details is not equal")
def save_config_from_message(step, config_group, message, serv_as): # NOTE: migrated server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info('Get messages from server %s' % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x['name'] == message, messages)[0]['id'] LOG.info('Message id for %s is %s' % (message, msg_id)) cmd = 'szradm message-details %s --json' % msg_id if CONF.feature.dist.id == 'coreos': cmd = "/opt/bin/" + cmd message_details = json.loads(node.run(cmd).std_out)['body'] LOG.info('Message details is %s' % message_details) LOG.info('Save message part %s' % config_group) setattr(world, '%s_%s_%s' % (serv_as, message.lower(), config_group), message_details[config_group])
def check_message_config(step, config_group, message, serv_as): server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info('Get messages from server %s' % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x['name'] == message, messages)[0]['id'] LOG.info('Message id for %s is %s' % (message, msg_id)) message_details = json.loads( node.run('szradm message-details %s --json' % msg_id)[0])['body'] LOG.info('Message details is %s' % message_details) old_details = getattr( world, '%s_%s_%s' % (serv_as, message.lower(), config_group), '') if not config_group in message_details or old_details == message_details[ config_group]: LOG.error('New and old details is not equal: %s\n %s' % (old_details, message_details[config_group])) raise AssertionError('New and old details is not equal')
def check_message_config(step, config_group, message, serv_as): # NOTE: migrated server = getattr(world, serv_as) node = world.cloud.get_node(server) LOG.info('Get messages from server %s' % server.id) messages = world.get_szr_messages(node) msg_id = filter(lambda x: x['name'] == message, messages)[0]['id'] LOG.info('Message id for %s is %s' % (message, msg_id)) cmd = 'szradm message-details %s --json' % msg_id if CONF.feature.dist.id == 'coreos': cmd = "/opt/bin/" + cmd message_details = json.loads(node.run(cmd).std_out)['body'] LOG.info('Message details is %s' % message_details) old_details = getattr(world, '%s_%s_%s' % (serv_as, message.lower(), config_group), '') if not config_group in message_details or old_details == message_details[config_group]: LOG.error('New and old details is not equal: %s\n %s' % (old_details, message_details[config_group])) raise AssertionError('New and old details is not equal')
def wait_unstored_message(servers, message_name, message_type='out', find_in_all=False, timeout=1000): # NOTE: migrated if not isinstance(servers, (list, tuple)): servers = [servers] delivered_to = [] message_type = 'in' if message_type.strip() in ('sends', 'out') else 'out' start_time = time.time() while time.time() - start_time < timeout: if delivered_to == servers: LOG.info('All servers has message: %s / %s' % (message_type, message_name)) break for server in servers: if server in delivered_to: continue LOG.info('Searching message "%s/%s" on %s node' % (message_type, message_name, server.id)) node = world.cloud.get_node(server) lookup_messages = getattr(world, '_server_%s_lookup_messages' % server.id, []) node_messages = reversed(world.get_szr_messages(node, convert=True)) message = filter(lambda m: m.name == message_name and m.direction == message_type and m.id not in lookup_messages and strtobool(m.handled), node_messages) if message: LOG.info('Message found: %s' % message[0].id) lookup_messages.append(message[0].id) setattr(world, '_server_%s_lookup_messages' % server.id, lookup_messages) if find_in_all: LOG.info('Message %s delivered to the server %s' % (message_name, server.id)) delivered_to.append(server) continue return server time.sleep(30) else: raise MessageNotFounded('%s/%s was not finding' % (message_type, message_name))