# Stork 1.1.0, February 2nd, 2022, Release Notes Welcome to Stork 1.1.0, a monthly development release. The changes introduced in this version are: **Configuration review improvements**. The configuration review can now be triggered when host reservation changes are detected [#680]. The host reservation puller has been substantially improved to start a config review only if the reservations have changed in the Kea host database [#681]. Stork can detect and flag additional Kea configuration issues that may cause performance degradation: unnecessary shared networks and subnets or out-of-pool reservations in subnets supporting in-pool reservations. [#672]. **Pool utilization improvements**. Pool utilization is one of the core metrics for a running DHCP server. It's also one of the more complex, with many corner cases, such as declined leases, out-of-pool leases allocated from host reservations, and others. A series of tickets were completed to ensure that the pool utilization is calculated and presented correctly. [#560, #670]. **Agent: per-subnet statistics are now optional**. A flag was added to the Stork Agent to disable collection of per-subnet stats from Kea. This allows data shared with Prometheus/Grafana to be limited, which can greatly improve performance in larger deployments [#614]. **Comments in Kea configuration**. Kea uses extended JSON syntax - the classic JSON with some additional elements. One of these additional elements is comments. Stork is now able to handle comments properly [#264]. **Security improvements**. The PRNG seeding has been improved. It should result in higher quality (harder-to-guess) random entities used by Stork, such as the server token [#562]. The installation procedure used to show a basic password as an example with a note that a stronger one should be used. Sadly, some users could use the example password in production. To avoid it, a new command, `stork-tool db-create`, can now automate the database creation step and generate random, strong passwords on the fly [#620]. **Agent: renamed token option**. The Stork agent had a `--token` switch. To avoid ambiguity, it was renamed to `--server-token` [#625]. **UI improvements**. The host reservation identifiers (e.g. `flex-id` and `client-id`) can be displayed as text if their content is printable. It is possible to toggle between hex and text formats with a button, which is only visible if all characters are printable [#639]. Stork displays address/port details of the monitored services. This additional information may be useful to debug firewall issues and to ensure that the correct services are monitored. The TLS status is also displayed [#586]. The previously misaligned prefixes in the UI are now aligned properly [#657]. The Stork logo no longer displays an underline when the cursor hovers over it [#669]. **Build improvements**. The `rake bump[version]` now works properly on MacOS [#651], the golang version has been updated to 1.17 [#652], and go-pg has been updated to version 10 [#678]. **Bug fixes**. An issue with database migration and host reservations has been fixed [#676]. Host reservations that have no IP addresses associated with them no longer confuse Stork [#677]. A great way to quickly start playing with Stork is to run a demo. Only one command needs to be issued: `rake docker_up`. The demo features many Kea containers and a DHCP/DNS traffic generator to play with. However, the DHCPv6 traffic generator was not aligned with the Kea configuration, and thus Kea was unable to allocate IPv6 leases. This is now fixed [#604]. **Documentation**. The Stork ARM has been proofread by a native speaker [#646]. The Stork ARM incorrectly stated that the Stork tool is optional. It is always installed, so it is mandatory in that regard, but it's not required to use it for database updates as Stork server does that automatically [#656]. Please see this link for known issues: https://gitlab.isc.org/isc-projects/stork/-/wikis/Known-issues. ## Incompatible Changes None. ## Release Model Stork has monthly development releases, with some exceptions. We encourage users to test the development releases and report back their findings on the stork-users mailing list, available at https://lists.isc.org/mailman/listinfo/stork-users. This text references issue numbers. For more details, visit the Stork GitLab page at https://gitlab.isc.org/isc-projects/stork/issues. ## License Stork is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 ## Download The easiest way to install the software is to use native deb or RPM packages. They can be downloaded from: https://cloudsmith.io/~isc/repos/stork/ The Stork source and PGP signature for this release may be downloaded from: https://downloads.isc.org/isc/stork The signature was generated with the ISC code-signing key, which is available at: https://www.isc.org/pgpkey ISC provides documentation in the Stork Administrator Reference Manual (ARM). It is available on ReadTheDocs.io at https://stork.readthedocs.io/en/latest/, and in source form in [the doc/ directory](https://gitlab.isc.org/isc-projects/stork/-/tree/master/doc). We ask users of this software to please let us know how it worked for you and what operating system you tested on. Feel free to share your feedback on the stork-users mailing list (https://lists.isc.org/mailman/listinfo/stork-users). We would also like to hear whether the documentation is adequate and accurate. Please open tickets in the Stork GitLab project for bugs, documentation omissions and errors, and enhancement requests. We want to hear from you even if everything worked. ## Support Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/mailinglists/. If you have any comments or questions about working with Stork, please share them to the stork-users list (https://lists.isc.org/mailman/listinfo/stork-users). Bugs and feature requests may be submitted via GitLab at https://gitlab.isc.org/isc-projects/stork/issues. ## Changes The following summarizes changes and important upgrades since the Stork 1.0.0 release. * 198 [bug] slawek Removed the underline on hover the Stork logo on the login page. (Gitlab #669) * 197 [bug] slawek Fix the utilization calculations for address and delegated prefix statistics returned by the Kea DHCP servers. Stork corrects the calculations by taking into account the out-of-pool reservations that are not returned by the DHCP servers in the statistics. (Gitlab #560) * 196 [func] marcin Improved Stork Server performance while it gathers host reservations from the Kea servers. The server only updates the host reservations in its database when it detects at least one change in the gathered reservations. Moreover, it runs Kea configuration reviews only when it detects at least one host reservation change. (Gitlab #681) * 195 [bug] marcin Renamed --token command line flag of the stork-agent to --server-token. (Gitlab #625) * 194 [func] marcin Display Kea and Bind access points in the app tab. (Gitlab #586) * 193 [doc] sgoldust Stork documentation review. (Gitlab #646) * 192 [func] slawek Support for the large statistic values. It handles address/NA/PD counters for IPv6 subnets, large shared networks, and globals. It fixed the problem when these counters exceeded the int64 range. Prepared the Stork for large statistic values from Kea. (Gitlab #670) * 191 [func] marcin stork-tool facilitates db-create and db-password-gen commands to conveniently create PostgreSQL database for the Stork Server. (Gitlab #620) * 190 [func] slawek Added a flag to the Stork Agent to disable collecting per subnet stats from Kea. It allows limiting data shared with Prometheus/Grafana. (Gitlab #614) * 189 [func] marcin Various DHCP client identifiers (e.g. flex-id, circuit-id) can be displayed in a textual format and toggled between this and the hexadecimal format. It is now also possible to search host reservations by an identifier using the textual format. (Gitlab #639) * 188 [bug] slawek Fixed the UI overlapping when subnet utilization is greater than 100%. It improves the usability of the dashboard until the utilization problems are finally resolved. (Gitlab #560) * 187 [func] marcin Config reviews are scheduled automatically after getting updated host reservations via the host_cmds hooks library. (Gitlab #680) * 186 [func] slawek Implemented the support for Kea and Kea CA configuration with comments. Stork (Server or Agent) can parse the JSONs with C-Style single-line and block comments, and single-line comments started with hash. (Gitlab #264) * 185 [build] marcin Upgraded go-pg package from version 9 to version 10. (Gitlab #678) * 184 [func] marcin Implemented new Kea configuration checkers. The first one verifies if there are any empty shared networks or networks with a single subnet. The second one verifies if there are subnets containing no pools and no host reservations. The third one verifies if there are subnets containing only out of the pool addresses and delegated prefixes, in which case the out-of-pool host reservation mode can be enabled. (Gitlab #672) * 183 [build] marcin Stork now uses golang 1.17 and protoc-gen-go 1.26. (Gitlab #652) * 182 [bug] marcin Fixed a bug in the host reservation database model. The bug caused issues with updating a host reservation when it contained no IP addresses. (Gitlab #677) * 181 [bug] marcin Corrected an issue in the database migrations which caused the Stork 1.0.0 server to fail to start when the database contained host reservations. (Gitlab #676) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.