def get_newest_plugin_system(): """ Get the current stored plugin packages version. Check all sensor and compared with all sensors. Return the newest information. Here we can have several scenarios we have to manage. This function can be called in a system with framework and without sensors - no sense, but this scenario can exists in a instalation -, we must be sure that """ current_sensors = get_monitor_data(MONITOR_PLUGINS_VERSION) system_id = None md5 = None max_sensor = None system_id = None if current_sensors is not None: system_id = current_sensors[0]['component_id'] monitor_data = json.loads(current_sensors[0]['data']) md5 = monitor_data['md5'] version = monitor_data['version'] for sensor in current_sensors[1:]: check_monitor_data = json.loads(sensor['data']) check_version = check_monitor_data['version'] if compare_dpkg_version(check_version, version) == "greater": result, system_id = get_system_id_from_sensor_id(sensor['component_id']) if result: md5 = check_monitor_data['md5'] version = check_version else: system_id = None md5 = None return (system_id, md5)
def get_newest_plugin_system(): """ Get the current stored plugin packages version. Check all sensor and compared with all sensors. Return the newest information. Here we can have several scenarios we have to manage. This function can be called in a system with framework and without sensors - no sense, but this scenario can exists in a instalation -, we must be sure that """ current_sensors = get_monitor_data(MONITOR_PLUGINS_VERSION) system_id = None md5 = None max_sensor = None system_id = None if current_sensors is not None: system_id = current_sensors[0]['component_id'] monitor_data = json.loads(current_sensors[0]['data']) md5 = monitor_data['md5'] version = monitor_data['version'] for sensor in current_sensors[1:]: check_monitor_data = json.loads(sensor['data']) check_version = check_monitor_data['version'] if compare_dpkg_version(check_version, version) == "greater": result, system_id = get_system_id_from_sensor_id( sensor['component_id']) if result: md5 = check_monitor_data['md5'] version = check_version else: system_id = None md5 = None return (system_id, md5)
def start(self): """ Start monitor """ rt = True try: self.remove_monitor_data() logger.info("Monitor %s Working..." % self.monitor_id) rc, sensor_list = get_systems(system_type="Sensor") (success, version) = get_plugin_package_info_local() if not success: raise Exception(str(version)) (success, local_version) = get_plugin_package_info_local() for (system_id, _) in sensor_list: (success, sensor_id) = get_sensor_id_from_system_id(system_id) #logger.info("INFO => " + str(sensor_id)) if success: if sensor_id == '': logger.warning("Sensor (%s) ID not found" % sensor_id) continue (success, info) = get_plugin_package_info_from_sensor_id(sensor_id) if success: if info['version'] != '': data_sensor = { 'version': info['version'], 'md5': info['md5'], 'comparison': compare_dpkg_version(info['version'], local_version['version']) } else: data_sensor = { 'version': info['version'], 'md5': info['md5'], 'comparison': '' } if not self.save_data( sensor_id, ComponentTypes.SENSOR, self.get_json_message(data_sensor)): logger.error( "Can't save monitor info for sensor '%s'" % sensor_id) else: logger.warning( "Can't obtain plugin version for sensor '%s'", sensor_id) else: logger.warning("Can't obtain sensor_id for system_id '%s'", system_id) except Exception, e: logger.error( "Something wrong happen while running the monitor..%s, %s" % (self.get_monitor_id(), str(e))) rt = False
def start(self): """ Start monitor """ rt = True try: self.remove_monitor_data() logger.info("Monitor %s Working..." % self.monitor_id) rc, sensor_list = get_systems(system_type="Sensor") (success, version) = get_plugin_package_info_local() if not success: raise Exception(str(version)) (success, local_version) = get_plugin_package_info_local() for (system_id, _) in sensor_list: (success, sensor_id) = get_sensor_id_from_system_id(system_id) #logger.info("INFO => " + str(sensor_id)) if success: if sensor_id == '': logger.warning("Sensor (%s) ID not found" % sensor_id) continue (success, info) = get_plugin_package_info_from_sensor_id(sensor_id) if success: if info['version'] != '': data_sensor = {'version': info['version'], 'md5': info['md5'], 'comparison': compare_dpkg_version(info['version'], local_version['version'])} else: data_sensor = {'version': info['version'], 'md5': info['md5'], 'comparison': ''} if not self.save_data(sensor_id, ComponentTypes.SENSOR, self.get_json_message(data_sensor)): logger.error("Can't save monitor info for sensor '%s'" % sensor_id) else: logger.warning("Can't obtain plugin version for sensor '%s'", sensor_id) else: logger.warning("Can't obtain sensor_id for system_id '%s'", system_id) except Exception, e: logger.error("Something wrong happen while running the monitor..%s, %s" % (self.get_monitor_id(), str(e))) rt = False