mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 06:25:34 +00:00
[#101,!58] Implemented ConfigBackendDhcp4Mgr, mysql backend registers/unregisters
src/hooks/dhcp/mysql_cb/mysql_cb_callouts.cc load() - added call to register MySQL backend unload() - added call to unregister MySQL backend src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.* MySqlConfigBackendDHCPv4::registerBackendType() MySqlConfigBackendDHCPv4::unregisterBackendType() - new static methods for registering/unregistering src/hooks/dhcp/mysql_cb/tests/Makefile.am mysql_cb_dhcp4_mgr_unittest.cc - new file src/lib/config_backend/base_config_backend_mgr.h bool unregisterBackendFactory(const std::string& db_type) - new method to unregister factory and delete backends src/lib/config_backend/base_config_backend_pool.h void delAllBackends(const std::string& db_type) - new method to delete all backends of a given type /src/lib/config_backend/tests/config_backend_mgr_unittest.cc TEST_F(ConfigBackendMgrTest, unregister) - new test src/lib/dhcpsrv/Makefile.am src/lib/dhcpsrv/config_backend_dhcp4.h src/lib/dhcpsrv/config_backend_dhcp4.cc New files that implement ConfigBackendDhcp4Mgr src/lib/dhcpsrv/config_backend_pool_dhcp4.h Added missing public scope, removed pure virtual function src/lib/eval/tests/Makefile.am Added new dependency libkea-cc
This commit is contained in:
@@ -574,6 +574,8 @@ configureDhcp4Server(Dhcpv4Srv& server, isc::data::ConstElementPtr config_set,
|
||||
// This operation should be exception safe but let's make sure.
|
||||
if (!rollback) {
|
||||
try {
|
||||
// if we have config-control DBs attempt to create them here,
|
||||
// if that fails, rollback?
|
||||
|
||||
// Setup the command channel.
|
||||
configureCommandChannel();
|
||||
@@ -592,6 +594,9 @@ configureDhcp4Server(Dhcpv4Srv& server, isc::data::ConstElementPtr config_set,
|
||||
const HooksConfig& libraries =
|
||||
CfgMgr::instance().getStagingCfg()->getHooksConfig();
|
||||
libraries.loadLibraries();
|
||||
|
||||
// now that we have config-db and hooks, merge in config from DB
|
||||
// databaseConfigFetch(srv_config, mutable_cfg);
|
||||
}
|
||||
catch (const isc::Exception& ex) {
|
||||
LOG_ERROR(dhcp4_logger, DHCP4_PARSER_COMMIT_FAIL).arg(ex.what());
|
||||
@@ -606,6 +611,7 @@ configureDhcp4Server(Dhcpv4Srv& server, isc::data::ConstElementPtr config_set,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Rollback changes as the configuration parsing failed.
|
||||
if (rollback) {
|
||||
// Revert to original configuration of runtime option definitions
|
||||
|
Reference in New Issue
Block a user