def set_config_general(system_id): param_names = [ 'general_admin_dns', 'general_admin_gateway', 'general_admin_ip', 'general_admin_netmask', 'general_hostname', 'general_mailserver_relay', 'general_mailserver_relay_passwd', 'general_mailserver_relay_port', 'general_mailserver_relay_user', 'general_ntp_server', 'firewall_active' ] (success, system_ip) = ret = get_system_ip_from_system_id(system_id) if not success: return make_error(system_ip, 500) set_values = {} for key, value in request.args.iteritems(): if key not in param_names: return make_error("Bad param %s" % key, 400) else: set_values[key] = value (success, config_values) = set_av_config(system_ip, set_values) if not success: current_app.logger.error("system: set_config_general error: " + str(config_values)) return make_error( "Cannot set general configuration info %s" % str(config_values), 500) flush_cache(namespace="system") if 'general_hostname' in set_values: success, msg = db_system_update_hostname( system_id, set_values['general_hostname']) if not success: return make_error("Error setting values: %s" % msg, 500) if 'general_admin_ip' in set_values: success, msg = db_system_update_admin_ip( system_id, set_values['general_admin_ip']) if not success: return make_error("Error setting values: %s" % msg, 500) success, msg = ansible_add_ip_to_inventory( set_values['general_admin_ip']) if not success: return make_error("Error setting the admin IP address", 500) job = alienvault_asynchronous_reconfigure.delay(system_id) return make_ok(job_id=job.id)
def set_system_config(system_id, set_values): """ Set the configuration values to the system Args: system_id(str): The system id where the configuration will be setted set_values: key-value dictionary with the configuration settings Returns: (success, job_id): success=True when the operation when ok, otherwise success=False. On success job_id: id of the async reconfig job, error message string otherwise """ (success, system_ip) = get_system_ip_from_system_id(system_id) if not success: return (False, system_ip) (success, config_values) = set_av_config(system_ip, set_values) if not success: api_log.error("system: set_config_general error: " + str(config_values)) return (False, "Cannot set general configuration info: %s" % str(config_values)) flush_cache(namespace="system_config") if 'general_hostname' in set_values: success, msg = db_system_update_hostname( system_id, set_values['general_hostname']) if not success: return (False, "Error setting values: %s" % msg) new_admin_ip = None if 'general_admin_ip' in set_values: new_admin_ip = set_values['general_admin_ip'] success, msg = db_system_update_admin_ip( system_id, set_values['general_admin_ip']) if not success: return (False, "Error setting values: %s" % msg) success, msg = ansible_add_ip_to_inventory( set_values['general_admin_ip']) if not success: return (False, "Error setting the admin IP address") job = alienvault_asynchronous_reconfigure.delay(system_ip, new_admin_ip) return (True, job.id)
def set_system_config(system_id, set_values): """ Set the configuration values to the system Args: system_id(str): The system id where the configuration will be setted set_values: key-value dictionary with the configuration settings Returns: (success, job_id): success=True when the operation when ok, otherwise success=False. On success job_id: id of the async reconfig job, error message string otherwise """ (success, system_ip) = get_system_ip_from_system_id(system_id) if not success: return (False, system_ip) (success, config_values) = set_av_config(system_ip, set_values) if not success: api_log.error("system: set_config_general error: " + str(config_values)) return (False, "Cannot set general configuration info: %s" % str(config_values)) flush_cache(namespace="system_config") if "general_hostname" in set_values: success, msg = db_system_update_hostname(system_id, set_values["general_hostname"]) if not success: return (False, "Error setting values: %s" % msg) new_admin_ip = None if "general_admin_ip" in set_values: new_admin_ip = set_values["general_admin_ip"] success, msg = db_system_update_admin_ip(system_id, set_values["general_admin_ip"]) if not success: return (False, "Error setting values: %s" % msg) success, msg = ansible_add_ip_to_inventory(set_values["general_admin_ip"]) if not success: return (False, "Error setting the admin IP address") job = alienvault_asynchronous_reconfigure.delay(system_ip, new_admin_ip) return (True, job.id)
def set_config_general(system_id): param_names = ['general_admin_dns', 'general_admin_gateway', 'general_admin_ip', 'general_admin_netmask', 'general_hostname', 'general_mailserver_relay', 'general_mailserver_relay_passwd', 'general_mailserver_relay_port', 'general_mailserver_relay_user', 'general_ntp_server', 'firewall_active'] (success, system_ip) = ret = get_system_ip_from_system_id(system_id) if not success: return make_error(system_ip, 500) set_values = {} for key, value in request.args.iteritems(): if key not in param_names: return make_error ("Bad param %s" % key, 400) else: set_values[key] = value (success, config_values) = set_av_config(system_ip, set_values) if not success: current_app.logger.error("system: set_config_general error: " + str(config_values)) return make_error("Cannot set general configuration info %s" % str(config_values), 500) flush_cache(namespace="system") if 'general_hostname' in set_values: success, msg = db_system_update_hostname(system_id, set_values['general_hostname']) if not success: return make_error("Error setting values: %s" % msg, 500) if 'general_admin_ip' in set_values: success, msg = db_system_update_admin_ip(system_id, set_values['general_admin_ip']) if not success: return make_error("Error setting values: %s" % msg, 500) success, msg = ansible_add_ip_to_inventory(set_values['general_admin_ip']) if not success: return make_error("Error setting the admin IP address", 500) job = alienvault_asynchronous_reconfigure.delay(system_id) return make_ok(job_id=job.id)