[4239] Added drop scripts for both MySQL and Postgresql
Rather than use hard-coded lists or query logic for dropping the
database all MySQL and Posgresql tests use new drop scripts
added to src/bind/admin/scripts.
src/bin/admin/scripts/mysql/dhcpdb_drop.mysql
- New SQL script to drop a MySQL database
src/bin/admin/scripts/pgsql/dhcpdb_drop.pgsql
- New SQL script to drop a Postgresql database
src/bin/admin/tests/mysql_tests.sh.in
- mysql_wipe() - modified to use new drop script
src/bin/admin/tests/pgsql_tests.sh.in
- pgsql_wipe() modified to use new drop script
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
- TEST(MySqlOpenTest, OpenDatabase) - added show_err=true
to destroyMySQLSchema() calls
src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
- TEST(PgSqlOpenTest, OpenDatabase) - added show_err=true
to destroyMySQLSchema() calls
src/lib/dhcpsrv/testutils/mysql_schema.cc
- destroyMySQLSchema(bool show_err) - modified to use the new
drop script and accept show_err parameter
src/lib/dhcpsrv/testutils/pgsql_schema.cc
- destroyPgSQLSchema(bool show_err) - modified to use the new
drop script and accept show_err parameter
[4239] MySQL and Postgresql unit tests use production schema create scripts
src/lib/dhcpsrv/testutils/schema.h
src/lib/dhcpsrv/testutils/schema.cc
New files that contain constants and functions common to RDBMS
testing
src/lib/dhcpsrv/testutils/pgsql_schema.h
src/lib/dhcpsrv/testutils/pgsql_schema.cc
New files that contain constants and functions needed for
Posgresql testing
src/lib/dhcpsrv/testutils/mysql_schema.cc
src/lib/dhcpsrv/testutils/mysql_schema.h
Removed common constants and functions
Added MYSQL_VALID_TYPE
runMySQLScript() - new function to submit a script to MySQL
src/lib/dhcpsrv/pgsql_lease_mgr.cc
PgSqlLease6Exchange - replaced uint32_t iaid member with Uiaid union
instance. This permits the value to be safely stored in the database
as an INT (signed 4-byte value)
getColumnValue()- added int32_t variant of this method
[4239] MySQL unit tests in dhcpsrv now use production db create script
src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
TEST(MySqlOpenTest, OpenDatabase) - pass in show_err=true for call
to createMySQLSchema()
src/lib/dhcpsrv/testutils/Makefile.am
- Added definition of TEST_ADMIN_SCRIPTS_DIR
- removed schema_mysql_copy.h
src/lib/dhcpsrv/testutils/mysql_schema.cc
- Removed include of schema_mysql_copy.h
- destroyMySQLSchema() - now contains destroy_statment[] formerly
defined in schema_mysql_copy.h
- createMySQLSchema() - Creates the database through command line
invocation of MySQL cli, mysql, passing it the production database
creation script
[4259] kea-dhcp6 now supports replace-client-name modes
src/bin/dhcp6/dhcp6_messages.mes
- Added new log message, DHCP6_DDNS_SUPPLY_FQDN
src/bin/dhcp6/dhcp6_srv.cc
- Dhcpv6Srv::processClientFqdn() - modified to support the name
replacement modes
src/bin/dhcp6/tests/fqdn_unittest.cc
- FqdnDhcpv6SrvTest::testReplaceClientNameMode() new method which tests
a server's handling of a single client packet for a given
replace-client-name mode.
- TEST_F(FqdnDhcpv6SrvTest, replaceClientNameModeTest) - new test which
exercises the permutations of client packets and replace-client-name
modes.
[4259] kea-dhcp4 now supports replace-client-name modes
src/bin/dhcp4/dhcp4_messages.mes
- Added new log message DHCP4_SUPPLY_HOSTNAME
src/bin/dhcp4/dhcp4_srv.cc
- Dhcpv4Srv::processClientName() - pushed lack of host option in the
client request down into processHostoption()
- Dhcpv4Srv::processHostnameOption() - modified to support the new name
replacement modes
src/bin/dhcp4/tests/fqdn_unittest.cc
- NameDhcpv4SrvTest:: testReplaceClientNameMode() - new method which
tests a server's handling of a single client packet for a given
replace-client-name mode.
- TEST_F(NameDhcpv4SrvTest, replaceClientNameModeTest) - new test which
exercises the permutations of client packets and replace-client-name
modes.
[4259] Converted replace-client-name from boolean to enumeration
The D2 client configuration parameter, replace-client-name, was
changed from a boolean, to an enumerated list of modes:
"NEVER" - do not alter or supply the client name
"ALWAYS" - always replace the client name, or supply it if
not sent by the client
"WHEN_PRESENT" - replace the client name sent by the client,
do not supply one otherwise
"WHEN_NOT_PRESENT" - supply the client name only if one was
not sent by the client
src/lib/dhcpsrv/d2_client_cfg.cc
src/lib/dhcpsrv/d2_client_cfg.h
Added the D2ClientConfig::ReplaceClientNameMode enumeration.
src/lib/dhcpsrv/parsers/dhcp_parsers.cc
- Alter replace-client-name parsing to parse the mode labels.
- Maps boolean literals true and false to RCM_WHEN_PRESENT and
RCM_NEVER respectively
src/bin/dhcp4/dhcp6_srv.cc
src/bin/dhcp4/dhcp4_srv.cc
src/lib/dhcpsrv/d2_client_mgr.h
- Adapted to use the enumeration
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp4/tests/fqdn_unittest.cc
src/bin/dhcp6/tests/config_parser_unittest.cc
src/bin/dhcp6/tests/fqdn_unittest.cc
src/lib/dhcpsrv/tests/cfgmgr_unittest.cc
src/lib/dhcpsrv/tests/d2_client_unittest.cc
src/lib/dhcpsrv/tests/d2_udp_unittest.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
- Alter existing tests to use the enumeration. Note false was replaced
with RCM_NEVER and true with RCM_WHEN_PRESENT
Stephen Morris [Thu, 31 Mar 2016 20:29:59 +0000 (21:29 +0100)]
[4293] Get rid of DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED error message during shutdown
The message may have multiple causes, a shutdown being one of
them. As the condition leading to the message is benign, the
message has been made a debug message.
[4316] Changed primary lease event logging from DEBUG to INFO
src/bin/dhcp4/dhcp4_messages.mes
- Replaced the word "debug" with "informational" where appropriate
src/bin/dhcp4/dhcp4_srv.cc
- Changed several lease4_logger messages from DEBUG to INFO
DHCP4_INIT_REBOOT
DHCP4_LEASE_ADVERT
DHCP4_LEASE_ALLOC
DHCP4_RELEASE
DHCP4_DECLINE_LEASE
src/bin/dhcp6/dhcp6_messages.mes
- Replaced the word "debug" with "informational" where appropriate
- Added two new messages:
DHCP6_LEASE_RENEW
DHCP6_PD_LEASE_RENEW
src/bin/dhcp6/dhcp6_srv.cc
- Changed several lease6_logger messages from DEBUG to INFO
DHCP6_LEASE_ADVERT
DHCP6_LEASE_ALLOC
DHCP6_PD_LEASE_ADVERT
DHCP6_PD_LEASE_ALLOC
DHCP6_RELEASE_NA
DHCP6_RELEASE_PD
DHCP6_DECLINE_LEASE
- Dhcpv6Srv::extendIA_NA() - added new log for DHCP6_LEASE_RENEW
- Dhcpv6Srv::extendIA_PD() - added new log for DHCP6_PD_LEASE_RENEW