stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2019-10-17T14:42:41Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/20Create the initial Stork database schema and the migrations tooling2019-10-17T14:42:41ZMarcin SiodelskiCreate the initial Stork database schema and the migrations toolingWe need initial version of the database which requires tables for storing users and passwords as well as the tables for sessions. There should be a way to create this database using the *migrations* tool.We need initial version of the database which requires tables for storing users and passwords as well as the tables for sessions. There should be a way to create this database using the *migrations* tool.Stork-0.1https://gitlab.isc.org/isc-projects/stork/-/issues/23Machines: listing, add new machine, fetch a machine in both frontend and the ...2019-10-31T17:33:41ZMarcin SiodelskiMachines: listing, add new machine, fetch a machine in both frontend and the backend.We have to create a view with a list of machine and with a selected machine. We have to be able to specify new machine information and store it in the db. The operational status of the machine should be available.We have to create a view with a list of machine and with a selected machine. We have to be able to specify new machine information and store it in the db. The operational status of the machine should be available.Stork-0.1Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/25Users: manage users by the user with administrator's privileges.2019-12-02T16:09:20ZMarcin SiodelskiUsers: manage users by the user with administrator's privileges.Initially, we will have two roles in the system: superuser and the regular user. The super user should be able to manage the user information: add new user with a generated password. The user should be able to log in to the system and be...Initially, we will have two roles in the system: superuser and the regular user. The super user should be able to manage the user information: add new user with a generated password. The user should be able to log in to the system and be prompted to change the password.Stork-0.2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/88add storing machines in database2019-12-05T13:15:10ZMichal Nowikowskiadd storing machines in databaseStork-0.2https://gitlab.isc.org/isc-projects/stork/-/issues/24Services: listing, add new service, fetch a service in both frontend and the ...2019-12-23T11:21:38ZMarcin SiodelskiServices: listing, add new service, fetch a service in both frontend and the backend.We have to create a view with a list of services and with a selected service. We have to be able to specify new service information and store it in the db. The operational status of the service should be available.We have to create a view with a list of services and with a selected service. We have to be able to specify new service information and store it in the db. The operational status of the service should be available.Stork-0.3https://gitlab.isc.org/isc-projects/stork/-/issues/82add reconnecting to DB in server2020-01-14T16:41:07ZMichal Nowikowskiadd reconnecting to DB in serverCurrently when 2 containers with server and postgres are starting it happens that server is quicker and fails while connectint to the db. To fix this server should retry connecting.Currently when 2 containers with server and postgres are starting it happens that server is quicker and fails while connectint to the db. To fix this server should retry connecting.Stork-0.3https://gitlab.isc.org/isc-projects/stork/-/issues/123Delete machine does not delete apps2020-01-27T08:38:16ZMatthijs Mekkingmatthijs@isc.orgDelete machine does not delete appsDelete machine sets a time in the `deleted` column in the database. This will no longer show the machine in the UI.
However, there is no update to the machine's applications and they will stay visible on the Dashboard.Delete machine sets a time in the `deleted` column in the database. This will no longer show the machine in the UI.
However, there is no update to the machine's applications and they will stay visible on the Dashboard.Stork-0.4Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/136add storing Kea config in kea daemons in database2020-02-05T10:28:46ZMichal Nowikowskiadd storing Kea config in kea daemons in databaseStork-0.4Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/137Create database model for services2020-02-17T09:09:24ZMarcin SiodelskiCreate database model for servicesA service is a collection of applications which together provide some functionality. The Kea HA is the first use case for services in Stork. We need to define a model in the database which can be used for representing Kea HA, but also DN...A service is a collection of applications which together provide some functionality. The Kea HA is the first use case for services in Stork. We need to define a model in the database which can be used for representing Kea HA, but also DNS anycast service or anything else that will be defined in the future.0.5Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/165Create database model for subnets and shared networks2020-02-27T09:03:20ZMarcin SiodelskiCreate database model for subnets and shared networksWe need to support the model in which the database holds a single instance of a given subnet and multiple servers can be associated with it, e.g. in a load balancing case. We should be able to edit this subnet and then deploy it to the s...We need to support the model in which the database holds a single instance of a given subnet and multiple servers can be associated with it, e.g. in a load balancing case. We should be able to edit this subnet and then deploy it to the selected DHCP servers. As a first step (with this ticket) we should be able to detect the subnets from the Kea servers` configurations and store them in the dedicated tables.0.5Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/172Use the new subnet data model in REST API2020-02-28T16:55:09ZMarcin SiodelskiUse the new subnet data model in REST APIThis is a followup work to #165. There are two major changes required:
- When an app is added to the database we need to parse its configuration and detect the subnets it belongs to. Those subnets have to be stored in the database.
- The...This is a followup work to #165. There are two major changes required:
- When an app is added to the database we need to parse its configuration and detect the subnets it belongs to. Those subnets have to be stored in the database.
- The REST API has to be modified to return the new subnet and shared network instances.0.5https://gitlab.isc.org/isc-projects/stork/-/issues/173implement storing lease stats2020-03-03T13:41:16ZMichal Nowikowskiimplement storing lease statsQueried periodically lease stats by StatsPuller in server/apps/kea should store retrieved stats to LocalSubnet table.
part of: #47 Queried periodically lease stats by StatsPuller in server/apps/kea should store retrieved stats to LocalSubnet table.
part of: #47 0.5Michal NowikowskiMichal Nowikowskihttps://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/170App can have multiple access points2020-03-10T15:54:17ZMatthijs Mekkingmatthijs@isc.orgApp can have multiple access pointsFor example, BIND9 can be accessed with `rndc` to control the daemon, or via the statistics-channel to get metrics.
Change the stork code such that multiple access points are allowed.For example, BIND9 can be accessed with `rndc` to control the daemon, or via the statistics-channel to get metrics.
Change the stork code such that multiple access points are allowed.0.6Matthijs Mekkingmatthijs@isc.orgMatthijs Mekkingmatthijs@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/177all timestamp fields in database should have `_at` suffix2020-03-13T07:53:49ZMichal Nowikowskiall timestamp fields in database should have `_at` suffixThis is popular approach for naming timestamps:
* https://opensource.zalando.com/restful-api-guidelines/#235
* https://www.omise.co/upgrade-guide-2017-to-2019#new-naming-conventions
* https://app.sugarwod.com/developers-api-docs
In Go ...This is popular approach for naming timestamps:
* https://opensource.zalando.com/restful-api-guidelines/#235
* https://www.omise.co/upgrade-guide-2017-to-2019#new-naming-conventions
* https://app.sugarwod.com/developers-api-docs
In Go this is `At` suffix. Examples:
- in DB: stats_collected_at
- in Go: StatsCollectedAt
In Stork 'created' columns should be renamed to `created_at`.0.6https://gitlab.isc.org/isc-projects/stork/-/issues/169add storing and getting settings in database2020-03-13T17:49:26ZMichal Nowikowskiadd storing and getting settings in databaseref:
- https://gitlab.isc.org/isc-projects/stork/merge_requests/76#note_110969
- https://gitlab.isc.org/isc-projects/stork/-/wikis/Designs/Settings-in-Databaseref:
- https://gitlab.isc.org/isc-projects/stork/merge_requests/76#note_110969
- https://gitlab.isc.org/isc-projects/stork/-/wikis/Designs/Settings-in-Database0.6https://gitlab.isc.org/isc-projects/stork/-/issues/188Add data model for host reservations2020-03-17T17:54:47ZMarcin SiodelskiAdd data model for host reservationsWe need a data model in the Stork database to store host reservations. Multiple reservations may appear for a single host and the host may be identified in various ways, e.g. using MAC address, using DHCP specific values such as client i...We need a data model in the Stork database to store host reservations. Multiple reservations may appear for a single host and the host may be identified in various ways, e.g. using MAC address, using DHCP specific values such as client identifier or anything else. This ticket adds such model to the database. The reservations should initially include IP addresses and delegated prefixes. We don't store DHCP options at this point for host reservations.0.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/206Create host reservations when adding Kea app2020-03-18T20:49:07ZMarcin SiodelskiCreate host reservations when adding Kea appThe #188 introduces mechanisms to parse host reservations stored in the Kea configuration files. This issue is about triggering those mechanisms when the Kea app is being added to Stork. As a result, host reservations should be inserted ...The #188 introduces mechanisms to parse host reservations stored in the Kea configuration files. This issue is about triggering those mechanisms when the Kea app is being added to Stork. As a result, host reservations should be inserted to the database.0.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/228Database model for Kea High Availability2020-04-15T15:01:47ZMarcin SiodelskiDatabase model for Kea High AvailabilityAs of Kea 0.6.0, the HA status is fetched directly from the monitored Kea servers and displayed in the UI. We'd like to move to a different model in which the Stork server is fetching the HA status from the servers and stores them in the...As of Kea 0.6.0, the HA status is fetched directly from the monitored Kea servers and displayed in the UI. We'd like to move to a different model in which the Stork server is fetching the HA status from the servers and stores them in the database. The UI can then fetch this information from the db along with some additional information not present in the response to the `status-get` command. Such information may include things like last failover event seen from the Stork server's perspective or anything else that the server is able to gather from the Kea servers over a period of time.
This ticket extends the Stork database to accommodate the HA specific information.0.7Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/stork/-/issues/203Handle incorrect DB credentials better.2020-04-16T15:51:04ZTomek MrugalskiHandle incorrect DB credentials better.The following discussion from !87 should be addressed:
- [ ] @tomek started a [discussion](https://gitlab.isc.org/isc-projects/stork/-/merge_requests/87#note_116349): (+1 comment)
> Install server using DEB on ubuntu 19.10. I did ...The following discussion from !87 should be addressed:
- [ ] @tomek started a [discussion](https://gitlab.isc.org/isc-projects/stork/-/merge_requests/87#note_116349): (+1 comment)
> Install server using DEB on ubuntu 19.10. I did not modify server.env yet. Here's what I saw:
>
> ```
> mar 13 12:34:10 billabong stork-server[13274]: INFO[2020-03-13 12:34:10] main.go:18 Starting Stork Server, version 0.4.0, build date 2020-03-13 10:13
> mar 13 12:34:10 billabong stork-server[13274]: database password:
> mar 13 12:34:10 billabong stork-server[13274]: 2020/03/13 12:34:10 inappropriate ioctl for device
> ```
>
> Two comments:
>
> 1. printing database password must go away.
> 2. the "inappropriate ioctl for device" message is confusing. I suspect the reason is that I haven't set values in server.env, but the error message should be more meaningful. Maybe some check if those are not defined or empty? Some empty params are ok (e.g. password).0.7Michal NowikowskiMichal Nowikowski