ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2024-02-08T08:25:35Zhttps://gitlab.isc.org/isc-projects/bind9/-/issues/4501ccmsg.c:156: REQUIRE(((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg...2024-02-08T08:25:35ZMichal Nowakccmsg.c:156: REQUIRE(((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg))->magic == ((('C') << 24 | ('C') << 16 | ('m') << 8 | ('s'))))) failedThe "resolver" BIND server of the `shutdown` system test (270c51f3289ef90d11136201555e665714e9c6a4) hit this assertion failure:
```
ccmsg.c:156: REQUIRE(((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg))->magic == ((('C') << 24 ...The "resolver" BIND server of the `shutdown` system test (270c51f3289ef90d11136201555e665714e9c6a4) hit this assertion failure:
```
ccmsg.c:156: REQUIRE(((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg))->magic == ((('C') << 24 | ('C') << 16 | ('m') << 8 | ('s'))))) failed
```
```
Core was generated by `/home/newman/isc/ws/bind9/bin/named/.libs/named -c /home/newman/isc/ws/bind9/bi'.
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c
Downloading source file /usr/src/debug/glibc-2.38-14.fc39.x86_64/nptl/pthread_kill.c...
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret)
[Current thread is 1 (Thread 0x7f21e1ac5600 (LWP 2500157))]
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c
#1 0x00007f21e0e598a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c
#2 0x00007f21e0e078ee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c
#3 0x00007f21e0def8ff in __GI_abort () at abort.c
#4 0x0000000000417b2a in assertion_failed (file=0x7f21e205d504 "ccmsg.c", line=156, type=isc_assertiontype_require, cond=0x7f21e205d3b8 "((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg))->magic == ((('C') << 24 | ('C') << 16 | ('m') << 8 | ('s'))))") at main.c
#5 0x00007f21e20e52da in isc_assertion_failed (file=file@entry=0x7f21e205d504 "ccmsg.c", line=line@entry=156, type=type@entry=isc_assertiontype_require, cond=cond@entry=0x7f21e205d3b8 "((ccmsg) != ((void *)0) && ((const isc__magic_t *)(ccmsg))->magic == ((('C') << 24 | ('C') << 16 | ('m') << 8 | ('s'))))") at assertions.c
#6 0x00007f21e205ac35 in ccmsg_senddone (handle=<optimized out>, eresult=<optimized out>, arg=<optimized out>) at ccmsg.c
#7 0x00007f21e20d1823 in isc___nm_sendcb () at netmgr/netmgr.c
#8 0x00007f21e20f207e in isc__job_cb (handle=<optimized out>) at job.c
#9 0x00007f21e1b7c4c1 in uv__run_idle (loop=0x7f21e06d3120) at /usr/src/debug/libuv-1.47.0-3.fc39.x86_64/src/unix/loop-watcher.c
#10 uv_run (loop=loop@entry=0x7f21e06d3120, mode=mode@entry=UV_RUN_DEFAULT) at /usr/src/debug/libuv-1.47.0-3.fc39.x86_64/src/unix/core.c
#11 0x00007f21e20f7c1c in loop_thread (arg=0x7f21e06d3100) at loop.c
#12 0x0000000000418928 in main (argc=4, argv=<optimized out>) at main.c
```
[core.2500157.gz](/uploads/4df47365e82ac8b142a829aec12b33e5/core.2500157.gz)
[named.conf](/uploads/c423a777ed372280af2f955ee966409a/named.conf)
[root.db](/uploads/4da97ae339cae47d2c59759d33d725c4/root.db)
[core.2500157-backtrace.txt](/uploads/ee973ce57716d32cf5b0507d869d20f7/core.2500157-backtrace.txt)
[named.run](/uploads/7c0ee4afa30cb3d164ae679d2445b4f0/named.run)
```
/home/newman/isc/ws/bind9/bin/tests/system/shutdown/tests_shutdown.py:207: in test_named_shutdown
assert named_proc.returncode == 0, "named crashed"
E AssertionError: named crashed
E assert -6 == 0
E + where -6 = <Popen: returncode: -6 args: ['/home/newman/isc/ws/bind9/bin/named/named', '...>.returncode
```March 2024 (9.16.49, 9.16.49-S1, 9.18.25, 9.18.25-S1, 9.19.22)https://gitlab.isc.org/isc-projects/stork/-/issues/1296Sanity checks for Stork 1.15.0 rc12024-02-07T12:54:23ZAndrei Pavelandrei@isc.orgSanity checks for Stork 1.15.0 rc1We are now at step SANITY CHECKS of Stork 1.15.0 rc1.
Please do sanity checks according to the steps below:
1. Get the tarball and check it, run tests with `rake unittest:backend` or `rake unittest:backend_db`.
2. Get the apk, deb & rp...We are now at step SANITY CHECKS of Stork 1.15.0 rc1.
Please do sanity checks according to the steps below:
1. Get the tarball and check it, run tests with `rake unittest:backend` or `rake unittest:backend_db`.
2. Get the apk, deb & rpm packages, place them in the tarball location, run tests with `rake system_tests` and `rake system_tests_ui`.
3. Start demo locally with `rake demo:up` and follow the steps from the demo wiki: https://gitlab.isc.org/isc-projects/stork/-/wikis/Demo
4. Install server and agent locally e.g. in VMs from apk, deb & rpm packages
Before starting, please state what you are checking in a thread/discussion (not as comment).
When you finish a check, state in the same thread/discussion what the result is.
This way we know what is covered upfront and we can avoid repeating ourselves.
* tarball: https://gitlab.isc.org/isc-projects/stork/-/jobs/3998886/artifacts/browse
* apk, deb & rpm packages: https://gitlab.isc.org/isc-projects/stork/-/jobs/3998884/artifacts/browse
Hooks:
* tarball: https://gitlab.isc.org/isc-projects/stork/-/jobs/3998897/artifacts/browse
* apk, deb & rpm packages: https://gitlab.isc.org/isc-projects/stork/-/jobs/3998904/artifacts/browse
Release notes: https://gitlab.isc.org/isc-projects/stork/-/wikis/Releases/Release-notes-1.15.01.152024-02-07https://gitlab.isc.org/isc-projects/kea/-/issues/3119Coverity scan issues2024-02-06T12:55:09ZPiotrek ZadrogaCoverity scan issuesI triaged new issues detected by Coverity scan and below ones could be checked more carefully:
- High: `time_t` casting to `uint_32` - assuming we are doing `static_cast`, we should be ok until year 2106. One cases misses the `static_ca...I triaged new issues detected by Coverity scan and below ones could be checked more carefully:
- High: `time_t` casting to `uint_32` - assuming we are doing `static_cast`, we should be ok until year 2106. One cases misses the `static_cast`.
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250303669&defectInstanceId=53277773&mergedDefectId=1533185
- Medium: dereferencing invalid iterator - in most cases it seems to be false positive, but there is one place where it could be checked - this could have separate ticket
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250303968&defectInstanceId=53270168&mergedDefectId=1533337
- Low: used `auto` causing copy - this is low priority, but could be fixed anyway, just `const auto&` could be used.
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250303713&defectInstanceId=53363199&mergedDefectId=1539484
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250303704&defectInstanceId=53363142&mergedDefectId=1539483
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250303706&defectInstanceId=53363182&mergedDefectId=1539482
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250304018&defectInstanceId=53270328&mergedDefectId=1532980 and all others in `src/hooks/dhcp/lease_cmds/lease_cmds.cc`
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250304037&defectInstanceId=53270311&mergedDefectId=1532961 and all others in `src/hooks/dhcp/mysql_cb/mysql_cb_dhcp*.cc`
- https://scan5.scan.coverity.com/reports.htm#v60426/p10289/fileInstanceId=250304057&defectInstanceId=53270884&mergedDefectId=1532978 and all others in `src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp*.cc`kea2.5.5Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/stork/-/issues/1295Changes for Stork 1.15.0
release2024-02-05T21:51:45ZAndrei Pavelandrei@isc.orgChanges for Stork 1.15.0
release
- [x] announce the release in the changelog
- [x] bump up Stork versions
- [x] merge changelog entries
- [x] announce the release in the changelog
- [x] bump up Stork versions
- [x] merge changelog entries1.15Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.org2024-02-07https://gitlab.isc.org/isc-projects/stork/-/issues/1285Update project dependencies2024-02-05T18:03:23ZSlawek FigielUpdate project dependenciesWe should update Go, JavaScript, Python, and so on dependencies to fix bugs and security vulnerabilities.We should update Go, JavaScript, Python, and so on dependencies to fix bugs and security vulnerabilities.1.15Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/stork/-/issues/1267Applications list filters by text when it's not supposed to2024-02-05T12:41:51ZPiotrek ZadrogaApplications list filters by text when it's not supposed toSteps to reproduce:
- Pagination must occur in Apps list (Kea or Bind, no difference here)
- filter by something that doesn't exist => zero results returned by filter
- navigate to different view
- go back to Apps list
- issue happens: ...Steps to reproduce:
- Pagination must occur in Apps list (Kea or Bind, no difference here)
- filter by something that doesn't exist => zero results returned by filter
- navigate to different view
- go back to Apps list
- issue happens: filtering is still applied (this may happen after going to other page in pagination)
Filter text input is empty
![image](/uploads/f31a9377bd6b13070ffed208f409d005/image.png)
But in the request to API the filter is still on, hence empty apps list
![image](/uploads/1a15084a115c187268dc639575b8c40e/image.png)
Bind apps (no results AND BTW also wrong breadcrumb :disappointed: ):
![image](/uploads/c69b858a310bedea7c7dcf2c26ce7544/image.png)
![image](/uploads/6b49eff412c3e718be21a2869a555869/image.png)1.15Piotrek ZadrogaPiotrek Zadrogahttps://gitlab.isc.org/isc-projects/stork/-/issues/1150Specify the differences in searching leases from DHCPv4 and v62024-02-02T16:43:41ZSlawek FigielSpecify the differences in searching leases from DHCPv4 and v6The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-August/000165.html).
The IPv4 leases can be searched by:
- IP address
- MAC address
- Client ID
- hostname
and IPv6 leases can be searched b...The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-August/000165.html).
The IPv4 leases can be searched by:
- IP address
- MAC address
- Client ID
- hostname
and IPv6 leases can be searched by:
- IP address
- DUID
- hostname
but the help tip mixes all these possibilities together which is confusing for users.
We should clearly specify that the IPv6 leases can't be filtered by MAC address or Client ID.
> Use the input box to specify a searched lease. You can search the lease by one of the following lease properties:
>
> - IP address
> - delegated prefix (excluding prefix length)
> - MAC address
> - DHCPv4 client identifier
> - DHCPv6 DUID
> - hostname
>
> MAC address, client identifier and DUID can be specified in the following formats:
>
> - 01:02:03:04:05
> - 01 02 03 04 05
> - 01020304051.15Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/1264CodeQL: Python issues2024-02-02T11:56:23ZTomek MrugalskiCodeQL: Python issuesCodeQL reports [13 issues in the Python](https://github.com/isc-projects/stork/security/code-scanning?query=is%3Aopen+branch%3Amaster+language%3Apython) code. 3 of them are errors, 1 warning, remaining are notes related to tests. Neverth...CodeQL reports [13 issues in the Python](https://github.com/isc-projects/stork/security/code-scanning?query=is%3Aopen+branch%3Amaster+language%3Apython) code. 3 of them are errors, 1 warning, remaining are notes related to tests. Nevertheless it's useful to address them, so the security report on github is cleaner and has less noise.1.15Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/bind9/-/issues/4557dnstap logging support for name server operator policy applied to DNS message...2024-02-02T08:32:32ZMatt Braundnstap logging support for name server operator policy applied to DNS messages like RPZ### Description
dnstap format supports since 2021 to log name server policies applied to DNS messages. Bind does not currently log RPZ policy hits via dnstap logging.
### Request
Implement RPZ policy dns message processing via dnstap....### Description
dnstap format supports since 2021 to log name server policies applied to DNS messages. Bind does not currently log RPZ policy hits via dnstap logging.
### Request
Implement RPZ policy dns message processing via dnstap.
### Links / references
https://github.com/dnstap/dnstap.pb/blob/master/dnstap.proto#L70https://gitlab.isc.org/isc-projects/stork/-/issues/1286Make tarball task optional2024-02-01T22:58:52ZSlawek FigielMake tarball task optionalThe `tarball` CI task tries to download some artifacts from other tasks, although they are not needed. It sometimes fails.
[Source](https://gitlab.isc.org/isc-projects/stork/-/jobs/3965088)
```
Preparing the "docker+machine" executor
0...The `tarball` CI task tries to download some artifacts from other tasks, although they are not needed. It sometimes fails.
[Source](https://gitlab.isc.org/isc-projects/stork/-/jobs/3965088)
```
Preparing the "docker+machine" executor
00:24
Using Docker executor with image registry.gitlab.isc.org/isc-projects/stork/ci-base:3 ...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.isc.org/isc-projects/stork/ci-base:3 ...
Using docker image sha256:4579cce3c0c8b1f05031a797d08e081c184777f80ef4a11f0ea325ba533e2c99 for registry.gitlab.isc.org/isc-projects/stork/ci-base:3 with digest registry.gitlab.isc.org/isc-projects/stork/ci-base@sha256:373b00e8c068bd4798d8340a20ee31d2aea1fb21a7ec6409217a1a7c75b82f2a ...
Preparing environment
00:23
Running on runner-4ylmhpa7-project-87-concurrent-0 via runner-4ylmhpa7-gitlab-docker-runner-1706108027-e915d800...
Getting source from Git repository
00:04
Fetching changes...
Initialized empty Git repository in /builds/isc-projects/stork/.git/
Created fresh repository.
Checking out e5b5702b as detached HEAD (ref is refs/merge-requests/699/head)...
Skipping Git submodules setup
Downloading artifacts
02:43
Downloading artifacts for build_ui (3965074)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965074 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_doc (3965075)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965075 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_backend (3965076)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965076 responseStatus=200 OK token=64_3MZNy
WARNING: tools/python/bin/python: chmod tools/python/bin/python: no such file or directory (suppressing repeats)
Downloading artifacts for build_backend_legacy (3965077)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965077 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_debs_amd64 (3965080)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965080 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_debs_arm64 (3965081)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965081 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_rpms_amd64 (3965082)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965082 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_rpms_arm64 (3965083)...
Downloading artifacts from coordinator... ok host=gitlab.isc.org id=3965083 responseStatus=200 OK token=64_3MZNy
Downloading artifacts for build_apks_amd64 (3965084)...
ERROR: Downloading artifacts from coordinator... not found host=gitlab.isc.org id=3965084 responseStatus=404 Not Found token=64_3MZNy
FATAL: file does not exist
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1
```1.15Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/stork/-/issues/1174LDAP hook: Enable hook coverage check2024-02-01T18:05:55ZSlawek FigielLDAP hook: Enable hook coverage checkWe should check the test coverage for the LDAP hook similarly to the Stork core.We should check the test coverage for the LDAP hook similarly to the Stork core.1.15Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea-docker/-/issues/36Update versioning scheme2024-02-01T13:51:04ZTomek MrugalskiUpdate versioning schemeAs discussed on [Jan 11](https://pad.isc.org/p/qa-dhcp-2024-01-11) QA call, we want to migrate towards `{version}-{builddate}` version, e.g. `2.5.5-20240118`. This is required as we sometimes need to rebuild the image between releases an...As discussed on [Jan 11](https://pad.isc.org/p/qa-dhcp-2024-01-11) QA call, we want to migrate towards `{version}-{builddate}` version, e.g. `2.5.5-20240118`. This is required as we sometimes need to rebuild the image between releases and we need to be able to tell which rebuild version we're using.
We discussed that it's unlikely we'll do it more than once a day, so no hhmmss needed. And in the very rare cases when we do, the chances that someone would download the image are too slim for us to bother.Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/kea/-/issues/32362.5.5 release checklist2024-01-31T19:24:29ZWlodzimierz Wencel2.5.5 release checklist# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess).
## Pre-Release Preparation
Some of these checks and updates can be made before the actual fr...# Kea Release Checklist
This is thoroughly documented in [the Kea Release Process guide](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess).
## Pre-Release Preparation
Some of these checks and updates can be made before the actual freeze. For new stable releases or maintenance releases, please don't use the `kea-dev` build farm; use a dedicated build farm for each release cycle.
1. [x] Check Jenkins results:
1. [x] Check Jenkins jobs for failures: [distcheck](https://jenkins.aws.isc.org/job/kea-dev/job/distcheck/), etc...
1. [x] Check [Jenkins Tests Report](https://jenkins.aws.isc.org/job/kea-dev/job/jenkins-tests-report/).
1. [x] Check [tarball check report](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/Kea_20Build_20Checks/)
1. [x] Check [Performance Test Results](https://jenkins.aws.isc.org/job/kea-dev/job/performance/lastSuccessfulBuild/artifact/qa-dhcp/kea/performance-jenkins/report.html) in Jenkins for drops in performance.
1. [x] Create a Gitlab issue for bumping up library versions and `KEA_HOOKS_VERSION` and notify developers.
* In case of no developers available, it can be done by running: [./tools/bump-lib-versions.sh](https://gitlab.isc.org/isc-projects/kea/-/blob/master/tools/bump-lib-versions.sh) Kea-q.w.e Kea-a.b.c (where `a.b.c` is the version to be released and `q.w.e` is the version previous to that).
1. [x] Look at the issue numbers in commit descriptions. Add to ChangeLog a mention about any change with visible impact that had not been mentioned already.
1. [x] If any changes have been done to database schemas, then:
1. [x] Check that a previously released schema has not been changed.
1. [x] Check that the additions to `dhcpdb_create.*sql`, and nothing more nor less than what was added in this release, is present in a `upgrade_*_to_*.sh.in` script that should also have been added in this release.
1. [x] Prepare release notes.
1. [x] Create release note on Kea GitLab wiki and notify @tomek. It should be created under the `Release-Notes` directory, like this one: https://gitlab.isc.org/isc-projects/kea/-/wikis/Release-Notes/release-notes-2.3.4
1. [x] Finish release notes and conduct its review.
1. [x] Notify support that release notes are ready for review. To avoid conflicts in edits wait with next step after review is done.
1. [x] Notify @sgoldlust or @vicky that release notes are ready for review. Due to time difference please do this at least 36 hours before planned release.
1. [ ] Check that packages can be uploaded to cloudsmith.
1. Go to [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/).
1. Click `Build with Parameters`.
1. Pick the latest pkg build in the `Packages` field, and the corresponding tarball build in the `Tarball` field, leave the rest as they are `PrivPubRepos: "private"`, `TarballOrPkg: "packages"`, `TestProdRepos: "testing"` and click `Build`.
1. If a new Cloudsmith repository is used, then:
1. [ ] Make sure access tokens have been synchronized from previous Cloudsmith repositories and to the [check-pkgs.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/pkgs-check/check-pkgs.py) QA tool.
1. [x] Check if ReadTheDocs can build Kea documentation. Alternatively, look for failures in emails if you know that the ReadTheDocs webhook is working.
1. Trigger rebuilding docs on [readthedocs.org](https://readthedocs.org/projects/kea/builds) and wait for the build to complete.
The following steps may involve changing files in the repository.
1. [x] Run [update-code-for-release.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/update-code-for-release.py) \
Example command: `GITLAB_TOKEN='...' ./update-code-for-release.py 2.3.4 --repo-dir ~/isc/repos/kea/`. \
Help: `GITLAB_TOKEN='...' ./update-code-for-release.py --help`. \
The script requires an explicit flag for stable and maintenances releases e.g. `--repo-branch v2_4`. \
The script makes the following changes and actions:
1. Runs [prepare_kea_release.sh](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/prepare_kea_release.sh) that:
1. Adds release entries in ChangeLogs.
1. Updates Kea version in configure.ac.
1. Updates copyright years in files that were changed in current year.
1. Sorts message files.
1. Regenerates message files headers.
1. Regenerates parsers using Bison from Docker
1. [x] Run the script again with the `--upload-only` flag which:
1. Creates an issue in GitLab for release changes in kea repo.
1. Creates branches and merge requests for kea and kea-premium.
1. Commits the changes in both repos.
1. Checks out created branches in both repos.
1. Commits and pushes the changes to GitLab server.
1. [x] Check manually User's Guide sections:
1. [x] Chapter 1. Introduction
1. [x] On what platforms we are running tests using Jenkins? Update Supported Platforms in platforms.rst file.
1. [x] Did we add any additional 3rd party software? Update if needed.
1. [x] Is there a new tool installed in bin or sbin released this time? If yes, is it documented?
1. [x] Chapter 2. Quick Start
1. [x] Has the default installation process changed (for kea and hooks)? If yes, are those changes documented and highlighted in the release notes?
1. [x] Chapter 3. Installation
1. [x] Check installation hierarchy (this is also automatically checked at the end of [ut-extended job](https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/)).
1. [x] Check and update Build Requirements.
1. [x] Check configure options against what `./configure -h` says.
1. [x] Check ChangeLog entries in Kea main and premium: spelling, trailing whitespaces, etc.
1. [x] Check AUTHORS, INSTALL, README files in Kea main and premium.
- AUTHORS: update credits
- README: check "provides" with Release Notes, User Guide (1.3 Kea Software)
1. [x] If changes were made, commit the change, push the branch to the main repository and request a review. Once the changes have been approved, merge the MR to master.
## Build selection, tarballs upload and sanity checks
This is the last moment to freeze code! :snowflake:
1. [x] Go to [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/) Jenkins job and pick the last tarball built - it will be a release candidate.
1. [x] Check tarball before requesting sanity checks from the development team.
1. Download tarballs from picked Jenkins build
1. Check hook libraries.
1. Are there any new hook libraries installed in this release?
1. Are they in the proper tarball? Premium or subscription?
1. Do they have their own package?
1. Check sizes - is the new package reasonable?
1. Check installation tree, compare it with the previous release
1. Check installed libraries.
1. which were updated? (save results)
1. Do any of the libraries from the current release have lower version than in the previous release?
1. Uninstall Kea, check what left (there should be just configuration files)
1. Check if each of the installed binaries has a man page.
1. If not, is the binary included in the tarball? That might explain it.
1. Are man pages up to date?
1. Check if documentation is properly formatted, has correct versions and dates.
1. It's advised to search for previous version numbers, some of them are statically added in statements that are no longer valid.
1. [x] Upload tarballs to repo.isc.org using Jenkins and send sanity checks request.
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click `Build with Parameters`.
1. In field `Tarball` select picked tarball build.
1. In field `Pkg` select the corresponding pkg job.
1. In field `Release_Candidate` pick:
1. `rc1` if this is the first selected build for release, it will push the selected tarballs to repo.isc.org, to a directory suffixed with indicated rc#
1. next rc# if this is a respin after some fixes (note: it is not possible to pick previous rc number - it will result in an error)
1. Submit the job that will automatically:
1. Upload the tarballs.
1. Create a GitLab issue for sanity checks, put the announcement there.
1. Send Sanity Checks announcement on the Kea/DHCP channel on Mattermost.\
The announcement includes:
- a link to chapter 4 Sanity Checks of the release process: [KeaReleaseProcess - SanityChecks](https://wiki.isc.org/bin/view/QA/KeaReleaseProcess#4.%20Sanity%20Checks)
- a link to the GitLab issue
- tarballs locations with SHA256 checksums
- rpm/deb packages locations and versions
## Releasing Tarballs and Packages
Now it's time to publish the code.
1. [x] Update Release Notes with ChangeLog entries.
1. [x] Mark Jenkins jobs with release artifacts to be kept forever and update description of build by adding there version of released kea (e.g. `Kea-2.3.4`).
1. Go to the following Jenkins jobs, click release build and then, on the build page, click `Keep this build forever` button and edit description:
1. [build-tarball](https://jenkins.aws.isc.org/job/kea-dev/job/build-tarball/).
1. [pkg job](https://jenkins.aws.isc.org/job/kea-dev/job/pkg/).
1. [x] Upload final tarballs to repo.isc.org.
1. Go to [release-tarball-upload](https://jenkins.aws.isc.org/job/kea-dev/job/release-tarball-upload/) Jenkins job.
1. Click `Build with Parameters`.
1. In field `Tarball` select picked tarball build.
1. In field `Pkg` select the corresponding pkg job.
1. In field `Release_Candidate` pick `final`. This job will also:
- Open an issue on [the signing repository](https://gitlab.isc.org/isc-private/signing/-/issues) for signing final tarballs on repo.isc.org.
- Create Git tags `Kea-a.b.c` in Kea main and premium repositories.
- Create Gitlab releases `Kea-a.b.c` in Kea main and premium repositories.
1. [x] Sign tarballs with the personal key, by running [sign_kea_and_upload_asc.sh](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/sign_kea_and_upload_asc.sh) which signs, verifies signatures and uploads them.
- If release engineer does NOT have signing key, please contact team member.
1. [x] Confirm that the tarballs have the checksums mentioned on the signing ticket.
1. [ ] Wait for clearance from Security Officer to proceed with the public release (if applicable). If this is a security release, next steps will be impacted by CVE checklist.
1. [x] Login to repo.isc.org and upload final tarball to public ftp using the make-available script.
* Example command: `make-available --public --symlink=cur/2.3 /data/shared/sweng/kea/releases/2.3.4`.
* [x] For premium tarballs use `--private` option.
* For more information use `--debug` option.
* To overwrite existing content, use `--force` option.
* If you did a mistake, contact ASAP someone from the ops team to remove incorrectly uploaded tarballs.
* [x] save links to all premium tarballs and put them into signing ticket as a comment.
1. [x] Upload final RPM & DEB packages, tarballs and sign files to cloudsmith.io:
1. Go to [release-upload-to-cloudsmith](https://jenkins.aws.isc.org/job/kea-dev/job/release-upload-to-cloudsmith/).
1. Click `Build with Parameters`.
1. Pick your selected pkg build in the `Packages` field, the corresponding tarball build in the `Tarball` field, `PrivPubRepos: "both"`, `TarballOrPkg: "both"`, `TestProdRepos: "production"` and click `Build`.
- This step also verifies sign files.
1. When it finishes run check: [releases-pkgs-check](https://jenkins.aws.isc.org/job/kea-dev/job/release-pkgs-check/).
1. [ ] Check that Docker images can be uploaded to Cloudsmith. Run [build-upload-docker](https://jenkins.aws.isc.org/job/kea-dev/job/build-upload-docker/).
* Make sure the right package job is selected under `Packages`.
* Tick `Upload`.
* Leave `TestProdRepos` to `testing`.
* Leave `versionTag` ticked.
* Tick `latestTag` if this is a stable or a maintenance release.
* If this is a stable or maintenance release, change `KeaDockerBranch` to the appropriate branch.
* Press `Build`.
1. [x] Build and upload Docker images to Cloudsmith. Run [build-upload-docker](https://jenkins.aws.isc.org/job/kea-dev/job/build-upload-docker/) with the same actions as above except change `TestProdRepos` to `production`.
1. [x] Update ReadTheDocs:
1. Trick ReadTheDocs into pulling the latest tags. Click `Build version` on [readthedocs.org](https://readthedocs.org/projects/kea/builds).
1. Publish currently released version. On the `Versions` tab, scroll down to `Activate a version`, search for `kea-a.b.c` and click `Activate`.
1. If it's a stable release, change the default version to point to this stable release. `Admin -> Advanced Settings -> Default version* -> Kea-a.b.c`.
1. [x] Create an issue and a merge request to bump up Kea version in `configure.ac` to next development version which could be, based on just released version `a.b.c`:
* `a.b.z-git` where `z == c + 1` most of the time, or
* `a.y.0-git` where `y == b + 2` if a new development series starts, or
* `x.1.0-git` where `x == a + 1` when the released minor version `b` is 9 and `a.b.c` was the last version in the development series and a new development version is coming up next.
1. [x] Contact Marketing team, and find a member who will continue work on this release:
1. [x] Assign this ticket to person who will continue.
1. [x] Share link to signing ticket either directly or as a comment in this issue.
## Marketing
1. [x] Publish links to downloads on ISC website.
1. [x] Update the supported versions document in the Salesforce portal (if there are stable versions released), and update the Kea document in the portal.
1. [x] If it is a new `major.minor` version, SWENG will have created a new repo in Cloudsmith, which will need the customer tokens migrated from an existing repo. Verify that the KB on installing from Cloudsmith has also been updated, then update the Kea document in the SF portal and notify support customers that this new private repo exists.
1. [x] If a new Cloudsmith repository is used, make sure that the Zapier scripts are updated.
* If those are not updated, there was an error made during preparation for new stable release. Please contact QA team and coordinate fix.
1. [x] Upload Premium hooks tarball to SendOwl. Create a new product if a new branch, otherwise update existing product. Send notifications to existing subscribers of the new version.
1. [x] Write release email to _kea-announce_.
1. [x] Write email to _kea-users_ (if a major release).
1. [ ] Announce on social media.
1. [x] Update [Wikipedia entry for Kea](https://en.wikipedia.org/wiki/Kea\_(software)).
1. [x] Write blog article (if a major release).
1. [x] Update [Kea page on website if any new hooks](https://www.isc.org/kea/).
1. [x] Update Kea Premium and Kea Subscription data sheets if any new hooks.
1. [ ] Update [significant features matrix](https://kb.isc.org/docs/en/aa-01615) (if any significant new features).
1. [x] Contact Support team, find a person who will continue this release and assign this issue to them.
## Support
1. [x] Update tickets in case of waiting for support customers.
1. [x] Close this ticketkea2.5.5https://gitlab.isc.org/isc-projects/stork/-/issues/1147List packages needed to use Cloudsmith script2024-01-31T13:12:38ZSlawek FigielList packages needed to use Cloudsmith scriptThe problem was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-August/000168.html).
There is no list of system dependencies needed to use the Cloudsmith script to install Stork packages.
Required depend...The problem was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-August/000168.html).
There is no list of system dependencies needed to use the Cloudsmith script to install Stork packages.
Required dependencies:
- curl
- bash
- sed
We should also analyze the possibility of minimizing the required packages (at least we should try to eliminate `bash` as it is pretty big and unsuitable for some deployments, e.g.: Alpine Docker container).1.15Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/3240bump up version in configure.ac to 2.5.6-git2024-01-31T11:46:31ZWlodzimierz Wencelbump up version in configure.ac to 2.5.6-gitkea2.5.6Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/stork/-/issues/994CodeQL: Unused variable, import, function or class in UI2024-01-31T11:44:39ZSlawek FigielCodeQL: Unused variable, import, function or class in UISome imports in many UI files are not used. We should enable a linter to detect similar issues.
This affects many (81 last time we checked) issues reported on github.Some imports in many UI files are not used. We should enable a linter to detect similar issues.
This affects many (81 last time we checked) issues reported on github.1.15Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/1284Delete a subnet from the subnet view2024-01-30T13:32:02ZMarcin SiodelskiDelete a subnet from the subnet viewWe need a button in the subnet view to delete selected subnet from the Kea servers and from the database. The user should confirm deletion of the subnet. This is analogous to deletion of the host reservation.We need a button in the subnet view to delete selected subnet from the Kea servers and from the database. The user should confirm deletion of the subnet. This is analogous to deletion of the host reservation.1.15Piotrek ZadrogaPiotrek Zadrogahttps://gitlab.isc.org/isc-projects/stork/-/issues/1209Document the reasons why the Docker image tags are changed2024-01-29T15:54:00ZSlawek FigielDocument the reasons why the Docker image tags are changedThere should be a file that describes the following:
1. Why a given Dockerfile was updated
2. How a base image is used.
3. Commit hash containing the Dockerfile version pushed to the registry
I noticed the problem when I tried to find ...There should be a file that describes the following:
1. Why a given Dockerfile was updated
2. How a base image is used.
3. Commit hash containing the Dockerfile version pushed to the registry
I noticed the problem when I tried to find the details of the `ci-base:1` image. It was pretty complex.1.15Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/kea/-/issues/3234Update Kea Premium License text2024-01-29T14:40:19ZVicky Riskvicky@isc.orgUpdate Kea Premium License textThe Kea Premium license text has been updated to version 2.1.1. I made a MR over in the Premium repo but I don't know how to tell for sure if the license text has to go in headers for multiple files, or just in the 'copying' file at the ...The Kea Premium license text has been updated to version 2.1.1. I made a MR over in the Premium repo but I don't know how to tell for sure if the license text has to go in headers for multiple files, or just in the 'copying' file at the top of the tree.kea2.5.5https://gitlab.isc.org/isc-projects/kea/-/issues/3237Changes for Kea 2.5.5 release2024-01-29T14:39:11ZWlodzimierz WencelChanges for Kea 2.5.5 release
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright years
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright yearskea2.5.5Wlodzimierz WencelWlodzimierz Wencel