src/bin/admin/tests/mysql_tests.sh.in
Added test to verify lease6 address and ipv6 reservation address
column data conversion
src/lib/dhcpsrv/mysql_host_data_source.cc
Use isc::asiolink::V6ADDRESS_LEN;
src/share/database/scripts/mysql/dhcpdb_create.mysql
src/share/database/scripts/mysql/upgrade_018_to_019.sh.in
Add data conversion logic for lease6 and ipv6_reservation columns
lease6.address and ipv6_reservations.address columns
changed from varbinary(39) to binary(16).
lease6.binaddr column removed
deleted: src/share/api/binary-address6-upgrade.json
new file: src/share/database/scripts/mysql/upgrade_018_to_019.sh.in
configure.ac
added new mysql upgrade script
doc/sphinx/arm/hooks-lease-query.rst
removed doc for binary-address6-upgrade command
src/bin/admin/tests/mysql_tests.sh.in
modified to use inet6_aton/ntoa as now needed
Updated to test upgrage
src/lib/dhcpsrv/lease_mgr.h
LeaseMgr::upgradeBinaryAddress6() - no longer
abstract, provides a dummy implemention
src/lib/dhcpsrv/mysql_host_data_source.cc
Change v6 reservation address to binary
src/lib/dhcpsrv/mysql_lease_mgr.*
Remove lease6.binaddr and uses
Change lease6.address to binary
src/lib/mysql/mysql_constants.h
Update schema version
src/share/api/api_files.mk
Remove binary-address6-upgrade.json
src/share/database/scripts/mysql/Makefile.am
Add upgrade script
src/share/database/scripts/mysql/dhcpdb_create.mysql
Modify lease6, ipv6_reservations, and impacted functions
Addresses two issues:
- The host query by IPv6 address has been fixed for the case when the
duplicated addresses are allowed
- Corrected fetching vendor options from the host database
There's no point in having columns with predetermined values added to
a database exchange object. There's an extra column accounted for in
these columns called scope_id that always has value 3. This bug has no
effect. The extra scope_id is ignored by PgSqlOptionExchange, but in the
MySQL counterpart, a bogus value is sent to the MySQL driver which
itself seems to ignore it. The effects of this bug becomes visible if
you try to add the bind vector, you get an error about not being able to
bind the values, because they're one off starting with the scope_id.
Removed inserting dhcp client class from host manager. Previously, the
host manager would set dhcp_client_class column to an empty string causing
a referential integrity error with client classes. The column is now set
to null by default.
Adjusted behavior of the del(subnet_id, addr) function in MySQL and
Postgres to delete multiple hosts having the same IPv4 or IPv6 address.
The MySQL schema had to be updated to use CASCADE action rather than
trigger to remove dependent options and IPv6 reservations.
Introduced new host API function which allows for configuring selected
backends to accept non-unique IP reservations for multiple hosts. Support
for it was added in MySQL, Postgres and Kea config file. It is not
supported in Cassandra. New migrations for MySQL and Postgres have been
created.