stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2024-03-27T18:24:20Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/1337reservations without an IP do not show up in host reservations2024-03-27T18:24:20Zmichael balesreservations without an IP do not show up in host reservations---
name: reservations without an IP do not show up in host reservations
about: Create a report to help us improve
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT
REPORT IT HERE. ...---
name: reservations without an IP do not show up in host reservations
about: Create a report to help us improve
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT
REPORT IT HERE. Please use https://www.isc.org/community/report-bug/ instead or send mail to
security-office(at)isc(dot)org.
**Describe the bug**
Stork allows the creation of reservations with just a mac address and client class but the reservation does not show up in the host reservation list.
**To Reproduce**
Steps to reproduce the behavior:
1. Install BIND9, Kea, Stork (which versions?) and run them with the following configs: '...'
2. I do the following: ...
3. A device in my network does the following: ...
4. Kea/BIND9 server does the following: ...
5. Stork does the following: ...
**Expected behavior**
A clear and concise description of what you expected to happen:
The Stork is supposed to report/do A, but didn't or did B instead.
**Environment:**
- Kea version:
2.5.6
isc20240226130228 deb
linked with:
log4cplus 2.0.5
OpenSSL 3.0.2 15 Mar 2022
database:
MySQL backend 21.0, library 8.0.36
PostgreSQL backend 20.0, library 140011
Memfile backend 3.0
- Stork: 1.15.0
- OS: Ubuntu 22.04.4 LTS x86_64
- Kea: "hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_pgsql_cb.so"
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_host_cmds.so"
}
**Additional Information**
logs from adding the reservation:
```
082 17:40:10.417 kea-dhcp4.commands COMMAND_SOCKET_CONNECTION_OPENED Opened socket 37 for incoming command connection
082 17:40:10.417 kea-dhcp4.commands COMMAND_SOCKET_READ Received 212 bytes over command socket 37
082 17:40:10.418 kea-dhcp4.commands COMMAND_RECEIVED Received command 'reservation-add'
082 17:40:10.418 kea-dhcp4.callouts HOOKS_CALLOUTS_BEGIN begin all callouts for hook $reservation_add
082 17:40:10.418 kea-dhcp4.host-cmds-hooks HOST_CMDS_RESERV_ADD reservation-add command called (parameters: { "reservation": { "client-classes": [ "known-clients-106" ], "hw-address": "C03EBA93B18D", "subnet-id": 3 } })
082 17:40:10.418 kea-dhcp4.database DATABASE_PGSQL_START_TRANSACTION starting a new PostgreSQL transaction
082 17:40:10.422 kea-dhcp4.database DATABASE_PGSQL_COMMIT committing to PostgreSQL database
082 17:40:10.423 kea-dhcp4.host-cmds-hooks HOST_CMDS_RESERV_ADD_SUCCESS reservation-add command success (parameters: { "reservation": { "client-classes": [ "known-clients-106" ], "hw-address": "C03EBA93B18D", "subnet-id": 3 } })
082 17:40:10.423 kea-dhcp4.callouts HOOKS_CALLOUT_CALLED hooks library with index 4 has called a callout on hook $reservation_add that has address 0x7ff4efd4e900 (callout duration: 5.567 ms)
082 17:40:10.423 kea-dhcp4.callouts HOOKS_CALLOUTS_COMPLETE completed callouts for hook $reservation_add (total callouts duration: 5.567 ms)
082 17:40:10.423 kea-dhcp4.commands COMMAND_SOCKET_WRITE Sent response of 38 bytes (0 bytes left to send) over command socket 37
082 17:40:10.423 kea-dhcp4.commands COMMAND_SOCKET_CONNECTION_CLOSED Closed socket 37 for existing command connection
```
after the reservation is added the reservation list in stork does not show the mac address or hostname
**Describe the solution you'd like*
Reservations without an assigned IP address should show the hostname and mac address in the reservation list.
**Additional context**
We use small DHCP pools of 20 or so addresses so handle mobile devices that are occasionally connected to the network. We managed this with isc-dhcpd previously by using global reservations with just a mac address. It looks like in isc-kea a mac address and a resource are required and my understanding is that a client class counts as a resource so the reservation should be valid. Instead of global reservations we are now using per subnet reservations.
**Funding its development**
Kea is run by ISC, which is a small non-profit organization without any government funding or any
permanent sponsorship organizations. Are you able and willing to participate financially in the
development costs?
Yes this is a possibility
**Participating in development**
Are you willing to participate in the feature development? ISC team always tries to make a feature
as generic as possible, so it can be used in wide variety of situations. That means the proposed
solution may be a bit different that you initially thought. Are you willing to take part in the
design discussions? Are you willing to test an unreleased engineering code?
Yes i am willing to participate in development.
**Contacting you**
How can ISC reach you to discuss this matter further? If you do not specify any means such as
e-mail, jabber id or a telephone, we may send you a message on github with questions when we have
them.1.17https://gitlab.isc.org/isc-projects/stork/-/issues/1318Change database for migrating hosts2024-03-12T08:19:13ZSlawek FigielChange database for migrating hostsBelow is our current database schema:
![image](/uploads/6ff3034985b96c7a7c984478bb4ff11d/image.png)
In this structure, it is impossible to recognize which Kea daemon holds a specific IP or hostname reservation.
So, we don't know on whi...Below is our current database schema:
![image](/uploads/6ff3034985b96c7a7c984478bb4ff11d/image.png)
In this structure, it is impossible to recognize which Kea daemon holds a specific IP or hostname reservation.
So, we don't know on which Kea daemon perform the migration.
I want to make the below changes:
- Replace the `ip_reservation` table's reference to `host` table with reference to `local_host`.
- Move the `hostname` column from `host` to `local_host` table
- (Optionally) Add a single-column primary key to the `local_host` table and add a unique index on the `host_id`, `data_source`, and `daemon_id` to preserve the existing constraints.1.16Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/stork/-/issues/1304Host reservation list - Reset or re-apply the filter2024-03-05T14:30:07ZSlawek FigielHost reservation list - Reset or re-apply the filterThe issue was found during 1.15 sanity checks by @piotrek: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434121 and @slawek: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434179
Piotrek wrote:
Yet another ...The issue was found during 1.15 sanity checks by @piotrek: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434121 and @slawek: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434179
Piotrek wrote:
Yet another issue found in filtered tables. This applies to all tables that use `queryParams` to keep the filter state and use `TabView` / `TabPanel` (most of tables use it).
E.g. for hosts:
* go to any Kea app
* Host Reservations -> button click
* We have filtered hosts only for that Kea app
* Click on a reservation
* Detailed view opens in tab
* Click on Host Reservations tab to go back to Table view
* We see all Host Reservations (filtering by Kea app is cleared). Text input of the filter displays remaining filter by Kea `appId`.
Slawek wrote:
Clicking the first tab on the host page lists all results but keeps the old filter.
Steps to reproduce:
1. Go to the host reservation list
1. Provide any valid value in the filter box
1. Click the first tab titled "Host Reservations"
1. Observe the table contains all host reservations, but the filter box is not empty1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1265Hosts reservations filter improvements2024-03-28T16:02:26ZPiotrek ZadrogaHosts reservations filter improvementsText Input type filter used currently in Hosts reservations view has some limitations and drawbacks (https://gitlab.isc.org/isc-projects/stork/-/issues/917#note_423973).
E.g. it is not possible to filter out all reservations in 2 subnet...Text Input type filter used currently in Hosts reservations view has some limitations and drawbacks (https://gitlab.isc.org/isc-projects/stork/-/issues/917#note_423973).
E.g. it is not possible to filter out all reservations in 2 subnets.
This could be improved by leaving existing Text Input only for filtering `byText` and introducing something different for filtering by `appId`, `subnetId`, `keaSubnetId`, `global`. This could be e.g. `multiselect` (https://primeng.org/multiselect).1.16Piotrek ZadrogaPiotrek Zadrogahttps://gitlab.isc.org/isc-projects/stork/-/issues/1134Host filtration returns unexpected results2023-08-22T13:39:07ZSlawek FigielHost filtration returns unexpected resultsThe issue was found by @slawek during [1.12 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1124#note_393202).
The subnet list displays unexpected items if the filter value is `128`.
![image](https://gitlab.isc.org/is...The issue was found by @slawek during [1.12 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1124#note_393202).
The subnet list displays unexpected items if the filter value is `128`.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/2e72740db71b46904797ac409b54b856/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1001Issue with config transaction locks2023-07-26T12:35:11ZManuelIssue with config transaction locks---
name: Config transaction locked on refreshing hosts edit page
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT
REPORT IT HERE. Please use https://www.isc.org/community/report-b...---
name: Config transaction locked on refreshing hosts edit page
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT
REPORT IT HERE. Please use https://www.isc.org/community/report-bug/ instead or send mail to
security-office(at)isc(dot)org.
**Describe the bug**
The config transaction lock is not removed when refreshing the hosts edit page, thus you can no longer start a host edit.
**To Reproduce**
Steps to reproduce the behavior:
1. Install Version 1.9.0 of Stork Server on Ubuntu
2. Add a kea dhcp4 with premium cmd plugin enabled
3. Add a host reservation
4. Click on the created host reservation
5. Scroll down, click on the edit button
6. On the edit page hit f5 to refresh the site
7. Now go back and hit the edit button again
8. You get the error: "problem with locking daemons configuration "
9. Restarting the Stork server fixes it
10. Hitting the cancel button works fine btw, it only happens when refreshing the host edit page
**Expected behavior**
It clears the transaction lock on refreshing the page.
**Contacting you**
Just comment on this issue.
Thanks!backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/963Replace existing device on a HR, obtain the same address2023-07-26T12:42:39ZVicky Riskvicky@isc.orgReplace existing device on a HR, obtain the same addressSeveral users have reported on the ([Kea-users mailing list](https://lists.isc.org/pipermail/kea-users/2023-January/003847.html)) that they want to be able to replace a device, with a new device, but on the same host reservation, and hav...Several users have reported on the ([Kea-users mailing list](https://lists.isc.org/pipermail/kea-users/2023-January/003847.html)) that they want to be able to replace a device, with a new device, but on the same host reservation, and have the new device get the address that the old device had. The solution is to delete the lease for the old device, but this is quite a complicated process.
If we could automate this for admins via Stork, that would be great. The idea would be, when the admin updates a reservation to change or add the device details, to show if there is an existing lease for that reservation, and ask if they would like to delete the existing lease for that reservation, and then do that step first, before updating the reservation, so when the new device is added, it will get the ip just released by deleting the old lease.
This is considered a 'feature' of ISC DHCP that Kea lacks (because Kea is 'stricter').backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/918Sort sections on the host reservation page by the application name alphabetic...2023-01-31T14:27:34ZSlawek FigielSort sections on the host reservation page by the application name alphabeticallyThe issue was reported during 1.8.0 sanity checks by @slawek. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/910#note_335043)
The client classes/DHCP options boxes should be sorted by the application name.
![image](https:/...The issue was reported during 1.8.0 sanity checks by @slawek. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/910#note_335043)
The client classes/DHCP options boxes should be sorted by the application name.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/ff8098164f122504f7420c05643507c5/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/905Possibility to renew the host reservation transaction2023-07-26T12:35:03ZSlawek FigielPossibility to renew the host reservation transactionThe transaction may expire if providing the host reservation data takes a bit more time. There is no possibility of renewing it. A user needs to refresh the page. It causes to loss of all provided data.
![image](/uploads/d2c59847604f746...The transaction may expire if providing the host reservation data takes a bit more time. There is no possibility of renewing it. A user needs to refresh the page. It causes to loss of all provided data.
![image](/uploads/d2c59847604f7463ce921771c4100480/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/803Host Reservation UI improvements2023-02-21T10:08:05ZTomek MrugalskiHost Reservation UI improvementsThis is a collection of random notes about my user experience with HR management. The feature is definitely usable, but there's couple little things that could be done better:
1. [ ] If it's not possible to delete HR, the button is miss...This is a collection of random notes about my user experience with HR management. The feature is definitely usable, but there's couple little things that could be done better:
1. [ ] If it's not possible to delete HR, the button is missing completely. It should be shown, but be disabled with either tooltip or some comment why is that (host_cmds not loaded, or the HR is defined in a config file, or ...). I was thinking that having a common CSS reserved for disabled features (dotted line around, washed out normal color, or blurred text).
2. [ ] radio button for hex/text. If there are only few choices, having radio button is more convenient: fewer clicks, more user friendly for touch screens and you instantly see what the alternatives are.
3. [ ] for IP reservations, the IP type seems useless. When adding the reservation for DHCPv4 service, the only possible allowed choice is IPv4. Why show it? I suppose it could be visible for v6 to give a choice between address and prefix.
4. [ ] when there's no reservations retrieved yet, the page summary says "0 of NaN pages"
5. [ ] when adding new option, I need to first pick the option from a list. Once I pick my option, the field to add its content should appear automatically. It should be of the correct type. I understand that this will require coding a list of option types. I think it would useful, even if partially done (e.g. only for option with basic types, not records).
6. [ ] The submit button should be called "Add reservation" or "add host".
7. [ ] disable "New Host" button when hosts_cmds hook is not loaded (and list of HR is "read-only")backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/800Host reservations migration from Kea config to the host database2024-03-05T12:16:14ZMarcin SiodelskiHost reservations migration from Kea config to the host databaseStork supports managing host reservations in the host database. It doesn't support managing host reservations specified in the Kea config file. Some users may wish to migrate their host reservations from the config file to a database for...Stork supports managing host reservations in the host database. It doesn't support managing host reservations specified in the Kea config file. Some users may wish to migrate their host reservations from the config file to a database for scalability reasons and to be able to manage them from Stork. This ticket proposes to add migration capability in Stork so the users can get their host reservations from the config file, move them to the Kea host database and remove from the config file.1.16Slawek FigielSlawek Figielhttps://gitlab.isc.org/isc-projects/stork/-/issues/249look up DNS names for assigned addresses2022-11-16T11:54:51ZVicky Riskvicky@isc.orglook up DNS names for assigned addressesCan we do a reverse lookup on addresses we are managing, and display any configured DNS names in Stork?
It is likely that the overwhelming proportion of addresses will NOT have a DNS name, so we have to consider that in the UI. We also ...Can we do a reverse lookup on addresses we are managing, and display any configured DNS names in Stork?
It is likely that the overwhelming proportion of addresses will NOT have a DNS name, so we have to consider that in the UI. We also don't want to DDOS the DNS server looking up stuff that isn't in there too much. Dynamically assigned addresses are far less likely to have a DNS name (despite DDNS).
We might start by looking up DNS names for host reservations only and reporting them in that panel.
Alternatively, we could have a button to look up the DNS name for a specific host reservation, and cache it and report it along with that HR, but only look them up when explicitly triggered to do so.backlog