Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2019-04-25T16:01:56Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/586disable dhcpdecline via configuration option2019-04-25T16:01:56ZGhost Userdisable dhcpdecline via configuration optionI disabled the DHCPDECLINE feature in the KEA source.
In our FTTH access network IP conflict never ever can happen, because of the dhcp snooping
based IP- and ARP anti spoofing, so processing the DHCPDECLINE messages from the clients is ...I disabled the DHCPDECLINE feature in the KEA source.
In our FTTH access network IP conflict never ever can happen, because of the dhcp snooping
based IP- and ARP anti spoofing, so processing the DHCPDECLINE messages from the clients is just a vulnerability.
I suggest the DHCPDECLINE feature should be disable via configuration option, global or/and subnet level.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/681Synchronize reservations between HA partners2022-11-02T16:23:36ZGhost UserSynchronize reservations between HA partnersI have bought Kea Premium hook package and I am using it for IP reservation but I have a problem not sure if that's how should be or not.
I am running kea DHCP in HA(Active/HotStandBY)- When I add a reservation on Active node it doesn't...I have bought Kea Premium hook package and I am using it for IP reservation but I have a problem not sure if that's how should be or not.
I am running kea DHCP in HA(Active/HotStandBY)- When I add a reservation on Active node it doesn't get replicated to HotStandBy node. Due to this, I am unable to use my hot standby node. Can you please have a look asap.
And what will happen if I add some reservation while other node is down - will they get replication when the node comes back online?
Kea DHCP 1.5outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1012Add a require at least version in config syntax2019-12-12T16:59:48ZFrancis DupontAdd a require at least version in config syntaxThis feature will provide a way to say the configuration file requires at least a specified Kea version. Useful for Keama and Stork, or in general for any tool which builds configuration files.This feature will provide a way to say the configuration file requires at least a specified Kea version. Useful for Keama and Stork, or in general for any tool which builds configuration files.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/1054The new status-get command may report that the servers are in touch even if t...2022-11-02T15:10:19ZMarcin SiodelskiThe new status-get command may report that the servers are in touch even if they aren'tThis is the followup ticket to https://gitlab.isc.org/isc-projects/kea/issues/1041
The new status-get command returns HA status which includes `in-touch` flag indicating if the status of the partner was gathered via successful heartbeat...This is the followup ticket to https://gitlab.isc.org/isc-projects/kea/issues/1041
The new status-get command returns HA status which includes `in-touch` flag indicating if the status of the partner was gathered via successful heartbeat. That also how we document it. However, this flag is set based on the current status of the partner which is assumed to be negative if no heartbeat went through. The truth is though that the server assumes the state "unavailable" if it can't communicate with the partner and sets the in-touch flag to true. That defeats the purpose of this flag, so should be corrected. However, the impact of this is low as this is really a corner case situation.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1186JSON translator tool for CB2024-03-21T12:21:55ZPeter DaviesJSON translator tool for CB---
name: JSON translator tool for CB
about: Importing elements from a json configuration into CB
---
**Some initial questions**
This request looks like an extension to GT [#333](https://gitlab.isc.org/isc-projects/kea/-/issues/333) "pa...---
name: JSON translator tool for CB
about: Importing elements from a json configuration into CB
---
**Some initial questions**
This request looks like an extension to GT [#333](https://gitlab.isc.org/isc-projects/kea/-/issues/333) "parser libraries for servers (for netconf)
**Is your feature request related to a problem? Please describe.**
When migrating from a json based configuration to the Configuration Backend the user must identify each element in the configuration, locate the correct hooks command and apply the appropriate parameters
**Describe the solution you'd like**
A tool which takes a json configuration file as an input. The tool should identify any elements that are CB configurable for the current Kea version and produce a set of command which will create the appropriate elements in the CB.
**Describe alternatives you've considered**
As an extra function of keama
**Additional context**
Customer ticket RT [#16203](https://support.isc.org/Ticket/Display.html?id=16203)next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/1623Config Backend migration tool2024-03-21T12:22:05ZCathy AlmondConfig Backend migration tool---
name: Control block/configuration migration tool
about: Similar to #1078, this is a request for tools to assist Kea users who decide to change their back-end provisioning - in this instance, their configuration. This should (ideally...---
name: Control block/configuration migration tool
about: Similar to #1078, this is a request for tools to assist Kea users who decide to change their back-end provisioning - in this instance, their configuration. This should (ideally) cater for all scenarios, so not just changing which DB backend is being used, but also migration from not-CB to CB and vice versa
---
I don't think anyone else has opened this yet - but if we do tackle this, it would be worth bearing in mind that configuration/CB backend version control or logging might also turn out to be A Thing - so we need to consider that use case/evolution in the design too.
**Is your feature request related to a problem? **
See [Support ticket #17332](https://support.isc.org/Ticket/Display.html?id=17332) for details of which customer for whom this would be useful.
The likelihood is that they will wish to implement CB backend on the DB backend on which it's available now, but migrate to their preferred DB backend, once there is CB support there too (as well as complete coverage of all configuration options in the CB - at the moment there isn't).
**Update**: As discussed in [Porto](https://pad.isc.org/p/porto2022-stork-roadmap-and-backlog#L31), we'd like to make more generic. While the ultimate solution will likely cover Stork overseeing the migration, some parts of the functionality should be implemented in Kea. In particular, the following was discussed:
- `config-get`/`config-set` like commands that would retrieve/set the full configuration from CB
Once the above is implemented, it will open up plenty of opportunities for Stork. In particular, scenarios such as: "add subnets defined in a config file to CB, delete subents from config file, write updated config file to disk". The same can be repeated for other configuration elements (shared networks, classes, HR, etc).next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/2217How to delete unused host reservations2023-04-05T13:27:33ZjujuHow to delete unused host reservationsI made some changes to my host reservations and now have a bunch of them that are not going to be used anymore. I can't figure out how to delete them. I see them in stork but don't have an idea how to permanently remove them. I have an ...I made some changes to my host reservations and now have a bunch of them that are not going to be used anymore. I can't figure out how to delete them. I see them in stork but don't have an idea how to permanently remove them. I have an HA setup with 2 kea servers and store the data in a postgresdb. I searched around but cant find any info on how to clean up the host reservations.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/2343CB migration assistant2024-03-21T12:21:07ZPeter DaviesCB migration assistant---
name: CB migration assistant
about: A method to migrate to CB
---
When users need to migrate from a file-based json configuration to the Configuration Backend, or to migrate between the supported databases, it would be useful if **...---
name: CB migration assistant
about: A method to migrate to CB
---
When users need to migrate from a file-based json configuration to the Configuration Backend, or to migrate between the supported databases, it would be useful if **Kea** provided some tool to support this.
Possible methods could:
The implementation of two new **CB** commands ie:
**remote-server4-config-get**
and
**remote-server4-config-set**
Or alternatively the enhancement of the **kea-admin** tool to provide this functionality.
[RT #17095](https://support.isc.org/Ticket/Display.html?id=17095)
[RT #20167](https://support.isc.org/Ticket/Display.html?id=20167)
[RT #21508](https://support.isc.org/Ticket/Display.html?id=21508)
Requested migrations: MySQL -> Postgres, also config to MySQL, config to PostgreSQL.next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/2637Regular expressions in Stork2023-04-06T12:02:30ZPeter DaviesRegular expressions in StorkTo enable the use of regular expression is Stork
see: https://gitlab.isc.org/isc-projects/stork/-/issues/901
It may be necessary to change the behaviour of leaseX-get-* commandsTo enable the use of regular expression is Stork
see: https://gitlab.isc.org/isc-projects/stork/-/issues/901
It may be necessary to change the behaviour of leaseX-get-* commandsbackloghttps://gitlab.isc.org/isc-projects/kea/-/issues/2705host-cmds without databases2023-01-26T16:58:14ZTomek Mrugalskihost-cmds without databases`host-cmds` is one of the most popular hooks. It has one major limitation: it is not able to edit running configuration and it needs a database.
Modification of a config-file based configuration is rather easy technically. The reluctanc...`host-cmds` is one of the most popular hooks. It has one major limitation: it is not able to edit running configuration and it needs a database.
Modification of a config-file based configuration is rather easy technically. The reluctance to implement this was based on the grounds that the modified config has to be written (`config-write`) or the changes would be lost after restart/reconfiguration.
This was discussed in Porto and we decided this kind of functionality would be useful for Stork. We can mitigate the concern raised above by properly documenting it and perhaps returning something in the API response that config-write is highly recommended (but not mandatory - there are valid use cases where tweaking HR data is desired to be temporary).
This is a follow-up for `Stork roadmap and backlog` discussion in Porto.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/2802Implement `bundle` command2023-04-11T11:07:55ZTomek MrugalskiImplement `bundle` commandThe idea for this API call came from @marcin. Here's the discussion: https://pad.isc.org/p/stork-cb-migration#L64
The overall long term goal is to have a command that could include multiple other commands and run them one after another ...The idea for this API call came from @marcin. Here's the discussion: https://pad.isc.org/p/stork-cb-migration#L64
The overall long term goal is to have a command that could include multiple other commands and run them one after another as one change-set. Couple scenarios where this might be useful:
- changing subnet and all host reservations in it
- deleting subnet and all leases associated
- reservation migration from config file to database
This mechanism, if implemented correctly, will be very powerful.
One important feature of this new command is the ability to rollback changes if configurable number of errors is reached. It's important to acknowledge that full rollback in generic case is not possible, so this rollback should be limited to DB operations _for now_. We hope to expand the rollback in the future to maybe cover some other commands, but it will never be possible to rollback everything.
Since there are many ways how this could be implemented, I think the first step would be come up with a mini-design. Couple paragraphs in the ticket or on wiki should do the trick.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/3082kea-ctrl-agent and dual stack listening2024-03-21T11:45:53ZDarren Ankneykea-ctrl-agent and dual stack listeningThe `kea-ctrl-agent` can presently only listen on one address, be that an IPv4 or IPv6 address. If you have a dual stack on the equipment where you want to listen, then you have to choose either the IPv4 or the IPv6 address to configure...The `kea-ctrl-agent` can presently only listen on one address, be that an IPv4 or IPv6 address. If you have a dual stack on the equipment where you want to listen, then you have to choose either the IPv4 or the IPv6 address to configure in the `kea-ctrl-agent.json`.
I propose to add a new parameter to the kea-ctrl-agent configuration "http-hosts" as shown:
```
{
"Control-agent": {
"http-hosts": [
"2001:db8::2",
"10.1.2.2"
],
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/socket4"
}
}
}
}
```
This would allow listening on multiple IP addresses especially in a dual stack environment. Also, the new parameter would preserve backward compatibility.
FYI: I did solve this problem by running two copies of the `kea-ctrl-agent`. However, I'm not convinced that is a good solution. Configurations and other details included below for illustration.
<details><summary>kea-dhcp4.json</summary>
```
{
"Dhcp4": {
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/socket4"
},
"interfaces-config": {
"interfaces": [
"ens256"
]
},
"lease-database": {
"type": "memfile",
"persist": false
},
"subnet4": [
{
"subnet": "10.1.2.0/24",
"id": 1,
"option-data": [
{
"name": "routers",
"data": "10.1.2.1"
}
],
"pools": [
{
"pool": "10.1.2.100 - 10.1.2.254"
}
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"severity": "INFO",
"output_options": [
{
"output": "stdout"
}
]
}
]
}
}
```
</details>
<details><summary>kea-ctrl-agent-v4.json</summary>
```
{
"Control-agent": {
"http-host": "10.1.2.2",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/socket4"
}
}
}
}
```
</details>
<details><summary>kea-ctrl-agent-v6.json</summary>
```
{
"Control-agent": {
"http-host": "2001:db8::2",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/socket4"
}
}
}
}
```
</details>
<details><summary>Configuration of ens256</summary>
```
3: ens256: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:c0:5f:47 brd ff:ff:ff:ff:ff:ff
altname enp26s0
inet 10.1.2.2/24 brd 10.1.2.255 scope global ens256
valid_lft forever preferred_lft forever
inet6 2001:db8::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec0:5f47/64 scope link
valid_lft forever preferred_lft forever
```
</details>
<details><summary>Daemon command lines</summary>
```
kea-dhcp4 -c kea-dhcp4.json
```
```
kea-ctrl-agent -c kea-ctrl-agent-v4.json
```
```
kea-ctrl-agent -c kea-ctrl-agent-v6.json
```
</details>
<details><summary>Send config-get with curl to both</summary>
```
curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get", "service": [ "dhcp4" ] }' http://10.1.2.2:8000/ | jq
```
```
curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get", "service": [ "dhcp4" ] }' http://[2001:db8::2]:8000/
```
</details>
Both returned a result successfully.
[SF1260](https://isc.lightning.force.com/lightning/r/Case/5007V00002X2x4cQAB/view)next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/3195Modifying pools using the subnetX_update commands does not update statistics2024-03-27T16:11:27ZMarcin SiodelskiModifying pools using the subnetX_update commands does not update statisticsI tested the latest addition to Stork - pools management. I had a subnet without pools initially. I added some address pools to the subnet and saved the changes. It results in sending `subnet4_update` followed by `config-write`. The stat...I tested the latest addition to Stork - pools management. I had a subnet without pools initially. I added some address pools to the subnet and saved the changes. It results in sending `subnet4_update` followed by `config-write`. The statistics (in particular `total-addresses` counter) has not been changed to reflect the new pools capacity. I am able to force recounting the statistics by sending the `config-reload` command, but that's not how it is supposed to work.kea2.5.8