stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2019-12-04T13:55:27Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/100UI bug: closing add user panel doesn't close anything2019-12-04T13:55:27ZTomek MrugalskiUI bug: closing add user panel doesn't close anythingI found two small bugs in the user management code.
First is trivial. The "Create UserAccount" is missing space between User and Account.
The second one is a bit more involved.
STEPS TO REPRODUCE
1. log in, click on Configuration => u...I found two small bugs in the user management code.
First is trivial. The "Create UserAccount" is missing space between User and Account.
The second one is a bit more involved.
STEPS TO REPRODUCE
1. log in, click on Configuration => users
2. Click Create UserAccount
3. There's new tab "New Account" with X on it. Click the X.
Only the tab header will disappear, but not the tab content.Stork-0.2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/189Fix docker traffic-dhcp build2020-03-06T07:45:50ZMatthijs Mekkingmatthijs@isc.orgFix docker traffic-dhcp build0.5Matthijs Mekkingmatthijs@isc.orgMatthijs Mekkingmatthijs@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/180shared networks in db should be distinghuished by inet family2020-03-05T17:00:06ZMichal Nowikowskishared networks in db should be distinghuished by inet familyWhen there are 2 networks defined, one in dhcp4 and one in dhcp6 and they have the same name then creating LocalSubnets go wrong.When there are 2 networks defined, one in dhcp4 and one in dhcp6 and they have the same name then creating LocalSubnets go wrong.0.5https://gitlab.isc.org/isc-projects/stork/-/issues/179Parsing prefix delegation pool from Kea expects invalid format of the pool2020-03-04T18:36:34ZMarcin SiodelskiParsing prefix delegation pool from Kea expects invalid format of the poolThe current code assumes that the prefix delegation pool is specified like this:
```
"pd-pools": [
{
"prefix": 2001:db8:8::/56",
"delegated-len": 96
}
]
```
whereas the actual format is:
```
"pd-pools": [
{
...The current code assumes that the prefix delegation pool is specified like this:
```
"pd-pools": [
{
"prefix": 2001:db8:8::/56",
"delegated-len": 96
}
]
```
whereas the actual format is:
```
"pd-pools": [
{
"prefix": 2001:db8:8::",
"prefix-len": 56,
"delegated-len": 96
}
]
```
This parsing must be corrected.0.5Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/159when machine is deleted its app with configuration is not deleted2020-03-05T13:18:00ZMichal Nowikowskiwhen machine is deleted its app with configuration is not deletedThis is connected with @marcin redesign where deleted field will be removed. So them it should start just work.This is connected with @marcin redesign where deleted field will be removed. So them it should start just work.0.5https://gitlab.isc.org/isc-projects/stork/-/issues/148Adding the same machine after removing it causes db constraints errors2020-03-05T13:17:52ZMarcin SiodelskiAdding the same machine after removing it causes db constraints errorsWhile I was reviewing !63, I did the following test:
- I've added a machine with one Kea server having a subnet within the shared network. It did it fine, although didn't show the subnet because the logic there does not support subnets w...While I was reviewing !63, I did the following test:
- I've added a machine with one Kea server having a subnet within the shared network. It did it fine, although didn't show the subnet because the logic there does not support subnets within a shared network
- I removed the machine via the UI. The machine got marked as deleted in the db.
- I changed the configuration of the Kea server by making the subnet global rather than belong to a shared network.
- I used UI to add the machine. The machine was added again but an error was reported while adding the app because of the constraint violation:
```
RRO[2020-02-03 13:46:43] restimpl.go:150 problem with inserting app &{0 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC 1 0xc0004ba900 kea 192.168.56.33 8000 false {1.7.3-git} { [0xc000194460 0xc0001b36c0 0xc0001b3730]}}: ERROR #23505 duplicate key value violates unique constraint "app_machine_id_ctrl_port_key
```
The machine was undeleted it seems but the app configuration remains old.0.5https://gitlab.isc.org/isc-projects/stork/-/issues/138Display of Kea hooks installed in Stork2020-03-03T16:20:51ZVicky Riskvicky@isc.orgDisplay of Kea hooks installed in Stork
**Describe the bug**
Looking at the stork demo running at http://stork.lab.isc.org:8080/machines/all
I can see that for the same application, if you look at it by first navigating to the machine and clicking on the application, you ca...
**Describe the bug**
Looking at the stork demo running at http://stork.lab.isc.org:8080/machines/all
I can see that for the same application, if you look at it by first navigating to the machine and clicking on the application, you can see the Kea hooks installed.
If you instead navigate directly to applications/Kea it says there are no hooks installed (for each of the 3 demo Kea servers that are set up). It even shows no hooks installed for the HA servers for which there is HA status shown, and I KNOW those must be running the HA hook.
**To Reproduce**
Steps to reproduce the behavior:
1. Navigate to the demo stork app
3. Select the pull down for Services and Select Kea
4. In the resulting table, click on the Kea version to bring up the detail display
5. Note there are no hooks listed
1. Now select the pull down for services and select Machines
1. Click on the word Kea under the Apps column to bring up the detail display
1. Note that there are now hooks listed.
Ponder the difference.
**Expected behavior**
I would expect since each of these screens is reporting the information about the Kea version and modules installed, that they would both show the same hooks installed.
**Environment:**
This is the version up on storklab as of 1/17/2020. I don't see a Stork version listed anywhere in the UI, but I believe it is 0.3.
If it matters, I was using the Brave browser, Version 1.1.23 Chromium: 79.0.3945.88 (Official Build) (64-bit)
**Additional Information**
![Screen_Shot_2020-01-17_at_2.38.46_PM](/uploads/bf9fb76e558e058168e598dfbaf2bade/Screen_Shot_2020-01-17_at_2.38.46_PM.png)![Screen_Shot_2020-01-17_at_2.41.53_PM](/uploads/2a65f8f3bbc8e03341b1527122c1b60c/Screen_Shot_2020-01-17_at_2.41.53_PM.png)0.5Vicky Riskvicky@isc.orgVicky Riskvicky@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/225Host reservations from config are tossed by hosts puller2020-04-03T11:49:10ZMarcin SiodelskiHost reservations from config are tossed by hosts pullerApparently, host_cmds also returns hosts from the config. The hosts puller periodically fetching the hosts from Kea instances would delete hosts with non matching sequence id. The hosts fetched from the config have non matching sequence ...Apparently, host_cmds also returns hosts from the config. The hosts puller periodically fetching the hosts from Kea instances would delete hosts with non matching sequence id. The hosts fetched from the config have non matching sequence id, thus they are removed after first fetch of the hosts from the host_cmds. This must be corrected.0.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/259Eliminate errors printed in console2023-03-07T09:16:54ZTomek MrugalskiEliminate errors printed in consoleThere are way too many errors printed when running demo.
Steps to reproduce:
1. `rake docker_up`
2. add agent-kea, agent-kea-ha1, agent-kea-ha2
Here's a couple of errors:
```
agent-kea-ha2_1 | ERRO[2020-04-28 11:40:41] promkeaexporte...There are way too many errors printed when running demo.
Steps to reproduce:
1. `rake docker_up`
2. add agent-kea, agent-kea-ha1, agent-kea-ha2
Here's a couple of errors:
```
agent-kea-ha2_1 | ERRO[2020-04-28 11:40:41] promkeaexporter.go:488 cannot get stat from daemon: response result from Kea != 0: 1, text: unable to forward command to the dhcp6 service: No such file or directory. The server is likely to be offline
agent-kea-ha2_1 | isc.org/stork/agent.(*PromKeaExporter).setDaemonStats
agent-kea-ha2_1 | /home/thomson/devel/stork/backend/agent/promkeaexporter.go:345
agent-kea-ha2_1 | isc.org/stork/agent.(*PromKeaExporter).collectStats
agent-kea-ha2_1 | /home/thomson/devel/stork/backend/agent/promkeaexporter.go:486
agent-kea-ha2_1 | isc.org/stork/agent.(*PromKeaExporter).statsCollectorLoop
agent-kea-ha2_1 | /home/thomson/devel/stork/backend/agent/promkeaexporter.go:313
agent-kea-ha2_1 | runtime.goexit
agent-kea-ha2_1 | /home/thomson/devel/stork/tools/1.13.5/go/src/runtime/asm_amd64.s:1357
```
```
gent-kea_1 | time="2020-04-28T11:40:22Z" level=error msg="ERROR: diskstats collector failed after 0.001589s: invalid line for /proc/diskstats for sdh" source="collector.go:123"
agent-kea_1 | time="2020-04-28T11:40:22Z" level=error msg="error gathering metrics: collected metric node_hwmon_temp_celsius label:<name:\"chip\" value:\"thermal_thermal_zone0\" > label:<name:\"sensor\" value:\"temp0\" > gauge:<value:27.8 > has help \"Hardware monitor for temperature ()\" but should have \"Hardware monitor for temperature (input)\"
agent-kea_1 | " source="<autogenerated>:1"
agent-kea_1 | INFO[2020-04-28 11:40:22] promkeaexporter.go:444 APP &{Type:kea AccessPoints:[{Type:control Address:127.0.0.1 Port:8000 Key:}]}
```
```
agent-bind9_1 | * collected metric node_hwmon_temp_celsius label:<name:\"chip\" value:\"platform_coretemp_0\" > label:<name:\"sensor\" value:\"temp3\" > gauge:<value:41 > has help \"Hardware monitor for temperature (input)\" but should have \"Hardware monitor for temperature ()\"
agent-bind9_1 | * collected metric node_hwmon_temp_celsius label:<name:\"chip\" value:\"platform_coretemp_0\" > label:<name:\"sensor\" value:\"temp4\" > gauge:<value:43 > has help \"Hardware monitor for temperature (input)\" but should have \"Hardware monitor for temperature ()\"
agent-bind9_1 | * collected metric node_hwmon_temp_celsius label:<name:\"chip\" value:\"platform_nct6775_656\" > label:<name:\"sensor\" value:\"temp8\" > gauge:<value:0 > has help \"Hardware monitor for temperature (input)\" but should have \"Hardware monitor for temperature ()\"
agent-bind9_1 | * collected metric node_hwmon_temp_celsius label:<name:\"chip\" value:\"platform_nct6775_656\" > label:<name:\"sensor\" value:\"temp1\" > gauge:<value:44 > has help \"Hardware monitor for temperature (input)\" but should have \"Hardware monitor for temperature ()\"
```
There may be more. I think we should catch exceptions and log something more reasonable.0.7Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/240Remote HA partner link is not displayed in docker demo2020-04-17T12:13:14ZMarcin SiodelskiRemote HA partner link is not displayed in docker demoSteps to reproduce:
- rake docker_up cache=false
- Open UI
- Add two machines: agent-kea-ha1 and agent-kea-ha2
- Click on one of the Kea apps added
The HA status shows two boxes, one for local server, one for remote. In the title of the...Steps to reproduce:
- rake docker_up cache=false
- Open UI
- Add two machines: agent-kea-ha1 and agent-kea-ha2
- Click on one of the Kea apps added
The HA status shows two boxes, one for local server, one for remote. In the title of the remote partner's box there should be a link to the partner, but it is not shown.
The reason for it seems to be that Storks ends up creating two HA services for the two apps, rather than one. I suspect that the reason for it is that their configs slightly differ. Strictly speaking they differ by the following url:
```
"url": "http://172.20.0.102:8002/"
```
vs
```
"url": "http://172.20.0.102:8002"
```
We could make the URLs comparison slightly less fragile but I think it should come in some other issue that looks at more aspects of HA configuration matching than URLs. Here, we should really just make it work with the minimal effort given the time constraints.0.7https://gitlab.isc.org/isc-projects/stork/-/issues/212lint_ui fails on files in src/assets/arm2020-05-06T09:02:55ZMarcin Siodelskilint_ui fails on files in src/assets/armI get the following errors while linting UI:
```
Checking formatting...
src/assets/arm/_static/basic.css
src/assets/arm/_static/css/badge_only.css
src/assets/arm/_static/css/theme.css
src/assets/arm/_static/doctools.js
src/assets/arm/_st...I get the following errors while linting UI:
```
Checking formatting...
src/assets/arm/_static/basic.css
src/assets/arm/_static/css/badge_only.css
src/assets/arm/_static/css/theme.css
src/assets/arm/_static/doctools.js
src/assets/arm/_static/documentation_options.js
src/assets/arm/_static/fonts/fontawesome-webfont.eot[error] No parser could be inferred for file: src/assets/arm/_static/fonts/fontawesome-webfont.eot
...
```
The commands I used:
```
$ rake build_ui
$ rake lint_ui
```
This doesn't happen if I don't build the UI prior to linting it. So this eliminates the issue:
```
$ git clean -dfx
$ rake lint_ui
```
but I want to be able to run the linter after the UI has been built. Apparently some directories need to be excluded from linting.0.7https://gitlab.isc.org/isc-projects/stork/-/issues/316agent crashes when it encounters unknown stat from kea2020-06-10T12:35:15ZMichal Nowikowskiagent crashes when it encounters unknown stat from keahttps://support.isc.org/Ticket/Display.html?id=16582https://support.isc.org/Ticket/Display.html?id=165820.8Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/248after entering kea app page with ha status there are lots of errors in the we...2020-06-03T18:16:19ZMichal Nowikowskiafter entering kea app page with ha status there are lots of errors in the web browser consolethe errors:
```
ERROR TypeError: "this._receivedStatus is undefined"
```the errors:
```
ERROR TypeError: "this._receivedStatus is undefined"
```0.8Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/245Subnet filtering bug: showing the same subnet several times2020-05-29T14:51:28ZTomek MrugalskiSubnet filtering bug: showing the same subnet several timesThere's a bug in filtering subnets. I have only agent-kea configured. It reports there are 9 subnets. I went to DHCP->Subnets and used "6" as a filtering string hoping to see only 192.0.6.0 subnet. However, it now shows 11 subnets includ...There's a bug in filtering subnets. I have only agent-kea configured. It reports there are 9 subnets. I went to DHCP->Subnets and used "6" as a filtering string hoping to see only 192.0.6.0 subnet. However, it now shows 11 subnets including 3 copies of 192.0.6.0.
If I use a longer filter string 0.6.0 it now limits the subnets correctly, but still shows 3 copies of 192.0.6.0 subnet.
This is what I have in the db:
```
stork=> select * from subnet;
id | created_at | prefix | shared_network_id | client_class | addr_utilization | pd_utilization
----+---------------------------+---------------+-------------------+--------------+------------------+----------------
1 | 2020-04-20 11:35:49.21212 | 192.0.5.0/24 | 1 | class-01-00 | |
2 | 2020-04-20 11:35:49.21212 | 192.0.6.0/24 | 1 | class-01-01 | |
3 | 2020-04-20 11:35:49.21212 | 192.0.7.0/24 | 1 | class-01-02 | |
4 | 2020-04-20 11:35:49.21212 | 192.0.8.0/24 | 1 | class-01-03 | |
5 | 2020-04-20 11:35:49.21212 | 192.0.9.0/24 | 1 | class-01-04 | |
6 | 2020-04-20 11:35:49.21212 | 192.1.15.0/24 | 2 | class-02-00 | |
7 | 2020-04-20 11:35:49.21212 | 192.1.16.0/24 | 2 | class-02-01 | |
8 | 2020-04-20 11:35:49.21212 | 192.1.17.0/24 | 2 | class-02-02 | |
9 | 2020-04-20 11:35:49.21212 | 192.0.2.0/24 | | class-00-00 | |
(9 rows)
```
and this is how it looks filtered:
![bug-duplicate-subnets](/uploads/93df4695f51dd1872cb44ec193bcf405/bug-duplicate-subnets.png)0.8Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/331Issues with initial fetch of user groups2020-07-09T15:26:51ZMarcin SiodelskiIssues with initial fetch of user groupsWhen I was reviewing #310 I found that system groups are not properly fetched by the UI. When I entered the users view, the drop down that normally allows for selecting which group the new user should belong to was empty. Also, the non a...When I was reviewing #310 I found that system groups are not properly fetched by the UI. When I entered the users view, the drop down that normally allows for selecting which group the new user should belong to was empty. Also, the non admin user had 'unknown' group assigned in the users list. It seems there was a race between services in getting the list of groups.
The viable solution seems to be to move the initialization of the groups to the `ServerDataService`.0.9https://gitlab.isc.org/isc-projects/stork/-/issues/330Blank page after logging2020-07-09T15:26:51ZMarcin SiodelskiBlank page after loggingReproduction steps:
- Login to the system and display dashboard page.
- Login to the database and remove a session from the sessions table
- Refresh the page and you should be taken to the login page
- Login to the system again
- Blank p...Reproduction steps:
- Login to the system and display dashboard page.
- Login to the database and remove a session from the sessions table
- Refresh the page and you should be taken to the login page
- Login to the system again
- Blank page should be displayed
It appears that the dashboard component displays the contents only when some stats are available. The stats are gathered upon page refresh or when the interval of 30 mins elapses. When we log in to the system there is no page refresh so the stats are not gathered. This seems to cause the page to remain blank.0.9Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/329Enable authentication for the traffic generators2020-07-09T15:26:51ZMarcin SiodelskiEnable authentication for the traffic generatorsNow that we have fixed a bug that allowed for unauthorized access to some Stork views we need to modify the DHCP and DNS traffic generators to create the session (login) prior to getting configured DHCP subnets from the server. Without t...Now that we have fixed a bug that allowed for unauthorized access to some Stork views we need to modify the DHCP and DNS traffic generators to create the session (login) prior to getting configured DHCP subnets from the server. Without this, the traffic generators fail t get the list of subnets and this makes them unusable.
The useful reference I got from @godfryd was: https://requests.readthedocs.io/en/master/user/advanced/0.9Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/327Handle HTTP 403 errors for unauthorized users2020-06-24T13:52:25ZMarcin SiodelskiHandle HTTP 403 errors for unauthorized usersThis is the follow up ticket to #119. It was found that when the session is destroyed (e.g. removed from the database) but the session information is stored in the local storage (the user didn't log off explicitly via the UI), the user g...This is the follow up ticket to #119. It was found that when the session is destroyed (e.g. removed from the database) but the session information is stored in the local storage (the user didn't log off explicitly via the UI), the user gets redirected to the forbidden page when trying to navigate to the login page. This is because, the login page sends some REST calls to the server and the server apparently returns error 403 for the unauthorized user, rather than 401. This case has to be handled and if the session doesn't exist the user must not navigate to forbidden page, even upon receiving error 403.0.9Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/326prombind9exporter does not unregister all collectors2020-07-10T12:35:26ZMichal Nowikowskiprombind9exporter does not unregister all collectorsCurrently it registers:
```go
pbe.Registry.MustRegister(version.NewCollector("bind_exporter"))
pbe.Registry.MustRegister(pbe)
if bind9Pid > 0 {
procExporter := prometheus.NewProcessCollector(
prometheus.ProcessCollectorOpts{
...Currently it registers:
```go
pbe.Registry.MustRegister(version.NewCollector("bind_exporter"))
pbe.Registry.MustRegister(pbe)
if bind9Pid > 0 {
procExporter := prometheus.NewProcessCollector(
prometheus.ProcessCollectorOpts{
PidFn: func() (int, error) {
return int(bind9Pid), nil
},
Namespace: namespace,
})
pbe.Registry.MustRegister(procExporter)
}
```
but only deregisters:
```go
// unregister bind9 counters from prometheus framework
pbe.Registry.Unregister(pbe)
```0.9Matthijs Mekkingmatthijs@isc.orgMatthijs Mekkingmatthijs@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/313Docker up does fails on rebuild2020-06-12T12:38:38ZMarcin SiodelskiDocker up does fails on rebuildThe original problem was found here: https://gitlab.isc.org/isc-projects/stork/-/merge_requests/139#note_13813
I ran this on macOS. After switching between the branches containing code differences I got build failures. Apparently, the d...The original problem was found here: https://gitlab.isc.org/isc-projects/stork/-/merge_requests/139#note_13813
I ran this on macOS. After switching between the branches containing code differences I got build failures. Apparently, the docker_up does not rebuild the code when necessary.0.9Michal NowikowskiMichal Nowikowski