2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

Cassandra update

Replaced unrecommended backticks with $() in cql_version() in bash scripts.

*_execute() and *_execute_script() functions from src/bin/admin/admin-utils.sh now pass the parameters to the underlying backend binary whenever they are given rather than when there are 2 or more.

Corrected cql_version() return error in src/bin/admin/admin-utils.sh.

Removed redundant "USE" from cql_init() in src/bin/admin/kea-admin.in.

Inserted a newline in src/bin/admin/tests/Makefile.am to separate unrelated targets.

Style changes in cql_*_test() functions in src/bin/admin/tests/cql_tests.sh.in.

src/bin/admin/tests/dhcpdb_create_1.0.cql:
    "perfromance" typo
    Added comment headers
    Added index on expire since it is used in WHERE clauses (further performance testing may be required)
    Removed dhcp4_options and dhcp6_options table since they are not required for Cassandra

Added DROP INDEX in src/share/database/scripts/cql/dhcpdb_drop.cql.

Added sql_common.h
Added cql_exchange.h and cql_exchange.cc which mediate communication with Cassandra.
Added cql_lease_mgr.h and cql_lease_mgr.cc

Parameterized reconnect-wait-time, connect-timeout, request-timeout, tcp-keepalive, tcp-nodelay for Cassandra in kea.conf. Changes are in src/lib/dhcpsrv/cql_connection.cc and src/lib/dhcpsrv/parsers/dbaccess_parser.cc.

Reformated x != NULL into !x as specified in the Kea style guidelines

src/lib/dhcpsrv/cql_connection.cc:
    Added range check for port
    Added CqlConnection:setConsistency
    Added CqlConnection::startTransaction  which is a noop
    Added CqlTransaction method implementations.
    Corrected ending brace of namespace declaration, it doesn't need semicolon.

src/lib/dhcpsrv/cql_connection.h:
    Added explicit on CqlConnection constructor. Unlikely that this class will ever be derived, but it's good practice.
    Changed some comments.
    Added CqlTransaction class definition.

src/lib/dhcpsrv/cql_lease_mgr.cc:
    Formatted the entire code.
    Changed data types to cass_ types.

Added some log messages.

Moved structs, enums and typedefs from src/lib/dhcpsrv/lease_mgr.h to src/lib/dhcpsrv/sql_common.h

Added some missing tests in src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc
This commit is contained in:
Andrei Pavel
2016-12-14 14:47:57 +02:00
parent 50fd79039d
commit e76630c4f3

View File

@@ -131,7 +131,8 @@ Kea uses log4cplus (http://sourceforge.net/projects/log4cplus/) for logging,
Boost (http://www.boost.org/) library for almost everything, and can use Botan
(http://botan.randombit.net/) or OpenSSL (https://www.openssl.org/) for
cryptographic operations. It can also optionally use PostgreSQL
(http://www.postgresql.org/) and/or MySQL (http://www.mysql.com/) as a database.
(http://www.postgresql.org/) and/or MySQL (http://www.mysql.com/) and/or
Cassandra (http://cassandra.apache.org/) as a database.
Kea can use googletest for unit-tests (http://code.google.com/p/googletest/).