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

32228 Commits

Author SHA1 Message Date
Andrei Pavel
6db37ae63e
[#1675] kea-admin: KEA_ADMIN_DB_PASSWORD env var 2021-04-15 11:47:00 +03:00
Andrei Pavel
fc099c9b1a
[#1675] update kea-admin manual 2021-04-15 11:47:00 +03:00
Andrei Pavel
b0e7e20762
[#1675] add ChangeLog entry 2021-04-15 11:47:00 +03:00
Andrei Pavel
1a273c7f7b
[#1675] spelling: scheme -> schema 2021-04-15 11:47:00 +03:00
Andrei Pavel
e8caa1d0a1
[#1675] kea-admin: hide password in command line 2021-04-15 11:47:00 +03:00
Michal Nowikowski
59412cbb9c [#1808] added freeradius-client version for fedora 33 and other minor fixes 2021-04-15 10:28:04 +02:00
Thomas Markwalder
e6354ef4f8 [#1735] Additional review comments
More cosmetics, doxygen fixes.
2021-04-14 07:49:54 -04:00
Thomas Markwalder
3d7803b763 [#1735] Fixed a typo.
modified:
    ha_config_unittest.cc
2021-04-14 07:49:54 -04:00
Thomas Markwalder
b3872cb530 [#1735] Addressed review comments.
Cosmetics, typos etc...

modified:
    doc/sphinx/arm/hooks-ha.rst
    src/hooks/dhcp/high_availability/ha_config.h
    src/hooks/dhcp/high_availability/ha_messages.mes
    src/hooks/dhcp/high_availability/tests/ha_config_unittest.cc
    src/hooks/dhcp/high_availability/tests/ha_test.cc
    src/hooks/dhcp/high_availability/tests/ha_test.h
    src/lib/dhcpsrv/cfg_multi_threading.cc
2021-04-14 07:49:54 -04:00
Thomas Markwalder
a7ec7a26dd [#1735] Added preliminary HA+MT doc to ARM
doc/sphinx/arm/hooks-ha.rst
    Added an initial section for HA+MT configuration.
2021-04-14 07:49:54 -04:00
Thomas Markwalder
14e3b308cc [#1735] Added log messages to HA config parsing
Added INFO level log messages when HA+MT has been
    disabled due to incompatible core or system settings.

modified:
    ha_config.cc
    ha_messages.mes
    ha_messages.cc
    ha_messages.h
2021-04-14 07:49:54 -04:00
Thomas Markwalder
c47134972e [#1735] Rework HA+MT config validation
src/hooks/dhcp/high_availability/ha_config.*
    HAConfig::validate() - updates config based
    on DHCP MT config

src/hooks/dhcp/high_availability/ha_config_parser.cc
    Changed thread members to uint32_tt

src/hooks/dhcp/high_availability/tests/ha_config_unittest.cc
    TEST_F(HAConfigTest, multiThreadingPermutations) - new test

src/hooks/dhcp/high_availability/tests/ha_test.*
    HATest::setDHCPMultiThreadingConfig()
    HATest::makeHAMtJson()
2021-04-14 07:49:54 -04:00
Thomas Markwalder
c855ddfdc2 [#1735] Added HA+MT configuration support to HA hook lib
HA hook lib now parses a new top level map parameter:

    "multi-threading": {
        "enable-multi-threading": true,
        "http-dedicated-listener": true,
        "http-listener-threads": 4,
        "http-client-threads": 5"
    }"

but it does nothing with it yet.

src/hooks/dhcp/high_availability/ha_config.*
    HAConfig - added member attributes for MT config,
    getters & setters

src/hooks/dhcp/high_availability/ha_config_parser.cc
    Added HA_CONFIG_MT_DEFAULTS
    HAConfigParser::parseInternal() - parsers MT map
    of parameters

src/hooks/dhcp/high_availability/tests/ha_config_unittest.cc
    Updated tests.
    TEST_F(HAConfigTest, configureMultiThreading) - new test
2021-04-14 07:49:54 -04:00
Thomas Markwalder
22779396d3 [#1733] Addressed more comments
A few more cosmetic fixes.
2021-04-12 10:37:04 -04:00
Thomas Markwalder
feb7c199ab [#1733] Addressed review comments
Minor clean-up and typos.

src/hooks/dhcp/high_availability/ha_impl.cc
    HAImpl::leases4Committed()
    HAImpl::leases6Committed() - added try-catch to ensure
    we call dereference on error
2021-04-12 10:37:04 -04:00
Thomas Markwalder
8a41527d8a [#1733] Fixed HA unit test issue
src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc
    Set SO_REUSEADDR so back to back runs of HA unit tests do not fail.
2021-04-12 10:37:04 -04:00
Thomas Markwalder
02624543f0 [#1733] Replaced std::map with std::unordered_map in ParkingLot
modified:
src/lib/hooks/parking_lots.h
2021-04-12 10:37:04 -04:00
Thomas Markwalder
2bf7d39ee1 [#1733] kea-dhcp6 now proactively parks packets
src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::processDhcp6Query() - modified to proactively
    park packets.

src/hooks/dhcp/high_availability/ha_impl.cc
    HAImpl::leases4Committed()
    HAImpl::leases6Committed() - revised to reference before the
    call to asynSendLeases() and dereference if it returns 0.

src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc
src/hooks/dhcp/high_availability/tests/ha_impl_unittest.cc
src/hooks/dhcp/high_availability/tests/ha_service_unittest.cc
    Revised tests to park first as needed.

src/lib/hooks/parking_lots.h
    Fixed a typo in throw messages.
2021-04-12 10:37:04 -04:00
Thomas Markwalder
1cdf44974e [#1733] Revised parking lot rules
Reversed parking rules: now an object must be parked before
it can be referenced instead of the other way around.

src/bin/dhcp4/dhcp4_srv.cc
    Commentary clean up

src/hooks/dhcp/high_availability/ha_impl.cc
    HAImpl::leases4Committed() - modified to create the parking
    lot reference before calling asyncSendLeaseUpdates(), and
    remove it if the function returns 0 indicating no updates to
    wait upon.

src/lib/hooks/hooks_manager.h
    HooskManager::park() - revert addition of require_reference_ parameter.

src/lib/hooks/parking_lots.h
    A parked object can only be parked once.
    A reference may only be created (or removed) if the object has been parked.

    reference() and dereference() return the new reference count.

src/lib/hooks/tests/hooks_manager_unittest.cc
    Updated to tests to park first, reference, and then call callouts.

src/lib/hooks/tests/parking_lots_unittest.cc
    Modified tests to reflect new behavior.
2021-04-12 10:37:04 -04:00
Thomas Markwalder
e63033adbe [#1733] kea-dhcp4 now implements Core Packet Parking
Initial working implementation.

src/bin/dhcp4/dhcp4_srv.cc
    Dhcpv4Srv::processDhcp4Query() - reworked to
    proactively park the packet if lease4_commited callouts
    are installed.

src/lib/hooks/hooks_manager.h
    HooksManager::park() - added require_reference parameter

src/lib/hooks/parking_lots.h
    ParkingLot::park() - set refcount to zero, when added
    without pre-existing reference
2021-04-12 10:37:04 -04:00
Thomas Markwalder
f2ffdb5b68 [#1733] Parking lot enchancements
src/lib/hooks/parking_lots.h
    ParkingLot now stores objects in a map instead of list to eliminate
    sequential searches

    ParkingLotHandle::park() - now allows parking without a pre-existing
    reference

    ParkingLotHandle::deference() - new method that decrements parked
    object reference counts without invoking their callback

src/lib/hooks/tests/parking_lots_unittest.cc
    TEST(ParkingLotsTest, parkRequireReferenceTests)
    TEST(ParkingLotTest, dereference)
    TEST(ParkingLotTest, multipleObjects) - new tests
2021-04-12 10:37:04 -04:00
Francis Dupont
63dc38deae [#1515] Addressed known bugs 2021-04-09 16:32:06 +02:00
Thomas Markwalder
28652cc822 [#1732] Fixed a typo. 2021-04-08 08:59:48 -04:00
Thomas Markwalder
aa91e4250d [#1732] More formatting nits. 2021-04-08 08:59:48 -04:00
Thomas Markwalder
afdbbb3f0d [#1732] Addressed more review comments.
Mostly formatting and typos.

modified:
    src/lib/http/client.cc
    src/lib/http/tests/mt_client_unittests.cc
2021-04-08 08:59:48 -04:00
Thomas Markwalder
cb1e7b9ce3 [#1732] Addressed review comments
Largely cosmetic and minor code clean ups:

modified:
    src/lib/http/client.*
    src/lib/http/client.h
    src/lib/http/url.h
    src/lib/http/tests/mt_client_unittests.cc
2021-04-08 08:59:48 -04:00
Thomas Markwalder
948d709a8a [#1732] Removed TOMS_TRACE from client.cc
Removed my development debugging junk.

modified:
    src/lib/http/client.cc
2021-04-08 08:59:48 -04:00
Thomas Markwalder
111982f856 [#1732] Clean up for loops in test code.
modified:   mt_client_unittests.cc
2021-04-08 08:59:48 -04:00
Thomas Markwalder
ee4286fad5 [#1732] Fix sphinx doc build error
src/lib/http/http_messages.mes
    Changed "current_transid_" to "current_transid".
    Apparently the trailing underscore made it a
    RST target name.
2021-04-08 08:59:48 -04:00
Thomas Markwalder
9c7a1c51f6 [#1732] MT client tests include multiple listeners
src/lib/http/tests/mt_client_unittests.cc
    Revamped to test with multiple listeners.
2021-04-08 08:59:48 -04:00
Thomas Markwalder
5601d69a23 [#1732] Minor clean up
modified:
    src/lib/http/client.h
    src/lib/http/tests/mt_client_unittests.cc
2021-04-08 08:59:48 -04:00
Thomas Markwalder
2825e316a0 [#1732] Refactored internal HttpClient classes
src/lib/http/client.cc
    Refactored, connections and request queue are now managed together
    as part of a URL destination.

src/lib/http/url.cc
    Url::operator<(const Url& url) - compares original
    unparsed string rather then reconstructing a new string for
    both operands every time
2021-04-08 08:59:48 -04:00
Thomas Markwalder
804e98ca4b [#1732] HttpClient ST/MT modes fully function with unit tests
HttpClient now supports both single and multi threaded modes.
MT mode is not currently used anywhere other than unit tests.

src/lib/http/client.*
    Added commentary, spell-check, cleanup

src/lib/http/http_log.h
    removed TOMS_TRACE_LOG

src/lib/http/tests/mt_client_unittests.cc
    Expanded testing
    Clean up
2021-04-08 08:59:48 -04:00
jenkins
cf4671f50c [#1732] Changes after rebasing and TSAN run
src/lib/http/http_messages.h modified: src/lib/http/tests/mt_client_unittests.cc
	- fixed read/write TSAN error
2021-04-08 08:59:48 -04:00
jenkins
e8053821d6 [#1732] Prelimnary commit of MT client changes
src/lib/http/client.cc
    int getSocketFd() - new function for logging purposes only

    ConnectionList - new class to store a lists of connections
    for a given url

    ConnectionPool - modified support multiple connections per url

    HttpClientImpl - supports ST and MT mode, for the latter it
    manages a thread pool driven by a private IOService instance

    HttpClient::HttpClient - sanity checks MT use
    HttpClient::~HttpClient - invokes stop() method

    src/lib/http/http_messages.mes
        new log messeage HTTP_CLIENT_MT_STARTED

src/lib/http/tests/mt_client_unittests.cc
    - new file of unit tests for MT HttpClient operation
2021-04-08 08:59:48 -04:00
Andrei Pavel
3fa9020960 [#1787] updates to the release checklist 2021-04-02 09:54:03 +00:00
Andrei Pavel
c96cbaf5d4 [#1788] remove "-git" from the version in the ARM 2021-04-02 09:47:17 +00:00
Andrei Pavel
27c565feb3 [#1785] FreeBSD mentions in platforms.rst
and add EOL dates for unsupported distributions
2021-04-02 09:38:40 +00:00
Francis Dupont
9313bca840 [#1779] Added ChangeLog entry 2021-04-01 14:28:28 +02:00
Francis Dupont
9b245adf8d [#1779] Added a text for handshake failure 2021-04-01 14:25:23 +02:00
Andrei Pavel
3e9a729fc2
[#1789] fix doxygen errors 2021-03-31 21:12:16 +03:00
Andrei Pavel
e09fb43898
[#1789] update Doxyfile 2021-03-31 21:11:58 +03:00
Andrei Pavel
6cd7520719
[#1786] this is the start of development for 1.9.7 2021-03-31 20:05:29 +03:00
Andrei Pavel
3da9560590
[#1772] respect ChangeLog line limit Kea-1.9.6 2021-03-29 23:27:17 +03:00
Andrei Pavel
2b94e13c68
[#1772] respect ChangeLog line limit 2021-03-29 23:24:23 +03:00
Andrei Pavel
f2cb619b63 [#1772] update URLs to AWS Jenkins in checklist 2021-03-29 20:01:28 +00:00
Andrei Pavel
d923d7b512 [#1772] update platforms.rst 2021-03-29 20:00:35 +00:00
Andrei Pavel
8a136d92b3
[#1772] bump library versions 2021-03-29 22:59:17 +03:00
Andrei Pavel
fa335d1dd3
[#1772] fix tools/bump-lib-versions.sh 2021-03-29 22:58:55 +03:00
Andrei Pavel
1f533cdec2
[#1772] regenerate parsers 2021-03-29 21:53:47 +03:00