[Kea-users] kea 1.2 - "One or more hook libraries failed to load"

Jason Lixfeld jason-kea at lixfeld.ca
Wed Sep 6 04:13:45 UTC 2017


Hey,

I’m looking to try and load the flex id hooks library, but something doesn’t like me:

root at build:/home/jlixfeld# keactrl start
INFO/keactrl: Starting kea-dhcp4 -c /usr/local/etc/kea/kea.conf -d
root at build:/home/jlixfeld# 2017-09-06 00:00:16.876 ERROR [kea-dhcp4.dhcp4/44181] DHCP4_INIT_FAIL failed to initialize Kea server: configuration error using file '/usr/local/etc/kea/kea.conf': One or more hook libraries failed to load
2017-09-06 00:00:16.878 INFO  [kea-dhcp4.commands/44181] COMMAND_SOCKET_UNIX_CLOSE Command socket closed: UNIX, fd=9, path=/tmp/kea-dhcp4-ctrl.sock

Commenting out the hooks-library portion of kea.conf allows kea-dhcp4 to load without an issue.

The closest match to this particular issue was from for forums, about this time in 2015, where the library wasn’t in the directory it was pointing to in the config. In this case, however, the library is indeed in the correct location:

root at build:/home/jlixfeld# file /usr/local/lib/hooks/libdhcp_flex_id.so
/usr/local/lib/hooks/libdhcp_flex_id.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=3e2c95a5f3dc2ea6b286a530c974edf51688bd4d, not stripped
root at build:/home/jlixfeld# ls -al /usr/local/lib/hooks/libdhcp_flex_id.so
-rwxr-xr-x 1 root staff 1187888 Sep  5 13:27 /usr/local/lib/hooks/libdhcp_flex_id.so
root at build:/home/jlixfeld#

Even with debug logging and lots of debug level, I’m not finding anything overly helpful in any of the output.

I’ve included the config below, incase anyone can see anything glaring which I cannot.

{
	"Logging": {
		"loggers": [{
			"name": "kea-dhcp4",
			"output_options": [{
				"output": "/var/log/kea/kea-dhcp4.log"
			}],
			"severity": "DEBUG",
			"debuglevel": 99
		}]
	},
	"Dhcp4": {
		"hooks-libraries": [{
			"library": "/usr/local/lib/hooks/libdhcp_flex_id.so",
			"parameters": {
				"identifer-expression": "relay4[1].hex"
			}
		}],
		"control-socket": {
			"socket-type": "unix",
			"socket-name": "/tmp/kea-dhcp4-ctrl.sock"
		},
		"interfaces-config": {
			"interfaces": ["eth1"],
			"dhcp-socket-type": "udp"
		},
		"lease-database": {
			"type": "postgresql",
			"name": "keaPoClab,
			"host": "",
			"user": "keaPoClab,
			"password": "keaPoClab
		},
		"hosts-database": {
			"type": "postgresql",
			"name": "keaPoClab,
			"host": "",
			"user": "keaPoClab,
			"password": "keaPoClab
		},
		"subnet4": [{
			"option-data": [{
				"name": "domain-name-servers",
				"code": 6,
				"space": "dhcp4",
				"csv-format": true,
				"data": "192.0.2.3"
			}],
			"subnet": "172.16.1.0/24",
			"valid-lifetime": 4000,
			"renew-timer": 1000,
			"rebind-timer": 2000,
			"pools": [{
				"pool": "172.16.1.1 - 172.16.1.200"
			}],
			"reservations": [{
				"flex-id": "00:04:00:7f:00:00",
				"ip-address": "172.16.1.169"
			}]
		}],
		"host-reservation-identifiers": [ "duid", "hw-address", "flex-id" ]
	}
}

Thanks in advance!


More information about the Kea-users mailing list