2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 21:45:37 +00:00
Commit Graph

32859 Commits

Author SHA1 Message Date
Thomas Markwalder
4d19c8bc43 [#1736] Initial commit with HA+MT integration
HA+MT fully integrated and functional.

src/hooks/dhcp/high_availability/ha_service.*
    HAService - changed client_ from instance to pointer
              - added listener_

    HAService::startClientAndListener()  - new method which
    instantiates client_ and listener_ instances based on config,
    and starts them

    HAService::stopClientAndListener()  - new method that stops
    client_ and listener_ instances.

    HAService::HAService() - invokes startClientAndListener()

    HAService::~HAService()  - invokes stopClientAndListener()

src/hooks/dhcp/high_availability/tests/Makefile.am
    Added ha_mt_unittest.c

src/hooks/dhcp/high_availability/tests/ha_mt_unittest.cc
    New file with HA+MT related tests

src/hooks/dhcp/high_availability/tests/ha_service_unittest.cc
    Modified tests to ensure use of ST HAService

src/lib/config/cmd_http_listener.h
    Added CmdHttpListener commentary
2021-04-23 08:54:31 -04:00
Michal Nowikowski
470e8f00dd addressed review issues 2021-04-23 12:52:09 +02:00
Michal Nowikowski
165412276c [#1822] updated release checklist template 2021-04-23 12:03:58 +02:00
Francis Dupont
0618273804 [#1706] Fixed rebase typo 2021-04-21 00:04:07 +02:00
Francis Dupont
4dfd0f3cad [#1706] Updated init order 2021-04-20 23:27:42 +02:00
Francis Dupont
a208db5be5 [#1706] Made TLS context public 2021-04-20 23:27:42 +02:00
Francis Dupont
3b57bf0101 [#1706] Added s to Return 2021-04-20 23:27:42 +02:00
Francis Dupont
e68c881b02 [#1706] Added negative unit tests 2021-04-20 23:26:27 +02:00
Francis Dupont
bb7e23b000 [#1706] Added doc 2021-04-20 23:26:27 +02:00
Francis Dupont
87d99d829a [#1706] Checkpoint: code and UT done - todo doc 2021-04-20 23:26:27 +02:00
Francis Dupont
4dcbc1d2fb [#1706] Checkpoint: todo put in peer config, add UTs 2021-04-20 23:24:57 +02:00
Francis Dupont
0d15b49c77 [#1706] Checkpoint: syntax updated - need UTs? 2021-04-20 23:24:57 +02:00
Andrei Pavel
42f0ce49c0 [#1814] hammer: cwd=tmp to solve permission denied 2021-04-20 13:06:24 +03:00
Andrei Pavel
6d1341ebc0 [#1814] hammer: cwd=tmp to solve permission denied 2021-04-20 12:53:54 +03:00
Andrei Pavel
dc575c84f3 [#1804] add include paths for ext library
fixes distcheck on CentOS 7
2021-04-20 11:04:56 +03:00
Andrei Pavel
8fb1ea327b [#1814] hammer: get pg_hba location automatically 2021-04-20 09:04:42 +03:00
Michal Nowikowski
d69541dacb [#1813] hammer: add freeradius-client version for ubuntu 20.10 2021-04-19 16:02:31 +02:00
Andrei Pavel
24bb5dc365 [#1811] hammer.py: set timezone in postgres 2021-04-19 15:41:40 +03:00
Andrei Pavel
a15bb66e94 [#1811] hammer.py: set timezone in postgres 2021-04-19 12:42:30 +03:00
Andrei Pavel
71c35e2fb8 [#1811] hammer.py: postgres read only setup 2021-04-19 11:38:26 +03:00
Francis Dupont
e05116f35d [#1632] Wrapped ChangeLog entry 2021-04-16 20:58:49 +02:00
Andrei Pavel
bf72072c38 [#1632] add ChangeLog entry 2021-04-16 20:57:42 +02:00
Andrei Pavel
e545ae30fe [#1632] add ChangeLog entry 2021-04-16 20:57:08 +02:00
Francis Dupont
fa0614c73e [#1632] Updated version dependent stuff 2021-04-16 20:56:08 +02:00
Francis Dupont
3e43932edb [#1632] Added a comment about the tab: tired to restore it 2021-04-16 20:56:08 +02:00
Francis Dupont
d2135cf4a4 [#1632] Fixed two nits 2021-04-16 20:56:08 +02:00
Andrei Pavel
edf0375af7 [#1632] use literal in AC_CHECK_HEADERS 2021-04-16 20:56:08 +02:00
Andrei Pavel
a5d388b186 [#1632] edits after autoupdate 2021-04-16 20:56:08 +02:00
Andrei Pavel
630c35d97e [#1632] autoupdate 2021-04-16 20:56:08 +02:00
Tomek Mrugalski
4ed7cf6d79 [#1759] Changelog updated 2021-04-15 12:44:04 +02:00
Tomek Mrugalski
84de545eda [#1759] Clarification about systemd and keactrl 2021-04-15 09:35:59 +00:00
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