Upgrading Beyond Kea 2.3.2
  • 15 Nov 2022
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Upgrading Beyond Kea 2.3.2

  • Dark
    Light
  • PDF

Upgrading Beyond Kea 2.3.2 using ISC Packages

In Kea 2.3.1 and 2.3.2, a major overhaul took place to standardize Kea's packages across supported platforms. As a part of this effort, the names of the packages on each platform, and the way that the packages are split up has been unified. These changes provide a more uniform experience for installing and managing Kea on different platforms, and also ensures that each platform is aligned from a security standpoint.

We have gone to great lengths to ensure that upgrading Kea from a version before 2.3.2 to a version after 2.3.2 is as smooth a process as possible. On Alpine and RPM based systems, you should be able to upgrade Kea (likely after updating the package repositories) using the normal package update process for your platform. However, Debian users will need to follow the instructions outlined below to perform the upgrade successfully.

The list of ISC provided Kea packages for 2.3.2 and later on every supported distribution are as follows:

Packages from 2.3.2 and later
Comment
isc-kea ISC Kea metapackage (install everything)
isc-kea-ctrl-agent Kea Control Socket REST API Server
isc-kea-dhcp-ddns Kea DHCP DDNS Server
isc-kea-dhcp4 Kea DHCPv4 Server
isc-kea-dhcp6 Kea DHCPv6 Server
isc-kea-hooks Open Source hooks package for Kea
isc-kea-common Common libraries and files needed by Kea
isc-kea-admin Kea Database Admin Utilities
isc-kea-doc Documentation for Kea
isc-kea-dev Development headers for Kea

Instructions for Debian and Ubuntu

When upgrading beyong Kea 2.3.2 on Ubuntu and Debian, you will need to upgrade using apt dist-upgrade instead of the typical apt upgrade. This is due to some packages being renamed. APT will not remove packages with the normal apt upgrade command, and instead the dist-upgrade command should be used.

It is possible for some services to be removed in certain scenarios when upgrading past 2.3.2. The best way to handle this is to simply apt install isc-kea after performing the upgrade. This metapackage specifically depends on all of the Kea service, tools, and hooks packages and will install the entire Kea software suite. If you instead prefer to install specific packages, you can still do so. Please see ISC Packages for Kea DHCP for more details.

Notable changes

The changes performed during this package overhaul have been summarized in the GitLab issue and its related merge requests. A more concise summary will be added to this section shortly.

Package Names Prior to Kea 2.3.2

Prior to Kea 2.3.2, the package names and split methodology differed from Linux distribution to Linux distribution. The names of the packages on each platform can be found below.

RPM Packages Before 2.3.2
Comment
isc-kea DHCPv4, DHCPv6 and DDNS servers
isc-kea-devel Development headers and libraries for Kea DHCP server. Needed if you plan to build your own Kea hooks.
isc-kea-hooks This package includes the open source hooks, with the exception of user-check.
isc-kea-libs Shared libraries used by Kea. Install this.
freeradius-client You will need this if you are using the Kea RADIUS integration.
freeradius-client-devel Install this if you are using the Kea RADIUS integration.
Deb Packages Before 2.3.2
Comment
isc-kea-admin This package provides backend database initialization and migration scripts and a DHCP benchmark tool. If you are not using a database backend, you may not need this.
isc-kea-common Common libraries and hooks for the ISC Kea DHCP server. Install this.
isc-kea-ctrl-agent This package provides the REST API service agent for Kea DHCP.
isc-kea-dev Development headers for ISC Kea DHCP server. Install if you plan to create any custom Kea hooks.
isc-kea-dhcp4-server DHCPv4 server
isc-kea-dhcp6-server DHCPv6 server
isc-kea-dhcp-ddns-server DDNS server
isc-kea-doc Kea Documentation. Highly recommended.
python3-isc-kea-connector This package is needed for the Kea shell. Optional.
libfreeradius-client You will need this if you are using the Kea RADIUS integration.
libfreeradius-client-dev For Kea RADIUS integration. Optional.
APK Packages Before 2.3.2
Comment
isc-kea-admin This package provides backend database initialization and migration scripts and a DHCP benchmark tool. If you are not using a database backend, you may not need this.
isc-kea-common Common libraries for the ISC Kea DHCP server. Install this.
isc-kea-ctrl-agent This package provides the REST API service agent for Kea DHCP.
isc-kea-dev Development headers for ISC Kea DHCP server. Install if you plan to create any custom Kea hooks.
isc-kea-dhcp4-server DHCPv4 server
isc-kea-dhcp6-server DHCPv6 server
isc-kea-dhcp-ddns-server DDNS server
isc-kea-doc Kea Documentation. Highly recommended.
isc-kea-hook-flex-option Flexible Options hook
isc-kea-hook-ha High Availability hook
isc-kea-hook-lease-cmds Lease Commands hook
isc-kea-hook-mysql-cb MySQL Configuration Backend
isc-kea-hook-pgsql-cb PostgreSQL Configuration Backend
isc-kea-hook-stat-cmds Statistics Commands hook
isc-kea-http This package is essential, install it.
isc-kea-perfdhcp Optional. Includes a DHCP performance testing tool from ISC.
isc-kea-shell Text client for Kea DHCP Control Agent.
isc-kea-hook-static This file seems empty, investigating if this hook is essential for some reason