From: Tomek Mrugalski Date: Fri, 19 Apr 2019 09:38:43 +0000 (+0200) Subject: [#494, !273] Removed old code after rebase. X-Git-Tag: Kea-1.6.0-beta~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2d257106db6e379cef58bf644676032a9e242ee;p=thirdparty%2Fkea.git [#494, !273] Removed old code after rebase. --- diff --git a/src/bin/dhcp4/json_config_parser.cc b/src/bin/dhcp4/json_config_parser.cc index 2e62b2a596..51b08d7272 100644 --- a/src/bin/dhcp4/json_config_parser.cc +++ b/src/bin/dhcp4/json_config_parser.cc @@ -669,101 +669,5 @@ configureDhcp4Server(Dhcpv4Srv& server, isc::data::ConstElementPtr config_set, return (answer); } -void databaseConfigFetch(const SrvConfigPtr& srv_cfg) { - - ConfigBackendDHCPv4Mgr& mgr = ConfigBackendDHCPv4Mgr::instance(); - - // Close any existing CB databasess, then open all in srv_cfg (if any) - if (!databaseConfigConnect(srv_cfg)) { - // There are no CB databases so we're done - return; - } - - LOG_INFO(dhcp4_logger, DHCP4_CONFIG_FETCH); - - // For now we find data based on first backend that has it. - BackendSelector backend_selector(BackendSelector::Type::UNSPEC); - - // Use the server_tag if set, otherwise use ALL. - std::string server_tag = srv_cfg->getServerTag(); - ServerSelector& server_selector = (server_tag.empty()? ServerSelector::ALL() - : ServerSelector::ONE(server_tag)); - // Create the external config into which we'll fetch backend config data. - SrvConfigPtr external_cfg = CfgMgr::instance().createExternalCfg(); - - // First let's fetch the globals and add them to external config. - data::StampedValueCollection globals; - globals = mgr.getPool()->getAllGlobalParameters4(backend_selector, server_selector); - addGlobalsToConfig(external_cfg, globals); - - // Now we fetch the option definitions and add them. - OptionDefContainer option_defs = mgr.getPool()->getAllOptionDefs4(backend_selector, - server_selector); - for (auto option_def = option_defs.begin(); option_def != option_defs.end(); ++option_def) { - external_cfg->getCfgOptionDef()->add((*option_def), (*option_def)->getOptionSpaceName()); - } - - // Next fetch the options. They are returned as a container of OptionDescriptors. - OptionContainer options = mgr.getPool()->getAllOptions4(backend_selector, server_selector); - for (auto option = options.begin(); option != options.end(); ++option) { - external_cfg->getCfgOption()->add((*option), (*option).space_name_); - } - - // Now fetch the shared networks. - SharedNetwork4Collection networks = mgr.getPool()->getAllSharedNetworks4(backend_selector, - server_selector); - for (auto network = networks.begin(); network != networks.end(); ++network) { - external_cfg->getCfgSharedNetworks4()->add((*network)); - } - - // Next we fetch subnets. - Subnet4Collection subnets = mgr.getPool()->getAllSubnets4(backend_selector, server_selector); - for (auto subnet = subnets.begin(); subnet != subnets.end(); ++subnet) { - external_cfg->getCfgSubnets4()->add((*subnet)); - } - - // Now we merge the fecthed configuration into the staging configuration. - CfgMgr::instance().mergeIntoStagingCfg(external_cfg->getSequence()); - LOG_INFO(dhcp4_logger, DHCP4_CONFIG_MERGED); -} - -bool databaseConfigConnect(const SrvConfigPtr& srv_cfg) { - // We need to get rid of any existing backends. These would be any - // opened by previous configuration cycle. - ConfigBackendDHCPv4Mgr& mgr = ConfigBackendDHCPv4Mgr::instance(); - mgr.delAllBackends(); - - // Fetch the config-control info. - ConstConfigControlInfoPtr config_ctl = srv_cfg->getConfigControlInfo(); - if (!config_ctl || config_ctl->getConfigDatabases().empty()) { - // No config dbs, nothing to do. - return (false); - } - - // Iterate over the configured DBs and instantiate them. - for (auto db : config_ctl->getConfigDatabases()) { - LOG_INFO(dhcp4_logger, DHCP4_OPEN_CONFIG_DB) - .arg(db.redactedAccessString()); - mgr.addBackend(db.getAccessString()); - } - - // Let the caller know we have opened DBs. - return (true); -} - - -void addGlobalsToConfig(SrvConfigPtr external_cfg, data::StampedValueCollection& cb_globals) { - const auto& index = cb_globals.get(); - for (auto cb_global = index.begin(); cb_global != index.end(); ++cb_global) { - - if ((*cb_global)->amNull()) { - continue; - } - - external_cfg->addConfiguredGlobal((*cb_global)->getName(), - (*cb_global)->getElementValue()); - } -} - }; // end of isc::dhcp namespace }; // end of isc namespace