[Kea-users] Fwd: Storing host reservation in custom database

Marcin Romanowski marcin at nicram.net
Sun May 31 21:49:16 UTC 2020


niedz., 31 maj 2020 o 22:27 Dajka Tamás <viper at vipernet.hu> napisał(a):

> Yes, you’re right, there should be just one doc J But you can’t stop
> others, from making a copy… (I did not check it, but I think ’
> readthedocs.io’ is just a copy, or collector page, not any official
> documentation).
>

Yeah, you're right




>
>
> Host reservation are in the docs, but it points to kea wiki at gitlab J
> (it’s a bit messy)
>

Yes, host reservation are in the docs but assumes that there is
separate database for kea. This link to wiki
https://gitlab.isc.org/isc-projects/kea/wikis/designs/commands#23-host-reservations-hr-management
does't provide any examples and is describing version v1.0 :(

Currently (Kea 1.0), Kea allows storing host reservations in the
> configuration file and there's work in progress to allow storing HR in
> MySQL and PostgreSQL.


I think It's out of date :)


>
>
>
> https://kea.readthedocs.io/en/kea-1.6.2/arm/dhcp4-srv.html#storing-host-reservations-in-mysql-postgresql-or-cassandra
>
>
>
> However, one link in the docs (not in the wiki) points you to the IPv6
> setting, which is the same as v4:
>
>
>
> https://kea.readthedocs.io/en/kea-1.6.2/arm/dhcp6-srv.html#hosts6-storage
>
>
>
> (just replace Dhcp6 with Dhcp4 – use the appropriate config file)
>


The same is in Dhcp4 :) But this is not the point.
Of course, I can make seperate database designed for kea and store in
hosts, but hosts I have in other database which is always up to date.

According to this

> 9.2.3.2. Using Read-Only Databases for Host Reservations with DHCPv6
> In some deployments the database user whose name is specified in the
> database backend configuration may not have write privileges to the
> database.[...]. In many cases administrators have deployed inventory
> databases, which contain substantially more information about the hosts
> than just the static reservations assigned to them. The *inventory
> database can be used to create a view* of a Kea hosts database and such a
> view is often *read-only*.
> [...] However, if access to a read-only host database is required for
> retrieving reservations for clients and/or assigning specific addresses and
> options, it is possible to explicitly configure Kea to start in “read-only”
> mode. This is controlled by the readonly boolean parameter


I need to do it exactly in that way described above - using a view. But,
kea when connects to database SELECTs from `hosts` table. In my database
schema I have already that table and it isn't kea's schema.
Second problem is that in official documentation there is no information
what type of data I should return in my *view *(this I've found on
https://gitlab.isc.org/isc-projects/kea/-/wikis/docs/editing-host-reservations
)

So any help with nameing is welcome. I've try do create view between kea an
my_database but postgres doesn't allow creating views between databases :(
I also tried to create schema for kea in my_database but when I tried to
configure name with schema "name = my_database.kea" this  returned error
connecting to database :(



ps. Sorry Tom, I didn't notice that I ansewred directly to you instead to
list :)

Cheers



