kea-admin - Shell script for managing Kea databases

Synopsis

kea-admin [command] [backend] [-h database_host] [-P database_port] [-u database_username] [-p [database_password]] [-n database_name] [-d script_directory] [-v] [-x extra_argument [-x extra_argument ...]] [-4 | -6] [-i input_file] [-o output_file] [-y]

Description

kea-admin is a shell script that offers database maintenance. In particular, it features database initialization, database version checking, and database schema upgrading.

Arguments

command

Specifies the command to be issued to the servers. It can be one of the following:

db-init
Initializes a new database schema. This is useful during a new Kea installation. The database is initialized to the latest version supported by the version of the software being installed.
db-version
Reports the database backend version number. This is not necessarily equal to the Kea version number, as each backend has its own versioning scheme.
db-upgrade
Conducts a database schema upgrade. This is useful when upgrading Kea.
lease-dump
Dumps the contents of the lease database (for MySQL or PostgreSQL backends) to a CSV (comma-separated values) text file. (Support for the Cassandra backend has been deprecated.) The first line of the file contains the column names. This can be used as a way to switch from a database backend to a memfile backend. Alternatively, it can be used as a diagnostic tool, so it provides a portable form of the lease data. There are other mandatory arguments that must be used together with this command. Either -4 or -6 must be specified. Also -o or --output must be provided.
lease-upload
Uploads leases from a CSV (comma-separated values) text file to a MySQL or a PostgreSQL lease database. The CSV file needs to be in memfile format. There are other mandatory arguments that must be used together with this command. Either -4 or -6 must be specified. Also -i or --input must be provided.
stats-recount
Recounts lease statistics for a MySQL or PostgreSQL database.
backend
Specifies the backend type. Currently allowed backends are: memfile, mysql, and pgsql; cql has been deprecated.
-h|--host hostname
Specifies the hostname when connecting to a database. The default value is localhost.
-i|--input input_file
Specifies the CSV (comma-separated values) text file with leases to be uploaded. Required for lease-upload.
-P|--port port
Specifies the port when connecting to a database. If not specified, the default value chosen by the database client is used.
-u|--user username
Specifies the username when connecting to a database. The default value is keatest.
-p|--password password
Specifies the password when connecting to a database. If only -p or --password is given, the user is prompted for a password. If not specified at all, the KEA_ADMIN_DB_PASSWORD environment variable is checked for a value and used if it exists. Otherwise the default value of keatest is used.
-n|--name database-name
Specifies the name of the database to connect to. The default value is keatest.
-d|--directory script-directory
Specifies the override scripts directory. That script is used during upgrades, database initialization, and possibly other operations. The default value is (prefix)/share/kea/scripts/.
-o|--output output_file
Specifies the file to which the lease data will be dumped. Required for lease-dump.
-v|--version
Prints the kea-admin version and quits.
-4
Directs kea-admin to lease-dump the DHCPv4 leases. Incompatible with the -6 option.
-6
Directs kea-admin to lease-dump the DHCPv6 leases. Incompatible with the -4 option.
-x|--extra
Specifies an extra argument to pass to the database command tool e.g. to invoke mysql with the --ssl argument. This can be repeated to pass more than one argument. Quotes are not preserved. Avoid commands containing spaces.
-y|--yes
Assume yes on overwriting temporary files.

Documentation

Kea comes with an extensive Kea Administrator Reference Manual that covers all aspects of running the Kea software - compilation, installation, configuration, configuration examples, and much more. Kea also features a Kea Messages Manual, which lists all possible messages Kea can print with a brief description for each of them. Both documents are available in various formats (.txt, .html, .pdf) with the Kea distribution. The Kea documentation is available at https://kea.readthedocs.io.

Kea source code is documented in the Kea Developer's Guide, available at https://reports.kea.isc.org/dev_guide/.

The Kea project website is available at https://kea.isc.org.

Mailing Lists and Support

There are two public mailing lists available for the Kea project. kea-users (kea-users at lists.isc.org) is intended for Kea users, while kea-dev (kea-dev at lists.isc.org) is intended for Kea developers, prospective contributors, and other advanced users. Both lists are available at https://lists.isc.org. The community provides best-effort support on both of those lists.

ISC provides professional support for Kea services. See https://www.isc.org/kea/ for details.

See Also

kea-dhcp4(8), kea-dhcp6(8), kea-dhcp-ddns(8), kea-ctrl-agent(8), keactrl(8), perfdhcp(8), kea-netconf(8), Kea Administrator Reference Manual.