2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 13:07:50 +00:00

181 Commits

Author SHA1 Message Date
Marcin Siodelski
fc906c3aa8 [#53,!125] Use MYSQL_TYPE_STRING instead of MYSQL_TYPE_VARCHAR.
The latter causes 'buffer type not supported' errors on OpenSUSE and
perhaps some other systems running MariaDB.
2018-11-21 14:18:48 -05:00
Marcin Siodelski
8300f8c92a [#92,!13] Moved MySqlConnection class to libkea-mysql library. 2018-09-03 03:31:33 -04:00
Marcin Siodelski
012a97a87c [#92,!13] Refactored libkea-dhcpsrv to use libkea-database 2018-09-03 03:31:33 -04:00
Thomas Markwalder
872e5458d4 [master] Fixed broken log message in MySQL lease manager
src/lib/dhcpsrv/mysql_lease_mgr.cc
    Added missing argument for DHCPSRV_MYSQL_GET_DUID message
2018-08-16 06:52:59 -04:00
mayya
a121466e05 [optimize_query] Add new index for query by DUID
Fixes #98
2018-08-13 20:18:04 +02:00
mayya
fd2a08f42d minor fixes 2018-08-13 20:16:33 +02:00
Tomek Mrugalski
64b3502642 [gitlab9] Imported relevant bits from github99
- Covers changes up to 4358737d43ee1b6c8618a1a8aa3cc7273634ed48,
   but without unnecessary things.
2018-08-13 20:16:33 +02:00
Tomek Mrugalski
e29aab3c38 [5682] addLease() parameter is const again 2018-07-30 19:05:19 +02:00
Tomek Mrugalski
e550a2fa6b [5682] Removed const from addLease for other lease backends. 2018-07-30 19:03:18 +02:00
Tomek Mrugalski
5db1f8ff5f [github88] Removed remaining instances of getLeases6(DUID) 2018-07-23 16:04:30 +02:00
mayya
2ff46b2dd5 [extend_host_struct] Fix review comments 2018-07-23 13:40:31 +02:00
mayya
2090af48c1 [lib] Extend host structure to support auth keys for reconfiguration.
See issue #83
2018-07-23 13:31:03 +02:00
Marcin Siodelski
b056828212 [master] Merge branch 'trac5651'
# Conflicts:
#	doc/guide/hooks.xml
#	src/lib/dhcpsrv/cql_lease_mgr.cc
2018-07-09 14:37:16 +02:00
Marcin Siodelski
ed42dddca9 [5651] Removed unused SQL/CQL queries. 2018-06-28 16:50:07 +02:00
Marcin Siodelski
1911064d76 [5651] Removed lease queries by ranges and total lease count. 2018-06-28 14:02:32 +02:00
Marcin Siodelski
74e13e92fe [5651] Guard against invalid address family. 2018-06-26 14:49:36 +02:00
Marcin Siodelski
25595be427 [5651] Implemented fetching IPv6 leases by address ranges.
Except Cassandra.
2018-06-26 13:53:01 +02:00
Marcin Siodelski
99da64ffd5 [5651] Implemented fetching IPv6 leases with paging. 2018-06-26 10:27:07 +02:00
Marcin Siodelski
122bb75a7a [5651] Implemented LeaseMgr methods retrieving ranges/pages of IPv4 leases. 2018-06-25 21:47:20 +02:00
Francis Dupont
fe5098fdb3 [5584] Checkpoint: updated schema, code and partially tests 2018-06-21 11:15:48 +02:00
Thomas Markwalder
3a4e989317 [5629] MySQL and PostgreSQL host backends now verify schema version
src/lib/dhcpsrv/mysql_host_data_source.cc
    MySqlHostDataSourceImpl::getVersion() - new function to
    fetch version accessible to impl constructor

    MySqlHostDataSourceImpl() - added schema validation after
    connecting

    MySqlHostDataSource::getVersion() - new uses impl method

src/lib/dhcpsrv/pgsql_host_data_source.cc
    PgSqlHostDataSourceImpl()) - added schema validation after
    connecting

    PgSqlHostDataSourceImpl::getVersion() - no longer uses
    pre-prepared statement
2018-05-31 11:51:19 -04:00
Thomas Markwalder
7614eb8d2b [5629] MySQL Lease back end now validates schema after connecting
src/lib/dhcpsrv/mysql_lease_mgr.*
    MySqlLeaseMgr::MySqlLeaseMgr() - now validates schema
    after connecting

    MySqlLeaseMgr::getVersion()  - no longer relies on
    pre-prepared statement or formal statement execution
    error handling

src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.cc
    LeaseMgrDbLostCallbackTest::testDbLostCallback() - replaced
    use of getVersion() with getLease4() for testing DB usability
2018-05-31 09:41:46 -04:00
Marcin Siodelski
3ade7065e0 [5586] Corrected some little typos as a result of review. 2018-05-07 16:13:00 +02:00
Thomas Markwalder
a662ab45d9 [5586] MySQL shared leases stats implemented
src/share/database/scripts/mysql/dhcpdb_create.mysql
    src/share/database/scripts/mysql/dhcpdb_drop.mysql
    src/share/database/scripts/mysql/upgrade_5.2_to_6.0.sh.in
        Added MySQL v4/6 stat tables and triggers

    src/lib/dhcpsrv/memfile_lease_mgr.cc
        Suppress output of of rows with count values of 0

    src/lib/dhcpsrv/mysql_lease_mgr.*
        Added v4/v6 lease stat SQL statements

        MySqlLeaseStatsQuery
        - Added ctor variants that accomodate selection criteria
        - Modified start() to handle three variants of selection

        MySqlLeaseMgr
        - Added start***Query4/6 variants

    src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
        Added tests:
        - TEST_F(MySqlLeaseMgrTest, leaseStatsQuery4)
        - TEST_F(MySqlLeaseMgrTest, leaseStatsQuery6)
2018-05-02 13:36:02 -04:00
Thomas Markwalder
f09bf17e2e [5556a] MySQL lease and host backends now support configurable auto-reconnect
src/lib/dhcpsrv/mysql_connection.h
        MySqlConnection::checkError<>() - modified to invoke
        db lost callback

    src/lib/dhcpsrv/dhcpsrv_messages.mes
        Updated log messages

    src/lib/dhcpsrv/mysql_lease_mgr.cc
        MySqlLeaseMgr::getVersion() - updated to use checkError()

    src/lib/dhcpsrv/pgsql_connection.*
        PgSqlResult::PgSqlResult(PGresult *result) - now supports
        construction with null PGresult. This is to accomodate rare
        cases when PQ* statements can return NULL.

    src/lib/dhcpsrv/tests/generic_lease_mgr_unittest.*
        class LeaseMgrDbLostCallbackTest - new test fixture for
        testing LeaseMgr DBLostCallback behavior

    src/lib/dhcpsrv/tests/host_mgr_unittest.cc
        class HostMgrDbLostCallbackTest
        class MySQLHostMgrDbLostCallbackTest
        class PostgreSQLHostMgrDbLostCallbackTest
        - new test fixtures for testing HostMgr DBLostCallback behavior

    src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc
        class MySQLLeaseMgrDbLostCallbackTest - new test fixture for
        testing MySQL LeaseMgr DBLostCallback behavior

    src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
        class PgSqlLeaseMgrDbLostCallbackTest - new test fixture for
        testing Postgresql LeaseMgr DBLostCallback behavior

    src/lib/dhcpsrv/tests/test_utils.*
        int findLastSocketFd() - new function used for finding what
        should be the fd of the SQL client socket

    doc/guide/dhcp4-srv.xml
    doc/guide/dhcp6-srv.xml
        Updated lease and host database parameter sections
2018-04-06 15:16:24 -04:00
Francis Dupont
a0bb7188df [master] Finishing merge of trac5469 (lease6-get-all) 2018-03-31 16:49:15 +02:00
Francis Dupont
d6a49e1f2f Checkpoint: addressed final comment but not yet tested 2018-03-16 14:42:24 +01:00
Razvan Becheriu
60b7ca2bd7 minor changes 2018-02-19 20:50:14 +02:00
Razvan Becheriu
89f9332e68 minor changes 2018-02-19 19:28:03 +02:00
Razvan Becheriu
e9e8389d45 enabled more tests, implemented hwaddr, hwtype and hwaddr_source in pgsql 2018-02-19 16:14:38 +02:00
Razvan Becheriu
761f2823a1 minor changes 2018-02-15 10:41:47 +02:00
Razvan Becheriu
e409c164a6 added missing tables, columns and values in cql schema, ordered declarations and definitions in lease and host managers 2018-02-13 18:28:40 +02:00
Francis Dupont
e0abc5ac7c [5469] Moved to composite index in C++ code too 2018-01-17 19:28:57 +01:00
Francis Dupont
cfe529dff1 [5469] checkpoint (copied with 4 -> 6) 2018-01-13 00:24:41 +01:00
Francis Dupont
369ff55081 [5468] A few trivial fixes 2018-01-12 06:11:04 +01:00
Marcin Siodelski
2732257202 [5468] Implemented getting leases by subnet id and all leases.
This change affects Memfile, MySQL and Postgres backend. These functions
aren't implemented for CQL at this time.
2018-01-09 14:49:14 +01:00
Tomek Mrugalski
574356fa9e [5280] leaseWipe4,6 implemented in lease managers (base and memfile) 2017-08-07 18:25:27 +02:00
Wlodek Wencel
9e3ca83d07 [v_1_2_0] copy right dates updated 2017-04-12 15:47:26 +02:00
Andrei Pavel
9082500187 Corrected typos 2016-12-14 16:57:44 +02:00
Marcin Siodelski
8cce1aa713 [5009] Implemented get6(subnet_id, address) function for SQL backends.
Also removed uint32_t cast operator from IOAddress to remove
ambiguity when calling this new function.
2016-09-20 09:29:06 +02:00
Marcin Siodelski
97ae6373fb [3161] Explicitly initialize uninitialized variables.
Reported by cpp-check.
2016-09-13 15:07:57 +02:00
Thomas Markwalder
bb040d046a [master] Fixed doxygen errors introduced by 4294.
modified:   src/lib/dhcpsrv/mysql_lease_mgr.cc
modified:   src/lib/dhcpsrv/pgsql_lease_mgr.cc
2016-08-25 13:37:46 -04:00
Thomas Markwalder
0abdcf15f8 [master] kea-dhcp4 and kea-dhcp6 now recalculate lease stats after reconfigure
Merges in trac4294
2016-08-25 11:42:54 -04:00
Thomas Markwalder
569b5a87dc [4294] Minor clean ups 2016-08-24 10:40:34 -04:00
Thomas Markwalder
0833798a33 [4294] Refactored MySql stats classes
src/lib/dhcpsrv/mysql_lease_mgr.h
src/lib/dhcpsrv/mysql_lease_mgr.cc
    Replaced this class heirarchy:
        AddressStatsQuery4 <-- MySqlAddressStatsQuery4
        AddressStatsQuery6 <-- MySqlAddressStatsQuery6

    With this one:
        LeaseStatsQuery <-- MySqlLeaseStatsQuery
2016-08-24 08:50:47 -04:00
Thomas Markwalder
86411b64ad [4294] Reverted Lease states back to uin32_t per review comments
I had replaced the uint32_t constants for lease states with an enum.
Tomek stated that they should remain uin32_t as they may eventually be bitmasks.
2016-08-23 14:16:46 -04:00
Thomas Markwalder
d619d5e38b [4294] More clean up 2016-08-17 09:48:32 -04:00
Marcin Siodelski
4a8efcb45a [4489] Addressed review comments.
The only review item not addressed with this commit is the
implementation of unit test that operates on the read only
database, i.e. the database containing tables on which the
given user only has SELECT privileges.
2016-08-17 11:22:24 +02:00
Thomas Markwalder
45d4cdc689 [4294] Minor cleanup 2016-08-16 15:23:33 -04:00
Thomas Markwalder
efbf437f6d [4294] PostgreSQL now supports IPv6 lease stats recounting
src/lib/dhcpsrv/pgsql_lease_mgr.h
src/lib/dhcpsrv/pgsql_lease_mgr.cc
    - Added TaggedStatement RECOUNT_LEASE6_STATS
    - PgSqlAddressStatsQuery6 - new class PgSql derivation of the IPv6
    statistical lease data query
    - PgSqlLeaseMgr::startAddressStatsQuery6() - new virtual method which
    creates and runs the IPv6 lease stats query

src/lib/dhcpsrv/tests/pgsql_lease_mgr_unittest.cc
    TEST_F(PgSqlLeaseMgrTest, recountAddressStats6) - new test
2016-08-16 12:01:21 -04:00