doc/guide/admin.xml
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/lease_file_loader.h
minor clean up, typos
src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
removed unnecessary use of scoped_ptr
src/lib/util/csv_file.cc
CSVRow::trim() - replaced use of std::vector<>::erase with resise
src/lib/util/versioned_csv_file.h
src/lib/util/versioned_csv_file.cc
VersionedCSVFile::next() - reorganized to use input_schema_state_
VersionedCSVFile::columnCountError() - new convenience method
minor cleanups
[4095] Implemented new classes for storing client class definitions
src/lib/dhcpsrv/client_class_def.cc
src/lib/dhcpsrv/client_class_def.h
src/lib/dhcpsrv/tests/client_class_def_unittest.cc
New files that define client class storage classes and tests
src/lib/dhcp/classify.h
Amended commentary to reflect how these classes are now being used.
[3601] Addressed review comments, added ability to downgrade
Several minor cleanup items based on review comments. Implemented
support for downgrading files from newer schema versions:
doc/guide/admin.xml
amended text on upgrading memfile to discuss downgrading
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/lease_file_loader.h
revamped log messages to accomodate downgrading
src/lib/dhcpsrv/memfile_lease_mgr.cc
src/lib/dhcpsrv/memfile_lease_mgr.h
added commentary to MemfileLeaseMgr ctor
automatic conversion logic accomdates both upgrading and downgrading
src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
replaced tooManyHeaderColumns test with downGrade test
src/lib/util/tests/csv_file_unittest.cc
added CSVRow.trim test
src/lib/util/tests/versioned_csv_file_unittest.cc
added VersionedCSVFileTest.currentSchemaTest test
replaced tooManyHeaderColumns test with downGrading test
revamped tests to check getInputSchemaState() and needsConversion()
src/lib/util/versioned_csv_file.h
Updated commentary to describe downgrade support
next(CSVRow& row) - now supports downgrading rows
validateHeder() - now throws if called when no schema has been defined,
and supports downgrading rows
Stephen Morris [Mon, 9 Nov 2015 12:41:52 +0000 (12:41 +0000)]
[3259] Changes after review
1. Updated Kea guide to note that removing the hooks-libraries
configuration element does not always have the expected effect.
2. Moved some documentation from the dhcp_parsers.cc file to the .h file.
3. Expanded checking of the contents of the hooks-libraries configuration
element.
src/lib/dhcpsrv/tests/memfile_lease_mgr_unittest.cc
Added two new unit tests to verify lease file upgrade
via automatic LFC invocation:
TEST_F(MemfileLeaseMgrTest, leaseUpgrade4)
TEST_F(MemfileLeaseMgrTest, leaseUpgrade6)
[3601] Memfile_LeaseMgr now runs LFC automatically if lease files need upgrading
Memfile_LeaseMgr loads the lease files during instantiation. If it detects
that any of the files loaded are out of date, it will invoke LFC directly,
whether or not LFC is enabled.
src/lib/dhcpsrv/dhcpsrv_messages.mes
added two new log messages:
DHCPRSV_MEMFILE_UPGRADING_LEASE_FILES
DHCPSRV_MEMFILE_NEEDS_UPGRADING
src/lib/dhcpsrv/lease_file_loader.h
LeaseFileLoader::load() - emits DHCPSRV_MEMFILE_NEEDS_UPGRADING log
when an out of date file is detected
src/lib/dhcpsrv/memfile_lease_mgr.cc
LFCSetup::setup() - added run_once_now parameter, which causes the
method to invoke the LFC callback immediately, regardless of the value
of LFC interval.
Memfile_LeaseMgr::Memfile_LeaseMgr() - added logic to track if
files loaded need upgrading and pass that into lfcSetup()
Memfile_LeaseMgr::loadLeasesFromFiles() - change to return a boolean
true if any of the files loaded need upgrading.
Memfile_LeaseMgr::lfcSetup() - added upgrade_needed parameter, which
is passed through to LFCSetup::setup() as "run_once_now"
[3601] CSVLeaseFile4 and CSVLeaseFile6 now derive from VersionedCSVFile
src/lib/dhcpsrv/csv_lease_file4.h
src/lib/dhcpsrv/csv_lease_file4.cc
- CSVLeaseFile4 now derives from VersionedCSVFile
- initializes schema metadata not just column names
- uses VersionedCSVFile methods rather than CSVFile methods
src/lib/dhcpsrv/csv_lease_file6.h
src/lib/dhcpsrv/csv_lease_file6.cc
- CSVLeaseFile6 now derives from VersionedCSVFile
- initializes schema metadata not just column names
- uses VersionedCSVFile methods rather than CSVFile methods
src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
- Added new unit tests:
TEST_F(CSVLeaseFile4Test, mixedSchemaload)
TEST_F(CSVLeaseFile4Test, tooFewHeaderColumns)
TEST_F(CSVLeaseFile4Test, invalidHeaderColumn)
TEST_F(CSVLeaseFile4Test, tooManyHeaderColumns)
src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
- Added new unit tests:
TEST_F(CSVLeaseFile6Test, mixedSchemaLoad)
TEST_F(CSVLeaseFile6Test, tooFewHeaderColumns)
TEST_F(CSVLeaseFile6Test, invalidHeaderColumn)
TEST_F(CSVLeaseFile6Test, tooManyHeaderColumns)
src/lib/util/versioned_csv_file.h
src/lib/util/versioned_csv_file.cc
New files which implement VersionedCSVFile, CSV file which can
support mulitple schema versions
src/lib/util/tests/versioned_csv_file_unittest.h
src/lib/util/tests/versioned_csv_file_unittest.cc
new files for Unit tests for VersionedCSVFile
src/lib/util/Makefile.am
added new files
src/lib/util/csv_file.cc
includes read error message if header fails to validate
src/lib/util/csv_file.h
removed @todo for 3626, no longer applicable