def parse_counters(data=None): if data is None: data = r.blpop(config.get('constants', 'REDIS_XML_QUEUE_KEY')) LOG.debug(data) data = eval(data[1]) p_obj = Parser.parse_mfc_counters(data[0], data[1], data[2]) r.rpush(config.get('constants', 'REDIS_PARSER_QUEUE_KEY'), Serialize.to_json(p_obj)) return p_obj
def parse_config_and_sync(data=None, sync_list=True): if sync_list: sync_list = List(key=config.get('constants', 'REDIS_SYNC_DEV_LIST_KEY'), redis=r) else: sync_list = List(key=config.get('constants', 'REDIS_NEW_SYNC_DEV_LIST_KEY'), redis=r) unsync_list = List(key=config.get('constants', 'REDIS_UNSYNC_DEV_LIST_KEY'), redis=r) if data is None: data = r.blpop(config.get('constants', 'REDIS_CONFIG_XML_QUEUE_KEY')) data = eval(data[1]) device = data[0] xml = data[1] p_obj = Parser.parse_mfc_config(device, xml) if p_obj.header.status_code == 0: """ Update the gloabl DS extend the sync_dev_list with the device tuple Store the UUID in a global hashmap. will be retrieved using IP key. """ try: mfc_uuid.update({device[2] + '_uuid': p_obj.data.config.host_id}) mfc_uuid.update( {device[2] + '_hostname': p_obj.data.config.hostname}) #Update to the sync list if its able to retrieve the data attributes sync_list.extend((device, )) except AttributeError: LOG.error("Something wrong with the Config data from MFC: " + device[2]) LOG.error("Restart agentd or make sure the config data is valid.") unsync_list.extend((device, )) finally: r.rpush(config.get('constants', 'REDIS_CONFIG_STORE_QUEUE_KEY'), Serialize.to_json(p_obj)) else: LOG.error("Unable to get config from MFC: " + device[2]) LOG.error("Status Code: %s Message: %s" % (p_obj.header.status_code, p_obj.header.status_msg)) LOG.error("Check MFC state make sure Agentd is working fine.") unsync_list.extend((device, )) return p_obj
def parse_config_and_sync(data=None, sync_list=True): if sync_list: sync_list = List(key=config.get('constants', 'REDIS_SYNC_DEV_LIST_KEY'), redis=r) else: sync_list = List(key=config.get('constants', 'REDIS_NEW_SYNC_DEV_LIST_KEY'), redis=r) unsync_list = List(key=config.get('constants', 'REDIS_UNSYNC_DEV_LIST_KEY'), redis=r) if data is None: data = r.blpop(config.get('constants', 'REDIS_CONFIG_XML_QUEUE_KEY')) data = eval(data[1]) device = data[0] xml = data[1] p_obj = Parser.parse_mfc_config(device, xml) if p_obj.header.status_code == 0: """ Update the gloabl DS extend the sync_dev_list with the device tuple Store the UUID in a global hashmap. will be retrieved using IP key. """ try: mfc_uuid.update({device[2] + '_uuid': p_obj.data.config.host_id}) mfc_uuid.update({device[2] + '_hostname': p_obj.data.config.hostname}) #Update to the sync list if its able to retrieve the data attributes sync_list.extend((device,)) except AttributeError: LOG.error("Something wrong with the Config data from MFC: " + device[2]) LOG.error("Restart agentd or make sure the config data is valid.") unsync_list.extend((device,)) finally: r.rpush(config.get('constants', 'REDIS_CONFIG_STORE_QUEUE_KEY'), Serialize.to_json(p_obj)) else: LOG.error("Unable to get config from MFC: " + device[2]) LOG.error("Status Code: %s Message: %s" % (p_obj.header.status_code, p_obj.header.status_msg)) LOG.error("Check MFC state make sure Agentd is working fine.") unsync_list.extend((device,)) return p_obj