static int __parse_web_config(CLCConfig * c) { if (c == NULL) return CLC_CONFIG_RET_ERR_UNKNOWN; struct collection_item *ini_config = NULL; struct collection_item *error_set = NULL; if (config_from_file(PROGRAM_NAME, c->web_conf_path, &ini_config, INI_STOP_ON_NONE, &error_set)) { logsimple(_("error while reading %s\n"), c->web_conf_path); return CLC_CONFIG_RET_ERR_WEBCONF; } if ((c->clc_ip == NULL && __parse_oneitem_str_section("clc_ip", &c->clc_ip, 0, ini_config, "clc")) || (c->clc_port == 0 && __parse_oneitem_int_section("clc_port", &c->clc_port, ini_config, "clc")) || (c->db_name == NULL && __parse_oneitem_str_section("db_name", &c->db_name, 0, ini_config, "db")) || (c->db_user == NULL && __parse_oneitem_str_section("db_user", &c->db_user, 0, ini_config, "db")) || (c->db_pass == NULL && __parse_oneitem_str_section("db_password", &c->db_pass, 0, ini_config, "db"))) return CLC_CONFIG_RET_ERR_WEBCONF; if (ini_config) free_ini_config(ini_config); if (error_set) free_ini_config_errors(error_set); return 0; }
static int __parse_sysconf(char *path, NodeSysConfig *s) { if (s == NULL) return NODE_CONFIG_RET_ERR_UNKNOWN; if (file_not_exist(path)) return 0; struct collection_item *ini_config = NULL; struct collection_item *error_set = NULL; if (config_from_file(PROGRAM_NAME, path, &ini_config, INI_STOP_ON_ANY, &error_set)){ logsimple(_("error while reading %s\n"), path); return NODE_CONFIG_RET_ERR_CONF; } if (__parse_oneitem_str("LYCLC_HOST", &s->clc_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_PORT", &s->clc_port, ini_config) || __parse_oneitem_int("LYNODE_TAG", &s->node_tag, ini_config) || __parse_oneitem_str("LYNODE_SECRET", &s->node_secret, 0, ini_config)) return NODE_CONFIG_RET_ERR_CONF; if (ini_config) free_ini_config(ini_config); if (error_set) free_ini_config_errors(error_set); return 0; }
static int __parse_config(CLCConfig * c) { if (c == NULL) return CLC_CONFIG_RET_ERR_UNKNOWN; if (file_not_exist(c->conf_path)) return CLC_CONFIG_RET_ERR_NOCONF; struct collection_item *ini_config = NULL; struct collection_item *error_set = NULL; if (config_from_file(PROGRAM_NAME, c->conf_path, &ini_config, INI_STOP_ON_ANY, &error_set)) { logsimple(_("error while reading %s\n"), c->conf_path); return CLC_CONFIG_RET_ERR_CONF; } if (__parse_oneitem_str("LYCLC_MCAST_IP", &c->clc_mcast_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_MCAST_PORT", &c->clc_mcast_port, ini_config) || __parse_oneitem_str("LYCLC_DATA_DIR", &c->clc_data_dir, 0, ini_config) || __parse_oneitem_str("LYCLC_PID_PATH", &c->pid_path, 0, ini_config) || __parse_oneitem_int("LYCLC_NODE_CPU_FACTOR", &c->node_cpu_factor, ini_config) || __parse_oneitem_int("LYCLC_NODE_MEM_FACTOR", &c->node_mem_factor, ini_config) || __parse_oneitem_str("LYCLC_VM_NAME_PREFIX", &c->vm_name_prefix, 0, ini_config) || __parse_oneitem_int("LYCLC_NODE_STORAGE_LOW", &c->node_storage_low, ini_config) || __parse_oneitem_int("LYCLC_NODE_SELECT", &c->node_select, ini_config) || __parse_oneitem_int("LYCLC_JOB_TIMEOUT_INSTANCE", &c->job_timeout_instance, ini_config) || __parse_oneitem_int("LYCLC_JOB_TIMEOUT_NODE", &c->job_timeout_node, ini_config)) return CLC_CONFIG_RET_ERR_CONF; if ((c->clc_ip == NULL && __parse_oneitem_str("LYCLC_IP", &c->clc_ip, 0, ini_config)) || (c->clc_port == 0 && __parse_oneitem_int("LYCLC_PORT", &c->clc_port, ini_config)) || (c->db_name == NULL && __parse_oneitem_str("LYCLC_DB_NAME", &c->db_name, 0, ini_config)) || (c->db_user == NULL && __parse_oneitem_str("LYCLC_DB_USERNAME", &c->db_user, 0, ini_config)) || (c->db_pass == NULL && __parse_oneitem_str("LYCLC_DB_PASSWORD", &c->db_pass, 0, ini_config))) return CLC_CONFIG_RET_ERR_CONF; if (c->daemon == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYCLC_DAEMON", &c->daemon, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (c->debug == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYCLC_DEBUG", &c->debug, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (c->log_path == NULL) { if (__parse_oneitem_str ("LYCLC_LOG_PATH", &c->log_path, 0, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (c->web_conf_path == NULL) { if (__parse_oneitem_str ("LYWEB_CONF_PATH", &c->web_conf_path, 0, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (ini_config) free_ini_config(ini_config); if (error_set) free_ini_config_errors(error_set); return 0; }
static int __parse_config(NodeConfig *c) { if (c == NULL) return NODE_CONFIG_RET_ERR_UNKNOWN; if (file_not_exist(c->conf_path)) return NODE_CONFIG_RET_ERR_NOCONF; struct collection_item *ini_config = NULL; struct collection_item *error_set = NULL; if (config_from_file(PROGRAM_NAME, c->conf_path, &ini_config, INI_STOP_ON_ANY, &error_set)){ logsimple(_("error while reading %s\n"), c->conf_path); return NODE_CONFIG_RET_ERR_CONF; } char * driver = NULL; char * auto_connect = NULL; if (__parse_oneitem_str("LYNODE_SYSCONF_PATH", &c->sysconf_path, 0, ini_config) || __parse_oneitem_str("LYNODE_DRIVER", &driver, 0, ini_config) || __parse_oneitem_str("LYCLC_AUTO_CONNECT", &auto_connect, 0, ini_config) || __parse_oneitem_str("LYCLC_HOST", &c->clc_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_PORT", &c->clc_port, ini_config) || __parse_oneitem_str("LYCLC_MCAST_IP", &c->clc_mcast_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_MCAST_PORT", &c->clc_mcast_port, ini_config) || __parse_oneitem_str("LYOSM_CONF_PATH", &c->osm_conf_path, 0, ini_config) || __parse_oneitem_str("LYOSM_KEY_PATH", &c->osm_key_path, 0, ini_config) || __parse_oneitem_str("LYNODE_PID_PATH", &c->pid_path, 0, ini_config) || __parse_oneitem_str("LYNODE_VM_TEMPLATE", &c->vm_template_path, 0, ini_config) || __parse_oneitem_str("LYNODE_VM_NET_NAT_TEMPLATE", &c->vm_template_net_nat_path, 0, ini_config) || __parse_oneitem_str("LYNODE_VM_NET_BRIDGE_TEMPLATE", &c->vm_template_net_br_path, 0, ini_config) || __parse_oneitem_str("LYNODE_VM_DISK_TEMPLATE", &c->vm_template_disk_path, 0, ini_config) || __parse_oneitem_str("LYNODE_NET_PRIMARY", &c->net_primary, 0, ini_config) || __parse_oneitem_str("LYNODE_NET_SERCONDARY", &c->net_secondary, 0, ini_config) || __parse_oneitem_str("LYNODE_DATA_DIR", &c->node_data_dir, 0, ini_config)) return NODE_CONFIG_RET_ERR_CONF; /* value conversion */ if (driver != NULL) { if (strcasecmp(driver, "KVM") == 0) c->driver = HYPERVISOR_IS_KVM; else if (strcasecmp(driver, "XEN") == 0) c->driver = HYPERVISOR_IS_XEN; else c->driver = HYPERVISOR_IS_UNKNOWN; free(driver); } if (auto_connect != NULL) { if (strcasecmp(auto_connect, "ALWAYS") == 0) c->auto_connect = ALWAYS; else if (strcasecmp(auto_connect, "ONCE") == 0) c->auto_connect = ONCE; else if (strcasecmp(auto_connect, "DISABLE") == 0) c->auto_connect = DISABLE; else { logsimple(_("unrecognized value for LYCLC_AUTO_CONNECT %s\n"), auto_connect); return NODE_CONFIG_RET_ERR_CONF; } free(auto_connect); } if (c->daemon == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYNODE_DAEMON", &c->daemon, ini_config)) return NODE_CONFIG_RET_ERR_CONF; } if (c->debug == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYNODE_DEBUG", &c->debug, ini_config)) return NODE_CONFIG_RET_ERR_CONF; } if (c->log_path == NULL) { if (__parse_oneitem_str("LYNODE_LOG_PATH", &c->log_path, 0, ini_config)) return NODE_CONFIG_RET_ERR_CONF; } if (ini_config) free_ini_config(ini_config); if (error_set) free_ini_config_errors(error_set); return 0; }
static int __parse_config(CLCConfig * c) { if (c == NULL) return CLC_CONFIG_RET_ERR_UNKNOWN; if (file_not_exist(c->conf_path)) return CLC_CONFIG_RET_ERR_NOCONF; struct collection_item *ini_config = NULL; struct collection_item *error_set = NULL; if (config_from_file(PROGRAM_NAME, c->conf_path, &ini_config, INI_STOP_ON_ANY, &error_set)) { logsimple(_("error while reading %s\n"), c->conf_path); return CLC_CONFIG_RET_ERR_CONF; } if (__parse_oneitem_str("LYCLC_MCAST_IP", &c->clc_mcast_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_MCAST_PORT", &c->clc_mcast_port, ini_config) || __parse_oneitem_str("LYCLC_IP", &c->clc_ip, 0, ini_config) || __parse_oneitem_int("LYCLC_PORT", &c->clc_port, ini_config) || __parse_oneitem_str("LYCLC_DATA_DIR", &c->clc_data_dir, 0, ini_config) || __parse_oneitem_str("LYCLC_PID_PATH", &c->pid_path, 0, ini_config) || __parse_oneitem_int("LYCLC_NODE_CPU_FACTOR", &c->node_cpu_factor, ini_config) || __parse_oneitem_int("LYCLC_NODE_MEM_FACTOR", &c->node_mem_factor, ini_config) || __parse_oneitem_str("LYCLC_DB_NAME", &c->db_name, 0, ini_config) || __parse_oneitem_str("LYCLC_DB_USERNAME", &c->db_user, 0, ini_config) || __parse_oneitem_str("LYCLC_DB_PASSWORD", &c->db_pass, 0, ini_config)) return CLC_CONFIG_RET_ERR_CONF; if (c->daemon == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYCLC_DAEMON", &c->daemon, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (c->debug == UNDEFINED_CFG_INT) { if (__parse_oneitem_int("LYCLC_DEBUG", &c->debug, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (c->log_path == NULL) { if (__parse_oneitem_str ("LYCLC_LOG_PATH", &c->log_path, 0, ini_config)) return CLC_CONFIG_RET_ERR_CONF; } if (ini_config) free_ini_config(ini_config); if (error_set) free_ini_config_errors(error_set); return 0; }