Changes between Version 10 and Version 11 of KeaReleaseNotes140


Ignore:
Timestamp:
Jun 15, 2018, 2:47:39 PM (9 months ago)
Author:
wlodekwencel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • KeaReleaseNotes140

    v10 v11  
    221221        (Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2e23)
    222222
     223
     224The following summarizes changes and important upgrade notes since the previous release (1.3.0).
     225
     226
     2271404.   [doc]           tomek
     228        Hooks package installation intruction added to Kea
     229        User's Guide.
     230        (Trac #5427, git 7bc5e4297e8b2ccb87d5d5d79ae066fe32964841)
     231
     2321403.   [build]         tomek
     233        Support for hook packages has been updated. The --with-tierX
     234        flags have been removed. Each hook library is now detected
     235        independently.
     236        (Trac #5619, git aa1f95d699dc664a5660db120ef71edee910a9b3)
     237
     2381402.   [bug]           tomek
     239        Fixed a crash that was caused by hook library registering
     240        new hook points. This fixes unit-tests with forensic
     241        logging, but the problem was generic and could cause
     242        other libraries to segfault during unloading or reconfiguration.
     243        (Trac #5577, git 2f9d1aa95c16e12fabc50d581b966f20b6d8a950)
     244
     2451401.   [bug]           tmark
     246        Corrected an issue which caused kea-dhcp4 and kea-dhcp6 servers
     247        to unload their hooks libraries upon receipt of the first client
     248        message following a dynamic reconfigure.
     249        (Trac #5564, git 5111f569bd251c2a98a2e6d958e8f6b640a1802d)
     250
     2511400.   [func]          tmark
     252        A new hooks library, Stat Cmds, has been added to the open source
     253        distribution.  This library provides commands for fetching lease
     254        allocation statistics using lease backend as the source for
     255        lease counts per state.  This resolves an issue in deployments,
     256        where multiple Kea servers share a common lease backend, which made
     257        it difficult to obtain accurate lease statistics.
     258        (Trac #5589, git 36f20f1c8b28f629fe2896b817ac0f3c6026fe0e)
     259
     2601399.   [func]          tmark
     261        Support for fetching lease allocation statistics by subnet-id
     262        or subnet-id range has been added to the Cassandra back end. This
     263        allows it to be used in conjunction with the Stat Cmds hooks
     264        library commands for fetching shared lease statistics.
     265        (Trac #5588, git 3fcfefdea5ac838936c2109ecbbbc32eabc8fdba)
     266
     2671398.   [bug]           fdupont
     268        Fixed bug in configurations where "outbound-interface" parameter
     269        was set to "use-routing", which in some cases would reset outbound
     270        interface index to a negative value and cause the server to fail
     271        to respond to the clients.
     272        (Trac #5515, git 9d8d00f1f127ee606f09f7ff6006f0d142aac976)
     273
     2741397.   [bug]           marcin
     275        A bug in http client library was fixed. The IPv6 address specified
     276        in brackets is now supported properly.
     277        (Trac #5620, git fe38c4368853e47bc993d6c3844cdddba5effde5)
     278
     2791396.   [bug]           tmark
     280        The PostgreSQL schema was expanded to include two new tables:
     281        lease4-stat and lease6-stat and triggers to update them as leases
     282        are modified. This resolves an issue in deployments, where multiple
     283        Kea servers share a common PostgreSQL lease database, which made
     284        it difficult to obtain accurate lease statistics. Since these statistics
     285        are now tracked by the database, they do not have to be recalculated at
     286        startup or following reconfiguration. This may result in less
     287        processing overhead during these events. The new statistics will be
     288        accessible via a new Hooks library, being developed for Kea 1.4
     289        under #5589.
     290        (Trac #5587, git 36a0160de0df7789eea224954717be05c08638b7)
     291
     2921395.   [bug]           tmark
     293        The MySQL schema was expanded to include two new tables:
     294        lease4-stat and lease6-stat and triggers to update them as leases
     295        are modified. This resolves an issue in deployments, where multiple
     296        Kea servers share a common MySQL lease database, which made it difficult
     297        to obtain accurate lease statistics. Since these statistics are now
     298        tracked by the database, they do not have to be recalculated at startup
     299        or following reconfiguration. This may result in less processing overhead
     300        during these events. The new statistics will be accessible via a new Hooks
     301        library, being developed for Kea 1.4 under #5589.
     302        (Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97ff5)
     303
     3041394.   [doc]           marcin
     305        Documented High Availability hook library in the Kea
     306        Administrator Reference Manual.
     307        (Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6562)
     308
     3091393.   [build]         marcin
     310        Install new header files introduced since Kea 1.3 release.
     311        Also, bumped up libraries version numbers for Kea 1.4 beta
     312        release.
     313        (Trac #5590, git 64351229a30832735c5a81ac17ca1521aa2483b2)
     314
     3151392.   [func]          fdupont, marcin
     316        Implemented new hook point "leases6_committed" in the DHCPv6
     317        server. It supports new next step status NEXT_STEP_PARK
     318        which causes the server to "park" the client's DHCP packet.
     319        (Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05ae8)
     320
     3211391.   [func]          tmark
     322        For both kea-dhcp4 and kea-dhcp6, the "ip-address" parameter
     323        in the "relay" element for both subnets and shared networks,
     324        has been replaced with a list form, "ip-addresses".  Configuration
     325        parsing will continue to honor the singular form, but it should
     326        be considered deprecated.  In addition, an omission in 1.3 that
     327        caused shared network parsing to ignore the "relay' element has
     328        been corrected.
     329        (Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d171)
     330
     3311390.   [doc]           tomek
     332        User's Guide documentation for RADIUS and Host Cache written.
     333        (Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79acbb)
     334
     3351389.   [func]          fdupont
     336        dhcp6_srv_configured hook point added.
     337        (Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0f83)
     338
     3391388.   [build]         tmark
     340        Modified configure script to support --with-dhcp-mysql and
     341        --with-dhcp-pgsql but emit a deprecation warning message
     342        encouraging their replacement with --with-mysql and --with-pgsql.
     343        (Trac #5567, git 53761069761ddde44636baa30185322debfe4186)
     344
     3451387.   [func]          tmark
     346        perfdhcp no longer requires -r (rate) be specified in order to use
     347        -D<max-drop>, -n<num-request>, -p<test-period> and -t<report> options.
     348        (Trac #5115, git c3ba89c56882cac1080899ad201f0c02056eef38)
     349
     3501386.   [func]          fdupont
     351        Extended comment / user-context support to DHCP-DDNS and
     352        Control Agent configuration syntax.
     353        (Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a8508b8)
     354
     3551385.   [func]          tomek
     356        lease4-wipe and lease6-wipe are now able to wipe all leases
     357        from all configured subnets if subnet-id specified is 0
     358        or the subnet-id parameter is omitted.
     359        (Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e63566d)
     360
     3611384.   [func]          fdupont
     362        Significant improvements to client classification introduced.
     363        The order of classes evaluation has changed from alphabetical
     364        to the order of appearance. New 'member' expression allows
     365        combination of classes. The new 'only-if-required' and
     366        'require-client-class' parameters controlling the scope of
     367        a class have been introduced.
     368        (Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea8841fe)
     369
     3701383.   [func]          tmark
     371        kea-dhcp4 and kea-dhcp6 can now be configured to attempt to
     372        reconnect to MySQL backends if connectivity is lost.
     373        (Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b4823f2)
     374
     3751382.   [func]          fdupont
     376        Added support for generalized UDP Source Port for DHCP Relay
     377        (RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. Note
     378        this required changes to the inter-server protocol used by
     379        our 4o6 implementation, and is therefore not backward
     380        compatible.
     381        (Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f0bc)
     382
     3831381.   [bug]           marcin
     384        Corrected a bug in the libkea-asiolink library which caused
     385        the DHCP servers to crash while processing commands over
     386        the unix domain socket on some systems.
     387        (Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d803)
     388
     3891380.   [func]          fdupont
     390        Implemented lease6-get-all command in lease_cmds hooks library.
     391        (Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9828)
     392
     3931379.   [func, bug]     marcin
     394        The network_state argument is provided to the callouts in
     395        the dhcp4_srv_configured hook point. Also, fixed a couple
     396        of minor bugs in the HTTP client classes.
     397        (Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12415)
     398
     3991378.   [doc]           tomek
     400        New parameter subnets-action for network4-del and network6-del
     401        commands is now documented.
     402        (Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee824446b)
     403
     4041377.   [doc]           tomek
     405        New parameters for Cassandra are now documented.
     406        (Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743540)
     407
     4081376.   [func]          razvan
     409        Cassandra backend improvements: get all IPv4 leases, delete
     410        hosts, ability to store fixed DHCPv4 fields (next-server,
     411        server-hostname, boot-file-name) and user contexts in host
     412        reservations. Also, the ability to store MAC address details
     413        in DHCPv6 leases on PostgreSQL has been improved.
     414        (Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
     415        (Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
     416        (Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
     417        (Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
     418        (Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
     419
     4201375.   [func]          tmark
     421        When encountering errors unpacking vendor specific options,
     422        both kea-dhcp4 and kea-dhcp6 will now log the error, skip
     423        unpacking any remaining options, and then attempt to process
     424        the packet as is.  Prior to this the servers would log the issue
     425        and then drop the packet.
     426        (Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3c21)
     427
     4281374.   [func]          tmark
     429        kea-dhp4 and kea-dhcp6 can now be configured to attempt to
     430        reconnect to Postgresql backends if connectivity is lost.
     431        (Trac #5477, git 8e62a058382b2245d418cfbf829776934c638e5e)
     432
     4331373.   [func]          marcin
     434        Implemented leases parsing from JSON in libkea-dhcpsrv.
     435        (Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b708174e)
     436
     4371372.   [func]          marcin
     438        Implemented new hook points "dhcp4_srv_configured" and
     439        "leases4_committed" in the DHCPv4 server. The latter supports
     440        new next step status NEXT_STEP_PARK which causes the server
     441        to "park" the client's DHCP packet.
     442        (Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bdccf)
     443
     4441371.   [bug]           fdupont
     445        Fixed a bug in JSONfeed tool which did not correctly handle
     446        strings and interpret their content.
     447        (Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60942)
     448
     4491370.   [bug]           tmark
     450        Fixed a bug which prevented inserting multiple host reservations
     451        where IPv4 address was unspecified or when selected subnet identifier
     452        was not specified (5416).  Corrected inconsistent data types for
     453        subnet id columns in both Postgres and MySQL schemas.  Now both
     454        schemas support up to MAX UINT32 in all subnet id columns. Exiting
     455        databases may be updated without data migration.
     456        (Trac #5416, #5522, git d1dd0f2e27ffa49515c17cf68d54f162359b6384)
     457
     4581369.   [bug]           marcin
     459        Multiple critical performance optimizations in the allocation
     460        engine for shared networks.
     461        (Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28ca4e)
     462
     4631368.   [func]          tmark
     464        kea-dhcp4 now explicitly logs packets dropped due to a lack
     465        message type as a log type DHCP4_PACKET_DROP_0009.  Prior
     466        to this such packets were logged has having an unsupported
     467        message type of 0.
     468        (Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd69a)
     469
     4701367.   [func]          fdupont
     471        Added initial skeleton implementation for Radius hook library.
     472        (Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e01a)
     473
     4741366.   [func]          fdupont
     475        Implemented FNV hashing function. Cassandra backend no longer
     476        explicitly depends on OpenSSL.
     477        (Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271287)
     478
     4791365.   [func]          fdupont
     480        Both DHCPv4 and DHCPv6 servers can now listen on loopback
     481        interfaces. This capability requires setting socket type to UDP in
     482        DHCPv4. Note the feature has not been thoroughly tested.
     483        (Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3acc)
     484
     4851364.   [func]          fdupont
     486        Extended forensic (aka legal) logging with database capability.
     487        (Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76499)
     488
     4891363.   [func]          tmark
     490        Added support for automatically recalculating lease statistics
     491        to the CQL backend.
     492        (Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1c96)
     493
     4941362.   [func]          razvan, andrei
     495        A new parameter exit-wait-time has been added to perfdhcp. It is
     496        now possible to tell perfdhcp to wait certain amount of time after
     497        exit conditions are met before actually terminating.
     498        (Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a6e6)
     499
     5001361.   [func]          razvan, andrei, tomek
     501        Support for Google Benchmark has been added. To compile
     502        benchmarking support, please use --with-benchmark option.
     503        (Github #36, git d6819971410b460d7742c762844e2e75ba580944)
     504
     5051360.   [build,bug]     fdupont
     506        Cassandra build fixes for macOS.
     507        (Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1c40)
     508
     5091359.   [bug]           rcgoodfellow
     510        Fixed bug in kea-admin causing error on lease-dump.
     511        (Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172280)
     512
     5131358.   [func]          andreipavelQ,tomek
     514        The logging configuration is now applied early, which helps
     515        seeing errors in case the new configuration is faulty.
     516        (Github #41, git d77fbec5a003a69cab207aa741133015f2657878)
     517
     5181357.   [build]         andreipavelQ
     519        --with-dhcp-mysql renamed to --with-mysql and
     520        --with-dhcp-pgsql renamed to --with-pgsql. These names were
     521        leftovers from old BIND10 times when Kea was part of bigger
     522        solution that also provided DNS services. Kea is now a stand-alone
     523        software, thus the -dhcp- doesn't make sense in those options any
     524        more.
     525        (Github #40, git 318c9e3d3db9bb938ced27932d8401172529a2ff)
     526
     5271356.   [doc]           andreipavelQ
     528        Documentation has been upgraded to DocBook 5.0.
     529        (Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce9e9)
     530
     5311355.   [func]          tomek
     532        Lightweight 4over6 options reinstantiated. Definitions for DHCPv6
     533        options 89 through 96 were added back. DHCPv4 v4 Parameters Option
     534        159 has its definition tweaked slightly.
     535        (Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c)
     536
     5371354.   [build]         andrei
     538        Support for coverage tests has been improved.
     539        (Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f)
     540
     5411353.   [build,bug]     andrei, razvan
     542        Various small changes and bugfixes. Thank you to Andrei Pavel
     543        and Razvan Becheriu for submitting their patch.
     544        (Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2386)
     545
     5461352.   [func]          fdupont
     547        It is now possible to specify client classification restrictions
     548        on per pool basis. This capability will be useful for grouping
     549        certain types of devices into specific address and/or prefix
     550        pools.
     551        (Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0)
     552
     5531351.   [build]         andreipavelQ
     554        Compilation parameters unified (every file now includes config.h,
     555        several makefile tweaks).
     556        (Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7)
     557
     5581350.   [func]          fdupont
     559        Several hook points now support next step status DROP. This allows
     560        more flexibility with dropping packets from within hooks.
     561        (Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c)
     562
     5631349.   [func]          marcin
     564        Implemented HTTP client classes in libkea-http.
     565        (Trac #5451, git 94267e252b372650e4235389251b49d6f5501322)
     566
     5671348.   [build]         fdupont
     568        Modified configure.ac to include premium module m4 macros, if the
     569        module is present. Prior to this it relied on premium having it's
     570        own configure.ac script.
     571        (Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f)
     572
     5731347.   [build]         fdupont
     574        Added support of boost 1.66.0 ASIO.
     575        (Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429)
     576
     5771346.   [func]          marcin
     578        Implemented lease4-get-all command in lease_cmds hooks library.
     579        (Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2)
     580
     5811345.   [func]          marcin
     582        Implemented "force-create" parameter for lease4-update and
     583        lease6-update commands.
     584        (Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966)
     585
     5861344.   [func]          andrei, razvan
     587        Support for host reservations stored in Cassandra added. The core
     588        functionality was added. There are some limitations (delete,
     589        client classes, fixed DHCPv4 fields, statistics recount, etc.)
     590        These will be addressed in upcoming tickets.
     591        (github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec)
     592
     5931343.   [func]          fdupont
     594        User-context and comments are now supported in many new scopes:
     595        global, shared-network, subnet, pool, host reservation, option,
     596        option definition, client-class, control-socket, dhcp-ddns,
     597        interfaces, loggers, and for DHCPv6 pd-pool and server-id.
     598        (Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6)
     599
     6001342.   [bug]           fdupont
     601        Fixed subnets and host reservations returned by config-get and
     602        config-write.
     603        (Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede)
     604
     6051341.   [func]          razvan, andrei
     606        Significant update of Cassandra support. A lot of code for
     607        Cassandra Lease Manager has been updated and partially rewritten.
     608        (github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37)
     609
     6101340.   [func]          marcin
     611        Added support for "dhcp-enable" and "dhcp-disable" commands in
     612        the DHCPv4 and DHCPv6 server.
     613        (Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d10248590039bd)
     614
     6151339.   [doc]           marcin
     616        Updated User's Guide describing how to selectively disable
     617        legal logging for a subnet.
     618        (Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a858)
     619
     6201338.   [func]          marcin
     621        Persistent HTTP/1.1 connections and HTTP/1.0 keep-alive
     622        are supported by RESTful API.
     623        (Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da948ba)
     624
     6251337.   [doc]           marcin
     626        Added placeholder section for the libdhcp_ha hooks library.
     627        (Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4bfbf)
     628
     6291336.   [bug]           marcin
     630        DHCPv6 server always sends prefixes with the lifetime of 0 for
     631        the prefix leases that should no longer be used, even if those
     632        prefixes are not included in the Renew/Rebind.
     633        (Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7bebc1)
     634
     6351335.   [bug]           marcin
     636        Fixed a bug which prevented inserting multiple host reservations
     637        where IPv4 address was unspecified or when selected subnet
     638        identifier was not specified. This change affects both Postgres
     639        and MySQL backend.
     640        (Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d791d)
     641
    223642Thank you again to everyone who assisted us in making this release
    224643possible. If you would like to contribute to ISC to assist us in