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. It can also be used as a diagnostic tool, as 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, and either -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, and either -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 the 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

Displays the Kea version.

-V

Displays the extended Kea version.

-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.