Bug 1699408

Summary: Kea 1.5 in Fedora Core Server 30 Startup Issues
Product: [Fedora] Fedora Reporter: branto
Component: keaAssignee: Pavel Zhukov <pzhukov>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 30CC: felix, jpopelka, pzhukov, stefan.van.der.eijk, thozza, tony, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: kea-1.5.0-6.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-19 22:45:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description branto 2019-04-12 15:57:08 UTC
Description of problem:

The build of Kea 1.5 included with Fedora Core Server 30 has some issues:
 - It requires the manual creation of directories for interprocess sync lockfile
 - It does not include all the previously-supported database backends, breaking the service upon upgrade from Fedora Core 29 Server.
 
Version-Release number of selected component (if applicable):

Version 1.5

How reproducible:

1.  Install Kea 1.3 from earlier version of Fedora, utilizing PostGres as a supported backend.
2.  Upgrade to Fedora Server 30.
3.  Attempt to start new version of Kea.

Actual results:

Service does not start.

Expected results:

Service should start, using the appropriate location for the interprocess sync lockfile (/var/run/kea?).

Service should continue to include support for the backends that were available in previous software releases.

Additional info:

For the issue with the interprocess sync lockfile:

root@nyc-dhcp-02 kea]# systemctl status kea*
● kea-dhcp4.service - Kea DHCPv4 Server
   Loaded: loaded (/usr/lib/systemd/system/kea-dhcp4.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2019-04-12 10:58:58 EDT; 8min ago
     Docs: man:kea-dhcp4(8)
  Process: 738 ExecStart=/usr/sbin/kea-dhcp4 -c /etc/kea/kea.conf (code=exited, status=1/FAILURE)
 Main PID: 738 (code=exited, status=1/FAILURE)

Apr 12 10:58:56 dhcp-02.example.net systemd[1]: Started Kea DHCPv4 Server.
Apr 12 10:58:58 dhcp-02.example.net kea-dhcp4[738]: Unable to use interprocess sync lockfile (No such file or directory): /var/lib/run/kea/logger_lockfile

To get around this, I created the directory /var/lib/run/kea, but I think this should probably be in the /var/run/kea location...  please correct me if I am mistaken in this assumption.

[root@nyc-dhcp-02 kea]# journalctl -xe
Apr 12 11:16:23 dhcp-02.example.net audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kea-dhcp6 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Apr 12 11:16:23 dhcp-02.example.net kea-dhcp4[943]: 2019-04-12 11:16:23.106 INFO  [kea-dhcp4.dhcp4/943] DHCP4_STARTING Kea DHCPv4 server version 1.5.0 starting
Apr 12 11:16:23 dhcp-02.example.net kea-dhcp6[944]: 2019-04-12 11:16:23.299 INFO  [kea-dhcp6.dhcp6/944] DHCP6_STARTING Kea DHCPv6 server version 1.5.0 starting
Apr 12 11:16:23 dhcp-02.example.net kea-dhcp4[943]: 2019-04-12 11:16:23.715 ERROR [kea-dhcp4.dhcp4/943] DHCP4_CONFIG_LOAD_FAIL configuration error using file: /etc/kea/kea.conf, reason: Unable to open database: Database access parameter 'type' does not specify a supported database backend:postgresql


We have a version of 1.3 running on Fedora Server 29, which has the necessary support:

[root@dhcp-01 ~]# /usr/sbin/kea-dhcp6 -V
1.3.0
tarball
linked with:
log4cplus 1.2.0
OpenSSL 1.0.2o-fips  27 Mar 2018
database:
MySQL backend 5.1, library 10.3.6
PostgreSQL backend 3.1, library 100007
Memfile backend 2.0

As you can see below, 1.5 included in Fedora wasn't built with the support for anything but MySQL or Memfile backends.

[root@dhcp-02 kea]# /usr/sbin/kea-dhcp4 -V
1.5.0
tarball
linked with:
log4cplus 1.2.0
OpenSSL 1.1.1b FIPS  26 Feb 2019
database:
MySQL backend 7.0, library 10.3.6
Memfile backend 2.1
[root@dhcp-02 kea]#

Comment 1 Pavel Zhukov 2019-04-15 17:11:52 UTC
Hello,

First of all thank you for reporting this.
According upgrade from previous version of kea. Unfortunately upstream doesn't care too much about backward compatibility of Kea so automatic update is not always possible. I'll check if 1.3->1.5 is the case but there were some incompatible changes in 1.5 for sure.

/var/run issue There is bug in Kea. It uses hardcoded paths
[1] https://gitlab.isc.org/isc-projects/kea/issues/359

I'll check missed directory error and missed postgresql support. This looks like a bug.

Comment 2 Felix Kaechele 2019-05-14 14:18:38 UTC
PostgreSQL is missing due to a missing BuildRequires in newer Fedora versions.

I am building my own version of kea at https://copr.fedorainfracloud.org/coprs/heffer/kea/ for my own convenicence (because I'm too lazy to file bugs) and for the reasons explained here: https://gitlab.isc.org/isc-projects/kea/issues/446#note_53874
Maybe you find it useful, feel free to use anything you like from that COPR.

Comment 3 Fedora Update System 2019-06-11 13:59:56 UTC
FEDORA-2019-716ec86d4b has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-716ec86d4b

Comment 4 Fedora Update System 2019-06-12 01:30:10 UTC
kea-1.5.0-6.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-716ec86d4b

Comment 5 Fedora Update System 2019-06-19 22:45:24 UTC
kea-1.5.0-6.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.