>
>
> Cheers,
>
>
>
>             Tom
>
>
>
>
>
> *From:* Marcin Romanowski [mailto:marcin at nicram.net]
> *Sent:* Sunday, May 31, 2020 5:25 PM
> *To:* Dajka Tamás <viper at vipernet.hu>
> *Subject:* Re: [Kea-users] Storing host reservation in custom database
>
>
>
>
>
>
>
> niedz., 31 maj 2020 o 16:58 Dajka Tamás <viper at vipernet.hu> napisał(a):
>
> gitlab can be misleading, since it can contain the latest (unstable)
> version’s stuff.
>
>
>
> IMHO, readthedocs.io is the same as downloads.isc.org (but the later
> seems a bit more official to me).
>
>
>
> :) IMHO there should be one place where documentation is stored.
>
>
>
>
>
>
>
> Anyway, if you use ’kea-admin db-init’ as stated in the docs, that should
> create the tables for you:
>
>
>
> https://kea.readthedocs.io/en/kea-1.6.2/arm/admin.html
>
>
>
> https://kea.readthedocs.io/en/kea-1.6.2/arm/admin.html#mysql
>
>
>
>
>
> Yes, you are right, kea-admin can create schema for me, but if you are
> going to keep data in separate database and if you have write permissions.
>
> I'm going to store leases in a memory file, I'd like to get hosts
> reservations from my current database where these data are stored. So
> corresponding to documentation I want to use read-only "database" which be
> pointed to my database where  I'm going to create a view.  I have two
> problems with this:
>
>  - kea needs hosts table which is already present in my schema
>
>  - there is no in doc which and what type data i should "return" for hosts
> reservation.
>
>
>
> About first, I cannot find solution, where I can set configuration to
> point other table than hosts :)
>
> About second, I've found examples on
> https://gitlab.isc.org/isc-projects/kea/-/wikis/docs/editing-host-reservations (IMHO
> this should be in main documentary).
>
>
>
>
>
>
>
> *From:* Marcin Romanowski [mailto:marcin at nicram.net]
> *Sent:* Sunday, May 31, 2020 1:45 PM
> *To:* Dajka Tamás <viper at vipernet.hu>
> *Subject:* Re: [Kea-users] Storing host reservation in custom database
>
>
>
>
>
>
>
> niedz., 31 maj 2020 o 13:22 Dajka Tamás <viper at vipernet.hu> napisał(a):
>
> I think you should read the WHOLE documentation before trying to set up
> complex things.
>
>
>
> I have read whole documentation on
> https://kea.readthedocs.io/en/kea-1.6.2/index.html , problem is that
> documentation is spreaded, You provided me from downloads.isco.org, I
> read on kea.readthedocs.io and about db structure I have found on gitlab
> so which is official? There should be one place with documentation
>
>
>
>
>
>
>
>
>
> For the SQL you’ll have to set up the schema first – see docs -, set up
> KEA to use MySQL not just for leases, but for hosts too (separate part in
> ipv4/6 config)
>
>
>
> https://downloads.isc.org/isc/kea/1.7.7/doc/html/arm/admin.html <- start
> somewhere here
>
>
>
>
>
> Yes, I have read this and there is that I can provide read-only tables
> (views) from my own database but there is no explanation what data format I
> should return.
>
>
>
>
>
> This documentation
> https://downloads.isc.org/isc/kea/1.7.7/doc/html/arm/dhcp6-srv.html#using-read-only-databases-for-host-reservations-with-dhcpv6 also
> doesn't tell what type of data I should return and how to alias hosts
> table.
>
> In my database I already have hosts table but this isn't kea format
>
>
>
>
>
> So this is reason of my questions
>
>
>
>
>
>
>
>
>
> Cheers,
>
>
>
>                Tom
>
>
>
> *From:* Kea-users [mailto:kea-users-bounces at lists.isc.org] *On Behalf Of *Marcin
> Romanowski
> *Sent:* Sunday, May 31, 2020 1:06 PM
> *To:* kea-users at lists.isc.org
> *Subject:* Re: [Kea-users] Storing host reservation in custom database
>
>
>
> I have found this documentation
> https://gitlab.isc.org/isc-projects/kea/-/wikis/docs/editing-host-reservations this
> what I was looking for.
>
> But I cannot find information, how to configure the "hosts" table :( In my
> database I have that table name already so I can prepare view but this
> cannot be named 'hosts" but kea make SELECT on this table :(
>
>
>
> niedz., 31 maj 2020 o 10:04 Marcin Romanowski <marcin at nicram.net>
> napisał(a):
>
>
>
>
> Hello,
>
> I'd like to store dhcpv4 host reservations in my database which is
> currently in production. In documentation I've found, that I can create my
> own view and configure it as read-only.
>
>
>
> In kea database schema there are columns in host table:
>
>   host_id SERIAL PRIMARY KEY NOT NULL,
>   dhcp_identifier BYTEA NOT NULL,
>   dhcp_identifier_type SMALLINT NOT NULL,
>   dhcp4_subnet_id INT DEFAULT NULL,
>   dhcp6_subnet_id INT DEFAULT NULL,
>   ipv4_address BIGINT DEFAULT NULL,
>   hostname VARCHAR(255) DEFAULT NULL,
>   dhcp4_client_classes VARCHAR(255) DEFAULT NULL,
>   dhcp6_client_classes VARCHAR(255) DEFAULT NULL
>
>
>
>
>
> My question is about `dhcp_identifier` column and ipv4_address. This
> should be hw-address, duid corresponding to dhcp_identifier_type. In my
> database ipv4 address I store as ::inet.
>
> dhcp4_subnet_id is integer. So I have to in config add subnet_id argument
> or I can return string for example "192.168.12.0/24" as subnet?
>
> How could I return data in my view to be proper format for kea?
>
>
>
> Best regards
>
> MarcinR
>
>
>
>
>

-- 
Marcin Romanowski / nicraM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20200531/cb0ba4c7/attachment-0001.htm>


More information about the Kea-users mailing list