Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)