stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2022-11-16T11:54:50Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/121Application detection causes Stork Agent to crash at times on macOS2022-11-16T11:54:50ZMarcin SiodelskiApplication detection causes Stork Agent to crash at times on macOSI observed Stork Agent crashes on macOS while receiving GRPC calls.I observed Stork Agent crashes on macOS while receiving GRPC calls.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/328Spelling errors in the database2023-07-27T12:21:13ZMarcin SiodelskiSpelling errors in the databaseWee have spelling errors in the database in the per subnet statistics. It should be `assigned-addresses`, but it is `assigned-addreses` (with single s). This error is repeated for total addresses and declined addresses too.Wee have spelling errors in the database in the per subnet statistics. It should be `assigned-addresses`, but it is `assigned-addreses` (with single s). This error is repeated for total addresses and declined addresses too.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/410stork should not use colors in logs if it is running as a service without ter...2022-02-04T09:07:57ZMichal Nowikowskistork should not use colors in logs if it is running as a service without termnalCurrently people copy/paste logs with ANSI escape codes for colors.
This should not happen.
```
Sep 21 14:46:22 bind_server stork-agent: #033[33mWARN#033[0m[2020-09-21 14:46:22] bind9.go:284 cannot parse BIND 9 statistics-c...Currently people copy/paste logs with ANSI escape codes for colors.
This should not happen.
```
Sep 21 14:46:22 bind_server stork-agent: #033[33mWARN#033[0m[2020-09-21 14:46:22] bind9.go:284 cannot parse BIND 9 statistics-channels clause
Sep 21 14:46:32 bind_server stork-agent: #033[33mWARN#033[0m[2020-09-21 14:46:32] bind9.go:91 cannot parse BIND 9 inet configuration: no match (controls {
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/90When UI is running, but the server is not, the login error is incorrect2024-02-13T15:24:02ZTomek MrugalskiWhen UI is running, but the server is not, the login error is incorrectHere's something I came up with while playing with Stork on MacOS.
- The UI is running (rake serve_ui)
- The server was NOT running
There's a correct error printed on the console:
```
[HPM] Error occurred while trying to proxy request ...Here's something I came up with while playing with Stork on MacOS.
- The UI is running (rake serve_ui)
- The server was NOT running
There's a correct error printed on the console:
```
[HPM] Error occurred while trying to proxy request /api/version from localhost:4200 to http://localhost:8080 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
[HPM] Error occurred while trying to proxy request /api/sessions?useremail=sdds&userpassword=sdsd from localhost:4200 to http://localhost:8080 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
[HPM] Error occurred while trying to proxy request /api/sessions?useremail=admin&userpassword=admin from localhost:4200 to http://localhost:8080 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
```
However, when trying to log in with known credentials, the UI says the login or password was incorrect. There should be a different error message saying something like "unable to contact Stork server" or similar.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/583Statepuller - only one refresh at a time2021-11-16T14:28:25ZSlawek FigielStatepuller - only one refresh at a timetl;dr: Statepuller rarely return HTTP 500 on update an agent state, but it doesn't corrupt a database.
### Description
We have a hard-to-resolve race problem with updating machine state in the Stork ("statepuller.go", `GetMachineAndApp...tl;dr: Statepuller rarely return HTTP 500 on update an agent state, but it doesn't corrupt a database.
### Description
We have a hard-to-resolve race problem with updating machine state in the Stork ("statepuller.go", `GetMachineAndAppsState`). The problem occurs when the Stork tries refreshing an application state from multiple goroutines at the same time.
Refresh may be triggered by:
* On Stork start
* Periodically
* On user request
Some refresh procedures may be called at the same time. Refresh state looks like this:
1. Get state from an agent
2. Get state from a database
3. Calculate diff
4. Provide changes in the application
5. Provide changes in the subnets and others
Points 2, 4, and 5 are doing in a separate transaction. It may happen that after fetching state from the database (2.) and calculate diffs (3.) in one goroutine, another goroutine modified the application. It causes that the calculated diffs are incorrect. The exception is thrown from point 4. where the unique index constraints are checked.
It crashes on point 4. I try to fix it by handle the unique constraint violation. And it goes next to point 5. There aren't unique indexes - all pass through, but the subnets and other data are duplicated.
### Risk analysis
The problem is quite rare as it occurs only when the state of a new agent is inserted. It shouldn't be also very dangerous as the unique constraints protect the database against duplication of data.
But it may be a problem if somebody wants to use Stork API in the external project (as API unexpectedly returns HTTP 500) or it may interrupt processing in a function that calls the state update.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/659Stork Server shutting down event it logged twice2023-12-06T09:19:10ZSlawek FigielStork Server shutting down event it logged twiceThe issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253038
When running stork-server in the console and shutting it down with ctrl-c, the shutting down event...The issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253038
When running stork-server in the console and shutting it down with ctrl-c, the shutting down event it logged twice.![stork-double-shutdown](https://gitlab.isc.org/isc-projects/stork/uploads/327df5a8afea527115b241c8a4b94cd6/stork-double-shutdown.png)
Here's what I see in the console:
```
^CINFO[2021-12-07 14:57:25] main.go:37 Received Ctrl-C signal
INFO[2021-12-07 14:57:25] eventcenter.go:117 event 'shutting down Stork Server'
INFO[2021-12-07 14:57:25] server.go:224 Shutting down Stork Server
INFO[2021-12-07 14:57:25] restservice.go:312 Stopping ReST API Service
INFO[2021-12-07 14:57:25] restservice.go:257 stopped serving Stork Server
INFO[2021-12-07 14:57:25] eventcenter.go:117 event 'shutting down Stork Server'
INFO[2021-12-07 14:57:25] sse.go:65 to 0xc0009581c0 sent {"ID":32,"CreatedAt":"2021-12-07T13:57:25.837546Z","Text":"shutting down Stork Server","Level":0,"Relations":{},"Details":""}
INFO[2021-12-07 14:57:25] server.go:224 Shutting down Stork Server
INFO[2021-12-07 14:57:25] restservice.go:312 Stopping ReST API Service
INFO[2021-12-07 14:57:25] sse.go:65 to 0xc0009581c0 sent {"ID":33,"CreatedAt":"2021-12-07T13:57:25.839525Z","Text":"shutting down Stork Server","Level":0,"Relations":{},"Details":""}
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/664Invalid position of the machine paging bar2023-07-27T12:24:13ZSlawek FigielInvalid position of the machine paging barThe issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253085
![Zrzut_ekranu_2021-12-7_o_16.50.23](https://gitlab.isc.org/isc-projects/stork/uploads/88f4d8a028e...The issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253085
![Zrzut_ekranu_2021-12-7_o_16.50.23](https://gitlab.isc.org/isc-projects/stork/uploads/88f4d8a028edff0098c76328f675d87b/Zrzut_ekranu_2021-12-7_o_16.50.23.png)
I managed to mess up with the paging bar size which ended up narrower than the paged table.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/667The lease file location is empty when a default value is used2022-05-10T13:18:31ZSlawek FigielThe lease file location is empty when a default value is usedThe issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253188
The lease file location is not explicitly specified, so it uses the default (`/var/lib/kea/kea-lea...The issue was found during sanity checks for the 1.0 release.
Source: https://gitlab.isc.org/isc-projects/stork/-/issues/645#note_253188
The lease file location is not explicitly specified, so it uses the default (`/var/lib/kea/kea-leases4.csv`). Stork, however, claims "none (lease persistence disabled)".backlogMarcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/683Stork may be nonresponsive when a large Kea configuration is fetched.2022-12-13T12:49:31ZSlawek FigielStork may be nonresponsive when a large Kea configuration is fetched.Stork has no limitation for the parallel refresh state requests.
But popular web browsers can handle only 5 HTTP requests simultaneously.
If the fetching large Kea configuration is in progress and a user clicks the refresh buttons five ...Stork has no limitation for the parallel refresh state requests.
But popular web browsers can handle only 5 HTTP requests simultaneously.
If the fetching large Kea configuration is in progress and a user clicks the refresh buttons five times, the Stork UI will be non-usable. The user cannot go to any page that requires fetching some data (subnets, host reservations, dashboard) without refreshing a page.
I think that Stork should have only one active request for refresh state at the same time and present a loading spinner when refreshing is in progress.
![2022-01-18-135220_1875x876_scrot](/uploads/8ea907fd0a4b34f18af82dd15d2fdaa1/2022-01-18-135220_1875x876_scrot.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/692Controls overlap the event toasts2022-03-01T14:24:31ZSlawek FigielControls overlap the event toastsThe issue was found during 1.1.0 sanity checks.
[Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264663)
Started demo, went to machines page and authenticated several machines quickly. Initially the messages were hov...The issue was found during 1.1.0 sanity checks.
[Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264663)
Started demo, went to machines page and authenticated several machines quickly. Initially the messages were hovering on top (with the Authorized/unathorized underneath), but then the buttons came on top.
It's not a big deal, just looked weird.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/693Utilization UI glitches2022-10-13T10:32:28ZSlawek FigielUtilization UI glitchesThe issue was found during 1.1.0 sanity checks.
[Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264709)
Minor visual glitches:
1. The warning icons don't fit in the Used column and wraps strangely.
2. When the pool...The issue was found during 1.1.0 sanity checks.
[Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264709)
Minor visual glitches:
1. The warning icons don't fit in the Used column and wraps strangely.
2. When the pool utilization hits 100%, it's rounded on the left, but sharp on the right end.
3. The exclamation icon near the utilization bar isn't centered vertically. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264803)
This is on zoom 100% on firefox 96.0 running on Ubuntu 21.04.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/694Traffic generator - missing client-class in some subnets2022-03-01T14:25:53ZSlawek FigielTraffic generator - missing client-class in some subnetsThe issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264710)
Another small thing: in the demo, the traffic generator is not able to start traffic for 192.0.3.0/24 network. ...The issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264710)
Another small thing: in the demo, the traffic generator is not able to start traffic for 192.0.3.0/24 network. When I click Start, it doesn't turn into Stop button.
The browser console shows 500 internal server error, when doing `PUT http://localhost:5000/subnets/9`. Digging a bit deeper, you can see this in this response.
Looks like a missing class entry in the config. But the sim should probably be made more robust to handling missing client-class.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/695Heartbeat status when both HA machines fail is still OK for primary2024-02-07T11:23:49ZSlawek FigielHeartbeat status when both HA machines fail is still OK for primaryThe issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264797)
I authorized two HA machines and next used Kea Environment Simulator to kill both `kea-dhcp4` daemons. Stork de...The issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264797)
I authorized two HA machines and next used Kea Environment Simulator to kill both `kea-dhcp4` daemons. Stork detects correctly that both daemons are down, but the primary server has `Heartbeat status: OK` with the description "Status of the heartbeat communication with the remote server is unknown.". I think that the status shouldn't be OK.
Additionally, the `Detected Failure w/HA` on Dashboard is `never` for the primary server.outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/696Filtering starts earlier than described in the demo guide2022-04-20T10:24:46ZSlawek FigielFiltering starts earlier than described in the demo guideThe issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264800)
From demo description of the subnets (or shared networks) page:
> Note that strings shorter than 4 characters ...The issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264800)
From demo description of the subnets (or shared networks) page:
> Note that strings shorter than 4 characters require you to confirm with the Enter key
It's incorrect. The filtering starts on the second character.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/587IPv6 support in Stork system test framework2023-07-27T12:26:19ZSlawek FigielIPv6 support in Stork system test frameworkThe system tests framework incorrectly handles IPv6 addresses. It causes a system test building to fail on some configurations.
We need to rewrite our scripts to support this IP schema.
We noticed also that some system tests were execut...The system tests framework incorrectly handles IPv6 addresses. It causes a system test building to fail on some configurations.
We need to rewrite our scripts to support this IP schema.
We noticed also that some system tests were executed, but produce incorrect results when IPv6 was used. We need to prepare some unit and system tests to cover IPv6-based configurations.
```
distro_agent = 'ubuntu/18.04', distro_server = 'centos/8'
@pytest.mark.parametrize("distro_agent, distro_server", SUPPORTED_DISTROS)
def test_pkg_upgrade_server_token(distro_agent, distro_server):
"""Check if Stork agent and server can be upgraded from latest release
to localy built packages."""
server = containers.StorkServerContainer(alias=distro_server)
agent = containers.StorkAgentContainer(alias=distro_agent)
# install the latest version of stork from cloudsmith
server.setup_bg('cloudsmith')
while server.mgmt_ip is None:
time.sleep(0.1)
agent.setup_bg('cloudsmith', server.mgmt_ip)
server.setup_wait()
agent.setup_wait()
# login
r = server.api_post('/sessions', json=dict(useremail='admin', userpassword='admin'), expected_status=200) # TODO: POST should return 201
assert r.json()['login'] == 'admin'
# install local packages
banner('UPGRADING STORK SERVER')
server.prepare_stork_server()
# get server token from server
for i in range(100):
try:
r = server.api_get('/machines-server-token')
break
except:
if i == 99:
raise
time.sleep(1)
data = r.json()
server_token = data['token']
# install kea on the agent machine
agent.install_kea()
# install local packages using server token based way
banner('UPGRADING STORK AGENT')
server_url = 'http://%s:8080' % server.mgmt_ip
> agent.run('curl -o stork-install-agent.sh %s/stork-install-agent.sh' % server_url)
agent = <containers.StorkAgentContainer object at 0x7fdd88d29970>
data = {'token': 'o85LV4YpOCqapgfaiZ4feeoUJL4fiw8v'}
distro_agent = 'ubuntu/18.04'
distro_server = 'centos/8'
i = 0
r = <Response [200]>
server = <containers.StorkServerContainer object at 0x7fdd88bfa040>
server_token = 'o85LV4YpOCqapgfaiZ4feeoUJL4fiw8v'
server_url = 'http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080'
tests.py:211:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <containers.StorkAgentContainer object at 0x7fdd88d29970>, cmd = 'curl -o stork-install-agent.sh http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080/stork-install-agent.sh'
env = {'LANG': 'en_US.UTF-8', 'LANGUAGE': 'en_US:UTF-8', 'LC_ALL': 'en_US.UTF-8'}, ignore_error = False, attempts = 1, sleep_time_after_attempt = None
def run(self, cmd, env=None, ignore_error=False, attempts=1, sleep_time_after_attempt=None):
cmd2 = shlex.split(cmd)
if env is None:
env = {}
env['LANG'] = "en_US.UTF-8"
env['LANGUAGE'] = "en_US:UTF-8"
env['LC_ALL'] = "en_US.UTF-8"
for attempt in range(attempts):
result = self.cntr.execute(cmd2, env)
out = 'run: %s\n' % cmd
out += result[1]
self._trace_logs(out, 'out')
self._trace_logs(result[2], 'err')
if result[0] == 0:
break
elif attempt < attempts - 1:
print('command failed, retry, attempt %d/%d' % (attempt, attempts))
if sleep_time_after_attempt:
time.sleep(sleep_time_after_attempt)
if result[0] != 0 and not ignore_error:
> raise Exception('problem with cmd: %s' % cmd)
E Exception: problem with cmd: curl -o stork-install-agent.sh http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080/stork-install-agent.sh
attempt = 0
attempts = 1
cmd = 'curl -o stork-install-agent.sh http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080/stork-install-agent.sh'
cmd2 = ['curl', '-o', 'stork-install-agent.sh', 'http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080/stork-install-agent.sh']
env = {'LANG': 'en_US.UTF-8', 'LANGUAGE': 'en_US:UTF-8', 'LC_ALL': 'en_US.UTF-8'}
ignore_error = False
out = 'run: curl -o stork-install-agent.sh http://fd42:6657:6f41:ab43:216:3eff:fe59:2fea:8080/stork-install-agent.sh\n'
result = InstanceExecuteResult(exit_code=3, stdout='', stderr="curl: (3) Port number ended with ':'\n")
self = <containers.StorkAgentContainer object at 0x7fdd88d29970>
sleep_time_after_attempt = None
containers.py:228: Exception
```outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/767Reversed order of adding machines stuck the machine page2022-12-13T12:49:31ZSlawek FigielReversed order of adding machines stuck the machine pageIt is a problem that occurred during the demo meeting:
Fast authorization of machines from bottom to top causes a stuck of the machine page.It is a problem that occurred during the demo meeting:
Fast authorization of machines from bottom to top causes a stuck of the machine page.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/768Searching for IPv6 networks fails2022-12-13T12:52:03ZSlawek FigielSearching for IPv6 networks failsIt is a problem that occurred during the demo meeting:
v6 subnets didn't show on the subnets page, but did on shared networks (pagination issue?)
steps to repro: add all demo machines, go to subnets, show any, go to page 2, switch to sh...It is a problem that occurred during the demo meeting:
v6 subnets didn't show on the subnets page, but did on shared networks (pagination issue?)
steps to repro: add all demo machines, go to subnets, show any, go to page 2, switch to show v6 onlyoutstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/784Generate IPv6 traffic in system tests2022-10-25T13:23:08ZSlawek FigielGenerate IPv6 traffic in system testsThere is a problem with starting the Kea DHCPv6 daemon.
It cannot bind the sockets. I didn't find any way to check if the binding would be available. The Kea has implemented a solution to retry the binding in kea#1716, but there is no po...There is a problem with starting the Kea DHCPv6 daemon.
It cannot bind the sockets. I didn't find any way to check if the binding would be available. The Kea has implemented a solution to retry the binding in kea#1716, but there is no possibility to check if the binding has already finished successfully. I opened kea#2434 to add an opportunity to inspect the binding status.
We can use the interface statuses to wait until the Kea is ready to allocate the leases.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/789Fix strict template typing errors2022-07-05T13:53:28ZSlawek FigielFix strict template typing errorsI enabled the strict template typing option in the TypeScript configuration file (`tsconfig.json`), and I got a long list of minor issues. They shouldn't be dangerous as JavaScript has some flexibility in type interpretation. But fixing ...I enabled the strict template typing option in the TypeScript configuration file (`tsconfig.json`), and I got a long list of minor issues. They shouldn't be dangerous as JavaScript has some flexibility in type interpretation. But fixing them will allow us to enable more advanced features of the TypeScript compiler and get more help from IDE, for example, the IntelliSense feature and type checking in template files. Eliminating these bugs also prevents them from growing and becoming significant issues.
My configuration `tsconfig.json`:
```json
{
...
"angularCompilerOptions": {
...
"strictTemplates": true
}
}
```
Issue list:
```
Error: src/app/config-review-panel/config-review-panel.component.html:50:13 - error TS2322: Type 'string' is not assignable to type 'number'.
50 pageLinkSize="3"
~~~~~~~~~~~~
src/app/config-review-panel/config-review-panel.component.ts:30:18
30 templateUrl: './config-review-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component ConfigReviewPanelComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:20:25 - error TS2322: Type 'string' is not assignable to type 'number'.
20 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:21:25 - error TS2322: Type 'string' is not assignable to type 'number'.
21 max="{{ v6 ? 65535 : 255 }}"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:36:25 - error TS2322: Type 'string' is not assignable to type 'number'.
36 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:37:25 - error TS2322: Type 'string' is not assignable to type 'number'.
37 max="{{ v6 ? 65535 : 255 }}"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:88:43 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
88 <div [ngSwitch]="fieldControl.data.fieldType" class="p-d-flex p-ai-center p-mt-5 p-ml-3">
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:92:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
92 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:96:29 - error TS2322: Type 'string' is not assignable to type 'boolean'.
96 autoResize="true"
~~~~~~~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:100:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
100 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:100:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
100 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:106:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
106 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:111:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
111 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:111:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
111 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:115:46 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
115 <div id="{{ fieldControl.data.getInputId() }}" class="p-inputtext option-field p-p-0">
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:131:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
131 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:132:29 - error TS2322: Type 'string' is not assignable to type 'number'.
132 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:133:29 - error TS2322: Type 'string' is not assignable to type 'number'.
133 max="255"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:138:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
138 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:138:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
138 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:145:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
145 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:146:29 - error TS2322: Type 'string' is not assignable to type 'number'.
146 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:147:29 - error TS2322: Type 'string' is not assignable to type 'number'.
147 max="65535"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:152:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
152 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:152:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
152 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:159:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
159 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:160:29 - error TS2322: Type 'string' is not assignable to type 'number'.
160 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:161:29 - error TS2322: Type 'string' is not assignable to type 'number'.
161 max="4294967295"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
0m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:166:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
166 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:166:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
166 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:172:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
172 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:177:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
177 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:177:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
177 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:183:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
7m183 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:188:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
188 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:188:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
188 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:194:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
194 id="{{ fieldControl.data.getInputId(0) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:200:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
200 inputId="{{ fieldControl.data.getInputId(1) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:202:29 - error TS2322: Type 'string' is not assignable to type 'number'.
202 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:203:29 - error TS2322: Type 'string' is not assignable to type 'number'.
203 max="128"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:208:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
208 <label for="{{ fieldControl.data.getInputId(0) }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:208:92 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
208 <label for="{{ fieldControl.data.getInputId(0) }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:214:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
214 inputId="{{ fieldControl.data.getInputId(0) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:216:29 - error TS2322: Type 'string' is not assignable to type 'number'.
216 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:217:29 - error TS2322: Type 'string' is not assignable to type 'number'.
217 max="65535"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:222:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
222 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:222:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
222 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:224:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
224 inputId="{{ fieldControl.data.getInputId(1) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:226:29 - error TS2322: Type 'string' is not assignable to type 'number'.
226 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:227:29 - error TS2322: Type 'string' is not assignable to type 'number'.
227 max="16"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:238:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
238 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:243:57 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
243 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:243:95 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
243 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:279:17 - error TS2322: Type 'string' is not assignable to type 'boolean'.
279 v6="false"
~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-set-form/dhcp-option-set-form.component.html:7:10 - error TS2322: Type 'AbstractControl' is not assignable to type 'FormGroup'.
7 [formGroup]="formArray.at(i)"
~~~~~~~~~
src/app/dhcp-option-set-form/dhcp-option-set-form.component.ts:13:18
13 templateUrl: './dhcp-option-set-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionSetFormComponent.
Error: src/app/dhcp-option-set-form/dhcp-option-set-form.component.html:7:10 - error TS2322: Type 'AbstractControl' is not assignable to type 'FormGroup'.
7 [formGroup]="formArray.at(i)"
~~~~~~~~~
src/app/dhcp-option-set-form/dhcp-option-set-form.component.ts:13:18
13 templateUrl: './dhcp-option-set-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionSetFormComponent.
Error: src/app/events-panel/events-panel.component.html:44:9 - error TS2322: Type 'string' is not assignable to type 'number'.
44 pageLinkSize="3"
~~~~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:74:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
74 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:91:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
91 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:108:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
108 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:125:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
125 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/ha-status/ha-status.component.html:17:17 - error TS2322: Type 'string' is not assignable to type 'boolean'.
17 showServerLink="true"
~~~~~~~~~~~~~~
src/app/ha-status/ha-status.component.ts:12:18
12 templateUrl: './ha-status.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HaStatusComponent.
Error: src/app/host-form/host-form.component.html:92:32 - error TS2740: Type 'AbstractControl' is missing the following properties from type 'FormGroup': controls, registerControl, addControl, removeControl, and 3 more.
92 <ng-container [formGroup]="ipGroup" class="p-d-flex p-ai-start">
~~~~~~~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/host-form/host-form.component.html:125:65 - error TS2322: Type 'string' is not assignable to type 'number'.
125 <p-inputNumber ngDefaultControl min="1" max="128" formControlName="inputPDLength">
~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/host-form/host-form.component.html:125:73 - error TS2322: Type 'string' is not assignable to type 'number'.
125 <p-inputNumber ngDefaultControl min="1" max="128" formControlName="inputPDLength">
~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/json-tree/json-tree.component.html:56:14 - error TS2322: Type 'string | number' is not assignable to type 'string'.
Type 'number' is not assignable to type 'string'.
56 [key]="item.key"
~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/json-tree/json-tree.component.html:71:13 - error TS2322: Type 'string' is not assignable to type 'boolean'.
71 showCurrentPageReport="true"
~~~~~~~~~~~~~~~~~~~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/json-tree/json-tree.component.html:131:42 - error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
131 (keyup.enter)="onEnterJumpToPage(jumpToPageBox.value - 1); jumpToPageBox.value = ''"
~~~~~~~~~~~~~~~~~~~~~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/kea-app-tab/kea-app-tab.component.html:7:11 - error NG8007: The property and event halves of the two-way binding 'visible' are not bound to the same target.
Find more at https://angular.io/guide/two-way-binding#how-two-way-binding-works
7 [(visible)]="appRenameDialogVisible"
~~~~~~~
src/app/rename-app-dialog/rename-app-dialog.component.ts:21:14
21 export class RenameAppDialogComponent implements OnInit, OnChanges {
~~~~~~~~~~~~~~~~~~~~~~~~
The property half of the binding is to the 'RenameAppDialogComponent' component.
src/app/kea-app-tab/kea-app-tab.component.ts:1:45
1 import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core'
~~~~~~~~~~~~~~~~~~~~~
The event half of the binding is to a native event called 'visible' on the <app-rename-app-dialog> DOM element.
Are you missing an output declaration called 'visibleChange'?
src/app/kea-app-tab/kea-app-tab.component.ts:23:18
23 templateUrl: './kea-app-tab.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component KeaAppTabComponent.
Error: src/app/kea-app-tab/kea-app-tab.component.html:298:34 - error TS2739: Type '{ machine: any; appType: any; daemonType: any; }' is missing the following properties from type '{ level: number; machine: any; appType: any; daemonType: any; user: any; }': level, user
298 [filter]="{
~~~~~~
src/app/kea-app-tab/kea-app-tab.component.ts:23:18
23 templateUrl: './kea-app-tab.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component KeaAppTabComponent.
Error: src/app/machines-page/machines-page.component.html:569:45 - error TS2739: Type '{ machine: any; }' is missing the following properties from type '{ level: number; machine: any; appType: any; daemonType: any; user: any; }': level, appType, daemonType, user
569 <app-events-panel #eventsTable [filter]="{ machine: machineTab.machine.id }"></app-events-panel>
~~~~~~
src/app/machines-page/machines-page.component.ts:21:18
21 templateUrl: './machines-page.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component MachinesPageComponent.
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/828Unstable TestRpsWorkerPullRps unit test2022-10-25T13:36:22ZSlawek FigielUnstable TestRpsWorkerPullRps unit testOne of our unit tests is unstable and sometimes fails.
```
=== RUN TestRpsWorkerPullRps
time="2022-08-01T10:15:28Z" level=info msg="Checking connection to database"
time="2022-08-01T10:15:28Z" level=info msg="Checking connection to da...One of our unit tests is unstable and sometimes fails.
```
=== RUN TestRpsWorkerPullRps
time="2022-08-01T10:15:28Z" level=info msg="Checking connection to database"
time="2022-08-01T10:15:28Z" level=info msg="Checking connection to database"
time="2022-08-01T10:15:28Z" level=info msg="Updating KeaDHCPDaemonStats: {RPS1:0 RPS2:0}"
time="2022-08-01T10:15:29Z" level=info msg="Updating KeaDHCPDaemonStats: {RPS1:0 RPS2:0}"
time="2022-08-01T10:15:31Z" level=info msg="Updating KeaDHCPDaemonStats: {RPS1:1 RPS2:1}"
time="2022-08-01T10:15:31Z" level=info msg="Updating KeaDHCPDaemonStats: {RPS1:2 RPS2:2}"
rps_test.go:279:
Error Trace: rps_test.go:279
rps_test.go:153
Error: Not equal:
expected: 2
actual : 1
Test: TestRpsWorkerPullRps
--- FAIL: TestRpsWorkerPullRps (2.42s)
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/829Unstable TestGetKeaDaemonsForUpdate test2022-08-09T13:53:50ZSlawek FigielUnstable TestGetKeaDaemonsForUpdate testThe `TestGetKeaDaemonsForUpdate` test rarely fails due to a race condition.
[Failed pipeline](https://gitlab.isc.org/isc-projects/stork/-/jobs/2675059)
Logs:
```
=== RUN TestGetKeaDaemonsForUpdate
time="2022-08-01T10:03:26Z" level=i...The `TestGetKeaDaemonsForUpdate` test rarely fails due to a race condition.
[Failed pipeline](https://gitlab.isc.org/isc-projects/stork/-/jobs/2675059)
Logs:
```
=== RUN TestGetKeaDaemonsForUpdate
time="2022-08-01T10:03:26Z" level=info msg="Checking connection to database"
time="2022-08-01T10:03:27Z" level=info msg="Checking connection to database"
coverage: 19.9% of statements
panic: test timed out after 10m0s
goroutine 352 [running]:
testing.(*M).startAlarm.func1()
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:2029 +0xbb
created by time.goFunc
/builds/isc-projects/stork/tools/golang/go/src/time/sleep.go:176 +0x48
goroutine 1 [chan receive, 9 minutes]:
testing.(*T).Run(0xc0002bc1a0, {0xc21c22, 0x1a}, 0xc6c190)
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1487 +0x750
testing.runTests.func1(0x0?)
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1839 +0x9a
testing.tRunner(0xc0002bc1a0, 0xc0001b7b68)
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1439 +0x214
testing.runTests(0xc0002486e0?, {0x1064120, 0xd8, 0xd8}, {0x40?, 0x7fb9f10c3eb8?, 0x10683a0?})
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1837 +0x7e5
testing.(*M).Run(0xc0002486e0)
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1719 +0xa72
main.main()
_testmain.go:589 +0x3aa
goroutine 317 [sync.Cond.Wait, 9 minutes]:
sync.runtime_notifyListWait(0xc00057a790, 0x0)
/builds/isc-projects/stork/tools/golang/go/src/runtime/sema.go:513 +0x13d
sync.(*Cond).Wait(0xc00057a780)
/builds/isc-projects/stork/tools/golang/go/src/sync/cond.go:56 +0xa5
isc.org/stork/server/database/model.TestGetKeaDaemonsForUpdate(0x0?)
/builds/isc-projects/stork/backend/server/database/model/daemon_test.go:597 +0x15f2
testing.tRunner(0xc0000fcb60, 0xc6c190)
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1439 +0x214
created by testing.(*T).Run
/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1486 +0x725
goroutine 128 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7fb9f10dcc18, 0x72)
/builds/isc-projects/stork/tools/golang/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00020c918, 0xc0005ea000?, 0x0)
/builds/isc-projects/stork/tools/golang/go/src/internal/poll/fd_poll_runtime.go:83 +0xbd
internal/poll.(*pollDesc).waitRead(...)
/builds/isc-projects/stork/tools/golang/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00020c900, {0xc0005ea000, 0x100000, 0x100000})
/builds/isc-projects/stork/tools/golang/go/src/internal/poll/fd_unix.go:167 +0x415
net.(*netFD).Read(0xc00020c900, {0xc0005ea000, 0x100000, 0x100000})
/builds/isc-projects/stork/tools/golang/go/src/net/fd_posix.go:55 +0x51
net.(*conn).Read(0xc0000ae0a8, {0xc0005ea000, 0x100000, 0x100000})
/builds/isc-projects/stork/tools/golang/go/src/net/net.go:183 +0xb1
github.com/go-pg/pg/v10/internal/pool.(*BufReader).read(...)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/reader_buf.go:428
github.com/go-pg/pg/v10/internal/pool.(*BufReader).fill(0xc0000ea000)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/reader_buf.go:120 +0x38d
github.com/go-pg/pg/v10/internal/pool.(*BufReader).ReadByte(0xc0000ea000)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/reader_buf.go:297 +0x8c
github.com/go-pg/pg/v10.readMessageType(0xc0000f2010)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/messages.go:1386 +0x45
github.com/go-pg/pg/v10.readSimpleQueryData({0xd24a40, 0xc000146008}, 0xc0000f2010, {0xbf6ca0, 0xc00056a2d0})
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/messages.go:909 +0x114
github.com/go-pg/pg/v10.(*baseDB).simpleQueryData.func1(0x1059da0?)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:566 +0x72
github.com/go-pg/pg/v10/internal/pool.(*Conn).WithReader(0xc000114a50, {0xd24a40, 0xc000146008}, 0x1?, 0xc000133798)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/conn.go:90 +0x2d5
github.com/go-pg/pg/v10.(*baseDB).simpleQueryData(0xc000114730, {0xd24a40, 0xc000146008}, 0x94a2aa?, {0xbf6ca0, 0xc00056a2d0}, 0xc000146008?)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:564 +0x19e
github.com/go-pg/pg/v10.(*baseDB).query.func1({0xd24a40, 0xc000146008}, 0xc000146008?)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:316 +0xb3
github.com/go-pg/pg/v10.(*baseDB).withConn(0xc000114730, {0xd24a40?, 0xc000146008}, 0xc000133b00)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:173 +0x2fd
github.com/go-pg/pg/v10.(*baseDB).query(0xc000114730, {0xd24a40, 0xc000146008}, {0xbf6ca0, 0xc00056a2d0}, {0xbbd040, 0xc0001f2470}, {0xc0001f24d0, 0x1, 0x1})
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:315 +0x5e9
github.com/go-pg/pg/v10.(*baseDB).QueryContext(...)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/base.go:290
github.com/go-pg/pg/v10/orm.(*Query).returningQuery(0xc0000001e0, {0xd24a40, 0xc000146008}, {0xd25ec8?, 0xc00056a2d0}, {0xbbd040, 0xc0001f2470})
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/orm/query.go:1163 +0x2b3
github.com/go-pg/pg/v10/orm.(*Query).ForceDelete(0xc0000001e0, {0x0, 0x0, 0x0})
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/orm/query.go:1223 +0x29e
github.com/go-pg/pg/v10/orm.(*Query).Delete(0xc0000001e0, {0x0, 0x0, 0x0})
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/orm/query.go:1180 +0xbc5
isc.org/stork/server/database/model.TestGetKeaDaemonsForUpdate.func1()
/builds/isc-projects/stork/backend/server/database/model/daemon_test.go:593 +0x171
created by isc.org/stork/server/database/model.TestGetKeaDaemonsForUpdate
/builds/isc-projects/stork/backend/server/database/model/daemon_test.go:585 +0x15e5
goroutine 348 [chan receive, 2 minutes]:
github.com/go-pg/pg/v10/internal/pool.(*ConnPool).reaper(0xc000195680, 0x0?)
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/pool.go:441 +0xfe
created by github.com/go-pg/pg/v10/internal/pool.NewConnPool
/builds/isc-projects/stork/tools/golang/gopath/pkg/mod/github.com/go-pg/pg/v10@v10.10.6/internal/pool/pool.go:103 +0x386
FAIL isc.org/stork/server/database/model 600.033s
```
The execution is stuck on the `cond.Wait()` call (backend/server/database/model/daemon_test.go:584-597):
```
// Actually run the goroutine.
go func() {
defer wg.Done()
// The main thread is waiting for this conditional to ensure that the
// goroutine is started before the test continues.
cond.Signal()
// Attempt to delete the app while the main transaction is in progress
// and the daemons are locked for update. This should block until the
// main transaction is committed or rolled back.
result, _ = db.Model(app).WherePK().Delete()
}()
// Wait for the goroutine to begin.
cond.Wait()
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/834NaN metrics values2023-01-30T13:13:47ZSlawek FigielNaN metrics valuesReported by @ray - [Source](https://mattermost.isc.org/isc/pl/n5hqa4gzmigjj87p6c4exbs8zc)
I don't yet have a Prometheus server polling this, but the NaN from the raw /metrics pull here seems wrong:
```
# TYPE bind_traffic_incoming_requ...Reported by @ray - [Source](https://mattermost.isc.org/isc/pl/n5hqa4gzmigjj87p6c4exbs8zc)
I don't yet have a Prometheus server polling this, but the NaN from the raw /metrics pull here seems wrong:
```
# TYPE bind_traffic_incoming_requests_udp4_size histogram
bind_traffic_incoming_requests_udp4_size_bucket{le="47"} 2
bind_traffic_incoming_requests_udp4_size_bucket{le="+Inf"} 2
bind_traffic_incoming_requests_udp4_size_sum NaN
bind_traffic_incoming_requests_udp4_size_count 2
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/854Timeout on database queries2023-10-10T11:51:26ZSlawek FigielTimeout on database queriesThe issue was found during 1.6.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/850#note_312612)
The database queries aren't timeout if the execution takes too long. The stuck query should be interrupted afte...The issue was found during 1.6.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/850#note_312612)
The database queries aren't timeout if the execution takes too long. The stuck query should be interrupted after 30s-1min. It may be helpful to automatically repeat it to handle incident disconnect without impacting the user experience.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/863Alpine packages are not accepted by CloudSmith2023-08-08T07:00:41ZSlawek FigielAlpine packages are not accepted by CloudSmithWe failed to upload the Alpine packages to CloudSmith due to invalid metadata.
We use the same configuration for each package kind, but `fpm` support for Alpine is quite poor. We should check what is wrong with the metadata and fix it.We failed to upload the Alpine packages to CloudSmith due to invalid metadata.
We use the same configuration for each package kind, but `fpm` support for Alpine is quite poor. We should check what is wrong with the metadata and fix it.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/885Installation of NPM modules fails when using FreeBSD walkthrough2022-11-08T14:56:24ZSlawek FigielInstallation of NPM modules fails when using FreeBSD walkthroughI downloaded the fresh VM drive image (`FreeBSD-13.1-RELEASE-amd64.vhd.xz`) from the official FreeBSD page and performed all steps from the FreeBSD installation guide from our documentation. It finished successfully.
Next, I tried to bu...I downloaded the fresh VM drive image (`FreeBSD-13.1-RELEASE-amd64.vhd.xz`) from the official FreeBSD page and performed all steps from the FreeBSD installation guide from our documentation. It finished successfully.
Next, I tried to build the server package (`rake build:server_pkg`). Unfortunately, it fails to install frontend dependencies. I got the error:
```
npm ERR! code 127
npm ERR! /root/stork/webui/node_modules/@parcel/watcher
npm ERR! command failed
npm ERR! sh -c -- node-gyp-build
npm ERR! node-gyp-build: --: not found
```
![image](/uploads/f9069323a3dfb2676cc215f40d7965ce/image.png)
I didn't found the solution yet. The `node-gyp-build` exists. Maybe something is wrong with the project directory permissions or the `NodeJS` installation.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/886Tar command does not suit Openbsd: tar zxf instead of tar -zxf2022-12-07T09:04:07ZmikygeeTar command does not suit Openbsd: tar zxf instead of tar -zxfHello,
I started the command
`# rake31 build:server`
And got this error
```
tar -zxf /home/user/stork/tools/golang/goswagger.tar.gz -C /home/user/stork/tools/golang/goswagger-sources --strip-components=1
tar: unknown option -- -
usage: t...Hello,
I started the command
`# rake31 build:server`
And got this error
```
tar -zxf /home/user/stork/tools/golang/goswagger.tar.gz -C /home/user/stork/tools/golang/goswagger-sources --strip-components=1
tar: unknown option -- -
usage: tar {crtux}[014578befHhjLmNOoPpqsvwXZz]
[blocking-factor | archive | replstr] [-C directory] [-I file]
[file ...]
tar {-crtux} [-014578eHhjLmNOoPpqvwXZz] [-b blocking-factor]
[-C directory] [-f archive] [-I file] [-s replstr] [file ...]
rake aborted!
Command failed with status (1): [tar -zxf /home/user/stork/tools/golang/g...]
```
On openbsd the dash is not necessary. Also the --strip-components option doesn't exist.
Could you make a if statement (if openbsd then tar zxf ...) to handle this problem ?
Regardsbackloghttps://gitlab.isc.org/isc-projects/stork/-/issues/922Out-of-date hook link2023-12-01T15:43:46ZSlawek FigielOut-of-date hook linkThe issue was reported during 1.8.0 sanity checks by @slawek. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/910#note_335067)
The link to the `lease_cmds` hook in the Lease Search help tip is out-of-date.
![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_335067)
The link to the `lease_cmds` hook in the Lease Search help tip is out-of-date.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/8c806822befdfae40ccea8f5d8c7873c/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/929The subnets preserve in the database after removing the machine2023-01-03T14:52:10ZSlawek FigielThe subnets preserve in the database after removing the machineThe orphaned subnets are preserved in the database forever if no machines.
Steps to reproduce:
1. Authorize a machine
2. Wait for fetching state
3. Remove the machine
4. Go to: `http://localhost:8080/dhcp/subnets/`The orphaned subnets are preserved in the database forever if no machines.
Steps to reproduce:
1. Authorize a machine
2. Wait for fetching state
3. Remove the machine
4. Go to: `http://localhost:8080/dhcp/subnets/`backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/932stork-install-agent.sh missing2024-03-27T10:50:22ZLarry G. Wapnitskystork-install-agent.sh missingJust installed stork server, and am unable to get the agent installed using the script:
```
# wget http://10.150.33.4:8080/stork-install-agent.sh
--2023-01-04 16:59:54-- http://10.150.33.4:8080/stork-install-agent.sh
Connecting to 10.1...Just installed stork server, and am unable to get the agent installed using the script:
```
# wget http://10.150.33.4:8080/stork-install-agent.sh
--2023-01-04 16:59:54-- http://10.150.33.4:8080/stork-install-agent.sh
Connecting to 10.150.33.4:8080... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2023-01-04 16:59:54 ERROR 500: Internal Server Error.
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/938Local subnet ID is missing if the subnet prefix is not in canonical form2023-02-01T10:13:27ZSlawek FigielLocal subnet ID is missing if the subnet prefix is not in canonical formThe local subnet ID is not fetched from the Kea configuration if the subnet ID is not in canonical form.
Steps to reproduce:
1. Run a demo
2. Authorize the `agent-kea` machine
3. Go to the Subnets page
4. Check that the `192.0.10.80/29...The local subnet ID is not fetched from the Kea configuration if the subnet ID is not in canonical form.
Steps to reproduce:
1. Run a demo
2. Authorize the `agent-kea` machine
3. Go to the Subnets page
4. Check that the `192.0.10.80/29` has no Kea config ID.
5. Open the `docker/config/agent-kea/kea-dhcp4.conf` configuration file
6. Check that the `192.0.10.82/29` subnet has assigned `17` IDbackloghttps://gitlab.isc.org/isc-projects/stork/-/issues/943Unstable unit test: TestSubnetPrefixInPrometheusMetrics2023-04-04T13:26:00ZSlawek FigielUnstable unit test: TestSubnetPrefixInPrometheusMetricsThe `TestSubnetPrefixInPrometheusMetrics` test from `backend/agent/promkeaexporter_test.go` unexpectedly fails one or two times per day.
```
=== RUN TestSubnetPrefixInPrometheusMetrics
time="2023-01-19T11:35:47Z" level=error msg="open...The `TestSubnetPrefixInPrometheusMetrics` test from `backend/agent/promkeaexporter_test.go` unexpectedly fails one or two times per day.
```
=== RUN TestSubnetPrefixInPrometheusMetrics
time="2023-01-19T11:35:47Z" level=error msg="open /var/lib/stork-agent/certs/ca.pem: no such file or directory\ncould not read CA certificate: /var/lib/stork-agent/certs/ca.pem\nisc.org/stork/agent.readTLSCredentials\n\t/builds/isc-projects/stork/backend/agent/caclient.go:112\nisc.org/stork/agent.NewHTTPClient\n\t/builds/isc-projects/stork/backend/agent/caclient.go:39\nisc.org/stork/agent.NewPromKeaExporter\n\t/builds/isc-projects/stork/backend/agent/promkeaexporter.go:347\nisc.org/stork/agent.TestSubnetPrefixInPrometheusMetrics\n\t/builds/isc-projects/stork/backend/agent/promkeaexporter_test.go:289\ntesting.tRunner\n\t/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1439\nruntime.goexit\n\t/builds/isc-projects/stork/tools/golang/go/src/runtime/asm_amd64.s:1571"
time="2023-01-19T11:35:47Z" level=warning msg="cannot read TLS credentials, use HTTP protocol, open /var/lib/stork-agent/certs/ca.pem: no such file or directory\ncould not read CA certificate: /var/lib/stork-agent/certs/ca.pem\nisc.org/stork/agent.readTLSCredentials\n\t/builds/isc-projects/stork/backend/agent/caclient.go:112\nisc.org/stork/agent.NewHTTPClient\n\t/builds/isc-projects/stork/backend/agent/caclient.go:39\nisc.org/stork/agent.NewPromKeaExporter\n\t/builds/isc-projects/stork/backend/agent/promkeaexporter.go:347\nisc.org/stork/agent.TestSubnetPrefixInPrometheusMetrics\n\t/builds/isc-projects/stork/backend/agent/promkeaexporter_test.go:289\ntesting.tRunner\n\t/builds/isc-projects/stork/tools/golang/go/src/testing/testing.go:1439\nruntime.goexit\n\t/builds/isc-projects/stork/tools/golang/go/src/runtime/asm_amd64.s:1571"
time="2023-01-19T11:35:47Z" level=info msg="the Basic Auth credentials file (/etc/stork/agent-credentials.json) is missing - HTTP authentication is not used"
time="2023-01-19T11:35:47Z" level=info msg="Prometheus Kea Exporter listening on :1234, stats pulling interval: 1 seconds"
time="2023-01-19T11:35:48Z" level=info msg=GetApps
promkeaexporter_test.go:303:
Error Trace: promkeaexporter_test.go:303
Error: Not equal:
expected: 13
actual : 0
Test: TestSubnetPrefixInPrometheusMetrics
time="2023-01-19T11:35:48Z" level=info msg="Stopping Prometheus Kea Exporter"
time="2023-01-19T11:35:48Z" level=error msg="Problem serving Prometheus Kea Exporter: http: Server closed"
time="2023-01-19T11:35:48Z" level=info msg="Stopped Prometheus Kea Exporter"
--- FAIL: TestSubnetPrefixInPrometheusMetrics (1.01s)
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/965The role change doesn't affect the current user session2023-02-07T14:24:22ZSlawek FigielThe role change doesn't affect the current user sessionThe issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348410).
The role change is not immediately affecting the current session. The old permissions are valid un...The issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348410).
The role change is not immediately affecting the current session. The old permissions are valid until logout.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1021The breadcrumbs are sometimes not refreshed.2023-04-18T13:42:22ZSlawek FigielThe breadcrumbs are sometimes not refreshed.The issue was reported by @slawek during 1.10 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/1009#note_364605).
The breadcrumbs are sometimes not refreshed.
Steps to reproduce:
1. Go to Kea Apps page using ...The issue was reported by @slawek during 1.10 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/1009#note_364605).
The breadcrumbs are sometimes not refreshed.
Steps to reproduce:
1. Go to Kea Apps page using navbar menu: Services => Kea Apps
1. Observe breacrumbs: `Home > Services > Kea Apps`
1. Go to BIND 9 Apps page using navbar menu: Services => BIND 9 Apps
1. Observe the breadcrumbs are not refreshed. It is still `Home > Services > Kea Apps`.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/30d80c2a1601a935660b2862bd65c23d/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1132Reset pagination on filter change in config review panel2023-12-12T12:42:20ZSlawek FigielReset pagination on filter change in config review panelThe issue was found by @slawek during [1.12 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1124#note_393179).
The pagination in the config review panel is not reset when the filters change.
Steps to reproduce:
1. Ch...The issue was found by @slawek during [1.12 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1124#note_393179).
The pagination in the config review panel is not reset when the filters change.
Steps to reproduce:
1. Choose a daemon with more than 5 enabled checkers and at least 1 issue found.
1. Disable issue filtration (set the "All reports" option).
1. Go to the last page
1. Enable issue filtration (set the "Issues only" option).
1. Observe there are no issues displayed.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/286a3bfdbf25d4a96eb7d5b21a382919/image.png)backloghttps://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/1160Stork agent: --use-env flag is incompatible with the register command2023-09-19T13:42:56ZSlawek FigielStork agent: --use-env flag is incompatible with the register commandThe issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-September/000177.html).
The `register` command fails if the `--use-env` flag is provided.
The environment file content:
```
STORK_AGENT_HOST...The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-September/000177.html).
The `register` command fails if the `--use-env` flag is provided.
The environment file content:
```
STORK_AGENT_HOST=foobar
```
The output:
```
stork-agent --use-env-file --env-file env.file register
FATA[2023-09-14 16:58:58] main.go:402 the 'env.file' environment file is invalid: cannot set 'STORK_AGENT_HOST=foobar' environment variable: no such flag -STORK_AGENT_HOST
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1165Session manager is never closed.2023-10-03T13:47:21ZSlawek FigielSession manager is never closed.The session manager allocates two heavy resources:
- Database connection
- Forever running goroutine that operates on the database
These resources are never free. It should not be a problem in production as they are cleaned up by the o...The session manager allocates two heavy resources:
- Database connection
- Forever running goroutine that operates on the database
These resources are never free. It should not be a problem in production as they are cleaned up by the operating system on the application shutdown. But it may cause confusing issues in the development environment.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1190Pseudo-version in go.mod is useless2023-10-17T13:35:51ZSlawek FigielPseudo-version in go.mod is uselessThe hooks compiled with the pseudo-version (instead of the relative path) of the Stork core dependency are incompatible with the referenced Stork server.
Reported by @marcin in [this thread](https://gitlab.isc.org/isc-projects/stork-hoo...The hooks compiled with the pseudo-version (instead of the relative path) of the Stork core dependency are incompatible with the referenced Stork server.
Reported by @marcin in [this thread](https://gitlab.isc.org/isc-projects/stork-hook-ldap/-/merge_requests/5#note_408923).backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1192Starting fresh demo fails for modern docker compose2024-02-13T14:22:35ZSlawek FigielStarting fresh demo fails for modern docker composeThe issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408649) by @slawek.
`rake demo:up` fails:
```
deep@deep:~/Downloads/artifacts (62)/stork-1.13.0$ rake demo:up CS_REPO_ACCESS_T...The issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408649) by @slawek.
`rake demo:up` fails:
```
deep@deep:~/Downloads/artifacts (62)/stork-1.13.0$ rake demo:up CS_REPO_ACCESS_TOKEN=...
docker compose --project-directory . -f docker/docker-compose.yaml -f docker/docker-compose-premium.yaml build
[+] Building 1.9s (8/8) FINISHED docker-container:stork
=> CANCELED [server internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea6 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea-ha2 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-bind9-2 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [kea-config-generator internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.7s
=> => creating container buildx_buildkit_stork0 0.2s
=> ERROR [agent-bind9 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.8s
=> => creating container buildx_buildkit_stork0 0.1s
=> CANCELED [agent-kea-ha1 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
------
> [agent-bind9 internal] booting buildkit:
------
Error response from daemon: Conflict. The container name "/buildx_buildkit_stork0" is already in use by container "aad862ed4f9cc3c211de2308c3475379f7f5e2835d646f4a7e5f78186e717d0a". You have to remove (or rename) that container to be able to reuse that name.
rake aborted!
Command failed with status (17): [docker compose --project-directory . -f do...]
/home/deep/Downloads/artifacts (62)/stork-1.13.0/rakelib/60_docker_demo.rake:98:in `docker_up_services'
/home/deep/Downloads/artifacts (62)/stork-1.13.0/rakelib/60_docker_demo.rake:116:in `block (2 levels) in <top (required)>'
/usr/share/rubygems-integration/all/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
Tasks: TOP => demo:up
(See full trace by running task with --trace)
```
My setup:
```
$ docker version
Client:
Version: 24.0.5
API version: 1.41 (downgraded from 1.43)
Go version: go1.20.3
Git commit: 24.0.5-0ubuntu1~22.04.1
Built: Mon Aug 21 19:50:14 2023
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 20.10.24
API version: 1.41 (minimum version 1.12)
Go version: go1.20.7
Git commit: 5d6db84
Built: Wed Aug 23 20:55:00 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit:
docker-init:
Version: 0.19.0
GitCommit: de40ad0
```
```
$ docker compose version
Docker Compose version v2.21.0
```
```
$ docker buildx version
github.com/docker/buildx v0.11.2 9872040
```
Workaround: Call `rake demo:build` and next `rake demo:up`
The same problem is described [on StackOverflow](https://stackoverflow.com/questions/76275277/docker-compose-cache-from-cache-to-buildx-the-container-name-buildx-buildk).outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/1196special notation which shrinks excluded prefix is wrong2024-02-02T13:01:13ZRazvan Becheriuspecial notation which shrinks excluded prefix is wrong![image](/uploads/3479d8ec64f0a324393c1271f8ad085c/image.png)
the address "excluded-prefix": "3001:db8:9:0:0:cafe::" is properly returned back by kea as 3001:db8:9:0:0:ca00::/88
but the truncation is wrong (double set of "::" which is ...![image](/uploads/3479d8ec64f0a324393c1271f8ad085c/image.png)
the address "excluded-prefix": "3001:db8:9:0:0:cafe::" is properly returned back by kea as 3001:db8:9:0:0:ca00::/88
but the truncation is wrong (double set of "::" which is invalid, and also "::0" which is invalid):
![image](/uploads/bb35a524c7c4d8ca7aebc28980cbe341/image.png)
the expansion is bitwise correct: 3001:db8:9::ca00:0:0 but the expanded version is 3001:0db8:0009:0000:0000:ca00:0000:0000 so the prefered version is 3001:db8:9:0:0:ca00::
the last part might be a Kea issue:
Kea returns it as:
![image](/uploads/1545e4be93a0cf04da04b6c93c56284a/image.png)1.16Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/stork/-/issues/1200Agent Installation Instructions Script doesn't account for server prefix2024-03-27T10:50:22ZTroy TelfordAgent Installation Instructions Script doesn't account for server prefix---
name: WebUI Agent Install Instructions don't account for server prefix
about: Stork Web UI Agent
---
**Describe the bug** The Stork WebUI Agent Install Instructions under "Services -\> Machines" lists:
`wget http://<hostname>/````s...---
name: WebUI Agent Install Instructions don't account for server prefix
about: Stork Web UI Agent
---
**Describe the bug** The Stork WebUI Agent Install Instructions under "Services -\> Machines" lists:
`wget http://<hostname>/````stork-install-agent.sh`
`chmod a+x ``stork-install-agent.sh`
`sudo ./``stork-install-agent.sh`
The problem being that the system is configured to use a prefix: `http://<hostname>/prefix/`, and the dialog isn't using the prefix. (So the `wget` command provided is incorrect)
**To Reproduce** Steps to reproduce the behavior:
1. Login to Stork
2. Click _Services_ -\> _Machines_
3. Click on "_How to Install Agent on New Machine_"
4. Read the instructions in the popup
`wget http://<hostname>/````stork-install-agent.sh`
`chmod a+x ``stork-install-agent.sh`
`sudo ./````stork-install-agent.sh`
**Expected behavior**: The `wget` command to use: `wget http://<hostname>/prefix/stork-install-agent.sh`
**Environment:**
**`isc-stork-server` 1\.13.0.231011103556 (Debian packages), amd64 arch**
**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.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1202The app parameter of the GetMachines RestAPI endpoint is not handled2023-10-17T13:59:46ZSlawek FigielThe app parameter of the GetMachines RestAPI endpoint is not handledWhen filtering machines, the `app` (app type) parameter is not considered.
```
- name: app
in: query
description: Limit returned list of machines to these which provide given app, possible values 'bind' or '...When filtering machines, the `app` (app type) parameter is not considered.
```
- name: app
in: query
description: Limit returned list of machines to these which provide given app, possible values 'bind' or 'kea'.
type: string
```
Additionally, the accepted value should be `bind9` for consistency with other endpoints.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1203Peer database authentication for SystemD service user.2023-10-17T14:04:12ZSlawek FigielPeer database authentication for SystemD service user.The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-October/000212.html).
When the Stork server is installed using the packages, it is configured as the SystemD service.
The `stork-server` user ...The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-October/000212.html).
When the Stork server is installed using the packages, it is configured as the SystemD service.
The `stork-server` user runs the server. But the default database user is `stork`. By default, the server connects to the database over the Unix socket. It causes the `peer` authentication method to be used (depending on distribution, it will be `trust` or `peer`).
Unfortunately, Postgres rejects the connection due to divergence between DB and the system user.
```
stork@stork LOG: provided user name (stork) and authenticated user name (stork-server) do not match
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1214Shared network address utilization not consistent2024-02-27T10:03:39ZVictor PetrescuShared network address utilization not consistentHi everyone,
I've encounter an issue related to the values of the Shared Network Address Utilization. It seems that the values from the /metrics of the Stork Server frequently not showing same values as in the Stork Web Application.
Fo...Hi everyone,
I've encounter an issue related to the values of the Shared Network Address Utilization. It seems that the values from the /metrics of the Stork Server frequently not showing same values as in the Stork Web Application.
For example:
Information from Stork Web App:
![Screenshot_1205](/uploads/0d06970d5bdb83da790e7521dcde773e/Screenshot_1205.png)
Information from Stork Server /metrics:
storkserver_shared_network_address_utilization{name="1"} 0.005
storkserver_shared_network_address_utilization{name="2"} 0.154
storkserver_shared_network_address_utilization{name="3"} 0.004
storkserver_shared_network_address_utilization{name="4"} 0.003
storkserver_shared_network_address_utilization{name="5"} 0.003
storkserver_shared_network_address_utilization{name="6"} 0
As you can see the values don't match. Strange is that sometimes values do match.
Stork Web App is showing the correct values, the problem is with the ones from /metrics.
Thank you !1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1217BIND 9 in chroot mode - detection fail2023-11-21T14:42:33ZSlawek FigielBIND 9 in chroot mode - detection failThe issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-October/000227.html).
The user runs BIND 9 in the chroot mode (using the `-t` flag). The configuration file is detected properly, but `named-c...The issue was reported on [our mailing list](https://lists.isc.org/pipermail/stork-users/2023-October/000227.html).
The user runs BIND 9 in the chroot mode (using the `-t` flag). The configuration file is detected properly, but `named-checkconf` returns a non-zero status. The problem occurs only for Stork Agent 1.12. Stork Agent 1.11 detects this BIND 9 instance properly.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1243Unstable system test: test_agent_over_ipv62023-12-19T14:33:50ZSlawek FigielUnstable system test: test_agent_over_ipv6The `test_agent_over_ipv6` system test is unstable.
```
system test:
FAILED tests/test_agent.py::test_agent_over_ipv6[kea_service0] - Failed: Timeout >1200.0s
```The `test_agent_over_ipv6` system test is unstable.
```
system test:
FAILED tests/test_agent.py::test_agent_over_ipv6[kea_service0] - Failed: Timeout >1200.0s
```1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1246DB password prompt doesn't handle special characters properly2024-01-16T13:32:04ZSlawek FigielDB password prompt doesn't handle special characters properlyThe issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421388).
I'm using password with special characters both for my `postgres` user and db user. When calling:
```shel...The issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421388).
I'm using password with special characters both for my `postgres` user and db user. When calling:
```shell
$ rake unittest:backend
```
password is given but it looks like `rake` task doesn't escape special characters correctly, and the task fails.
Exporting env var e.g. `$ export DB_MAINTENANCE_PASSWORD='***'` and then calling the task helps.
I'm using `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)` as a shell.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1247DB password prompt hangs out on Ctrl-C2023-12-19T14:40:48ZSlawek FigielDB password prompt hangs out on Ctrl-CThe issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421388).
Other thing observed is, interrupting `rake` task with `Ctrl+C` when it asks for some password, breaks the...The issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421388).
Other thing observed is, interrupting `rake` task with `Ctrl+C` when it asks for some password, breaks the terminal behavior afterwards. Terminal still waits for password and you can't type nor use the terminal in a normal way. This is not the case when you use e.g. `psql` and use `Ctrl+C` when it asks for password. You get back to normal operation of your terminal afterwards, which is expected.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1249Problem installing danger on operating system with non-US locale2023-12-19T14:42:10ZSlawek FigielProblem installing danger on operating system with non-US localeThe issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421412
* I could not run system tests. I get this error on `rake systemtest`. Not sure what is wrong. Sounds like an ...The issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421412
* I could not run system tests. I get this error on `rake systemtest`. Not sure what is wrong. Sounds like an encoding could be enforced somewhere.
```
143.7 Bundler version 2.3.26
143.7 /app/tools/ruby/bin/bundle install --gemfile /app/rakelib/init_deps/danger/Gemfile --path /app/tools/ruby --binstubs /app/tools/ruby/bin_bundle
143.7 Preparing: /app/tools/ruby/bin_bundle/danger...
143.7 mkdir -p /app/tools/ruby/bin_bundle
143.9 /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `split': invalid byte sequence in US-ASCII (ArgumentError)
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `load'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:459:in `block in load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:455:in `load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:91:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `settings'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/env.rb:20:in `report'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:74:in `request_issue_report_for'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:53:in `log_error'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:126:in `rescue in with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:118:in `with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:36:in `<top (required)>'
143.9 from /app/tools/ruby/bin/bundle:25:in `load'
143.9 from /app/tools/ruby/bin/bundle:25:in `<main>'
143.9 /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `split': invalid byte sequence in US-ASCII (ArgumentError)
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `load'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:459:in `block in load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:455:in `load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:91:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `settings'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:66:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor.rb:388:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor.rb:388:in `dispatch'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:31:in `dispatch'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:25:in `start'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:48:in `block in <top (required)>'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:36:in `<top (required)>'
143.9 from /app/tools/ruby/bin/bundle:25:in `load'
143.9 from /app/tools/ruby/bin/bundle:25:in `<main>'
143.9 rake aborted!
143.9 Command failed with status (1): [/app/tools/ruby/bin/bundle install --gemfi...]
143.9 /app/rakelib/00_init.rake:795:in `block in <top (required)>'
143.9 /app/rakelib/00_init.rake:133:in `block in find_and_prepare_deps'
143.9 /app/rakelib/00_init.rake:115:in `each'
143.9 /app/rakelib/00_init.rake:115:in `find_and_prepare_deps'
143.9 /app/rakelib/00_init.rake:1113:in `block in <top (required)>'
143.9 Tasks: TOP => /app/tools/ruby/bin_bundle/danger
143.9 (See full trace by running task with --trace)
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1251LDAP hook: Build fails on some Linux distributions2023-12-19T14:47:34ZSlawek FigielLDAP hook: Build fails on some Linux distributionsThe issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421471
```
Another one I had forgotten. I understand that this one as well is not a task that you usually run on a ta...The issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421471
```
Another one I had forgotten. I understand that this one as well is not a task that you usually run on a tarball.
rake hook:init MODULE=stork-server-ldap; rake hook:build results in error when run on a tarball. It seems like it is not picking up on DEFAULT_HOOK_DIRECTORY.
rm -f
Removing old compiled hooks...
cp go.mod go.sum /tmp/d20231205-1147463-kn7j49
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/tools/golang/go/bin/go mod edit -replace isc.org/stork=../../../../../Descărcări/sanity-checks/stork-1.14.0/backend
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/tools/golang/go/bin/go mod tidy
rake build
Building stork-server-ldap...
mkdir -p build
rm
rm: missing operand
Try 'rm --help' for more information.
rake aborted!
Command failed with status (1): [rm...]
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/hooks/stork-server-ldap/Rakefile:17:in `block in <top (required)>'
Tasks: TOP => build
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake build...]
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:150:in `block (4 levels) in <top (required)>'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:141:in `block (3 levels) in <top (required)>'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:66:in `block (3 levels) in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:65:in `chdir'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:65:in `block (2 levels) in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:46:in `chdir'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:46:in `block in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:42:in `foreach'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:42:in `forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:139:in `block (2 levels) in <top (required)>'
Tasks: TOP => hook:build
(See full trace by running task with --trace)
```1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1261The list tab link doesn't include the already specified filter2024-03-13T18:41:07ZSlawek FigielThe list tab link doesn't include the already specified filterThe list tab link doesn't include the already specified filter.
![image](/uploads/975779709fab2fb25c2959373d7d2081/image.png)
After clicking on it, the list presents non-filtered results, although the filter is still specified.
![imag...The list tab link doesn't include the already specified filter.
![image](/uploads/975779709fab2fb25c2959373d7d2081/image.png)
After clicking on it, the list presents non-filtered results, although the filter is still specified.
![image](/uploads/946de8fa616032c96e97f1157e526afa/image.png)1.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/1320Duplicated rows in the service table2024-02-28T16:28:53ZSlawek FigielDuplicated rows in the service tableThe problem was reported [on the Stork-users mailing list](https://lists.isc.org/pipermail/stork-users/2024-February/000245.html).
The `service` table rows may be duplicated on some unknown conditions. It causes the HA status displayed ...The problem was reported [on the Stork-users mailing list](https://lists.isc.org/pipermail/stork-users/2024-February/000245.html).
The `service` table rows may be duplicated on some unknown conditions. It causes the HA status displayed on the Dashboard to diverge from the status presented on the application page.
The user reports that the problem occurs in Stork 1.15 but was also observed in the previous versions. The first installed version was 1.12.
Stork was installed long after configuring HA in Kea.
It seems the same problem was reported in #616 and #818.
We should check if the problem were fixed correctly in 1.7 and if the invalid table state may preserved from the previous versions.
We should also analyze if adding the unique constraint on the `service` table would be beneficial to avoid similar issues.1.16Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/1193CA returns number overflow on ipv6 stats2024-03-22T12:56:27ZSlawek FigielCA returns number overflow on ipv6 statsThe issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408666) by @slawek.
I have observed a weird error in logs:
```
stork-1130-agent-kea6-1 | INFO COMMAND_RECEIVED R...The issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408666) by @slawek.
I have observed a weird error in logs:
```
stork-1130-agent-kea6-1 | INFO COMMAND_RECEIVED Received command 'statistic-get-all'
stork-1130-agent-kea6-1 | INFO CTRL_AGENT_COMMAND_RECEIVED command statistic-get-all received from remote address 127.0.0.1
stork-1130-agent-kea6-1 | INFO COMMAND_RECEIVED Received command 'statistic-get-all'
stork-1130-agent-kea6-1 | time="2023-10-10 12:40:51" level="error" msg="Failed to parse responses from Kea: response result from Kea != 0: 1, text: internal server error: unable to parse server's answer to the forwarded message: Number overflow: 36893488147419103232 in <wire>:0:8422" file=" promkeaexporter.go:850 "
stork-1130-agent-kea6-1 | time="2023-10-10 12:40:51" level="error" msg="Some errors were encountered while collecting stats from Kea: response result from Kea != 0: 1, text: internal server error: unable to parse server's answer to the forwarded message: Number overflow: 36893488147419103232 in <wire>:0:8422\nisc.org/stork/agent.(*GetAllStatisticsResponse).UnmarshalJSON\n\tisc.org/stork/agent/promkeaexporter.go:149\nencoding/json.(*decodeState).array\n\tencoding/json/decode.go:507\nencoding/json.(*decodeState).value\n\tencoding/json/decode.go:364\nencoding/json.(*decodeState).unmarshal\n\tencoding/json/decode.go:181\nencoding/json.Unmarshal\n\tencoding/json/decode.go:108\nisc.org/stork/agent.(*PromKeaExporter).collectStats\n\tisc.org/stork/agent/promkeaexporter.go:847\nisc.org/stork/agent.(*PromKeaExporter).statsCollectorLoop\n\tisc.org/stork/agent/promkeaexporter.go:710\nruntime.goexit\n\truntime/asm_amd64.s:1650" file=" promkeaexporter.go:712 "
```1.16Slawek FigielSlawek Figiel2024-05-29https://gitlab.isc.org/isc-projects/stork/-/issues/1301Length of input for lease6-get-by-duid is not validated2024-03-28T12:24:48ZSlawek FigielLength of input for lease6-get-by-duid is not validatedThe issue was found by @andrei during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434113
Searching leases by two-character or four-character words provide warnings.
![image](https://gitlab.isc.org/i...The issue was found by @andrei during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434113
Searching leases by two-character or four-character words provide warnings.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/084c42bee2b770bbb47bad0d3e83212d/image.png)
This is caused by an error response e.g. `[ { "result": 1, "text": "identifier is too short (2), at least 3 is required" } ]` to the `lease6-get-by-duid` command. This could be avoided by having Stork check this requirement up front and prevent the command from being sent, as it does with other input. As the comment in `lease.go` says
> // Kea does not accept empty DUIDs. Empty DUID in Kea is represented by 1 zero byte (Kea < 2.3.8) or 3 zero bytes (Kea >= 2.3.8).\`
The current situation can be confusing to a user trying to determine why an even number of characters and bytes is more problematic than an odd number of characters which is checked upfront by Stork.1.16Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/stork/-/issues/1307Missing empty placeholder in some tables2024-03-28T15:39:46ZSlawek FigielMissing empty placeholder in some tablesThe issue was found by @piotrek during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434139
Some tables don't display feedback about empty data set:
![image](https://gitlab.isc.org/isc-projects/stork/...The issue was found by @piotrek during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434139
Some tables don't display feedback about empty data set:
![image](https://gitlab.isc.org/isc-projects/stork/uploads/497ba0f438fff4d1587a392bfe251491/image.png)
Also Total# of subnets is not 0, but nothing is displayed.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1275Password change fails with character '+' that form states is allowable2024-01-16T14:41:07ZBaxil (aka Horizon)Password change fails with character '+' that form states is allowable
**Description**
Stork will refuse to validate passwords using the plus sign, one of the characters the password change screen explicitly states is an allowed special character.
**To Reproduce**
1. visit /profile/password page for passw...
**Description**
Stork will refuse to validate passwords using the plus sign, one of the characters the password change screen explicitly states is an allowed special character.
**To Reproduce**
1. visit /profile/password page for password change
2. In both password and confirm password boxes type: abc+123
3. Password box will error out with an allowed characters message and confirm box will error out stating passwords don't match
![20240109-stork-passwords](/uploads/76d84e097f9c19cc31850f9bc204c36e/20240109-stork-passwords.png)
**Expected behavior**
Any characters which cause password processing errors should be removed from acceptable character lists.
**Environment:**
- Stork: 1.14.0
- OS: unknown, my apologies (I'm an end user)
- Kea version: unknown
- BIND9 version: unknown
**Additional Information**
This is possibly related to issue #1246 if the db password is processed in the same fashion.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1313Incorrect default *.env file.2024-02-27T09:52:35ZAndreas JentschIncorrect default *.env file.---
name: Bug report
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/...---
name: Bug report
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**
If you start the agent with the following command, this output is generated.
/usr/bin/stork-agent --use-env-file
FATA[2024-02-08 10:39:55] main.go:406 invalid environment file: '/etc/stork/server.env': ...
**To Reproduce**
Steps to reproduce the behavior:
1. /usr/bin/stork-agent --env-file '/etc/stork/agent.env' --use-env-file
**Expected behavior**
You should adjust the default value for the .*env file.
**Environment:**
/usr/bin/stork-agent -v
1.15.0
Static hostname: dhcp-01-xgs.glattnet.ch
Icon name: computer-server
Chassis: server 🖳
Machine ID: cf6ef911a0974dbfa031e35e8f775125
Boot ID: 96edd982af2d4745a030003205e7fae2
Operating System: Rocky Linux 9.3 (Blue Onyx)
CPE OS Name: cpe:/o:rocky:rocky:9::baseos
Kernel: Linux 5.14.0-362.18.1.el9_3.x86_64
Architecture: x86-64
Hardware Vendor: HPE
Hardware Model: ProLiant DL360 Gen10
Firmware Version: U32
- Kea version: 2.2.0
tarball
linked with:
log4cplus 2.0.5
OpenSSL 3.0.7 1 Nov 2022
database:
MySQL backend 14.0, library 3.2.6
PostgreSQL backend 13.0, library 130013
Memfile backend 2.1
- Stork: 1.15.0
- OS: Rocky Linux 9.3 (Blue Onyx)
- Kea: Which features were compiled in (in particular which backends)
- Kea: If/which hooks where loaded in
**Contacting you**
E-Mail1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1287Deadlock during removing a machine2024-01-31T18:51:40ZSlawek FigielDeadlock during removing a machineThe database deadlock may occur if the machine is deleted during the config review.
```
problem deleting machine 1: ERROR #40P01 deadlock detected" file="machines.go:688"
```
It causes the `test_delete_machine_with_config_reports` syst...The database deadlock may occur if the machine is deleted during the config review.
```
problem deleting machine 1: ERROR #40P01 deadlock detected" file="machines.go:688"
```
It causes the `test_delete_machine_with_config_reports` system test to fail often.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1294Menubar bugs after PrimeNG update2024-02-13T14:40:45ZSlawek FigielMenubar bugs after PrimeNG update[Original source](https://gitlab.isc.org/isc-projects/stork/-/merge_requests/712#note_433295)
Buttons on the top bar
* On hover
* On master, the dropdown is not expanded.
* ![image](https://gitlab.isc.org/isc-projects/stork/uploa...[Original source](https://gitlab.isc.org/isc-projects/stork/-/merge_requests/712#note_433295)
Buttons on the top bar
* On hover
* On master, the dropdown is not expanded.
* ![image](https://gitlab.isc.org/isc-projects/stork/uploads/4af3ff65063b39f15a25b7654b20828c/image.png)
* On this branch, the dropdown is expanded.
* ![image](https://gitlab.isc.org/isc-projects/stork/uploads/45bc7214bf46f737c6c37a714c0ac4fa/image.png)
* On unhover
* On master, it returns to the initial state.
* ![image](https://gitlab.isc.org/isc-projects/stork/uploads/d084acfb2bb1b9934e562beb4389fd1f/image.png)
* On this branch, the dropdown remains expanded.
* ![image](https://gitlab.isc.org/isc-projects/stork/uploads/1891a06b3bd24907247771ba866b11a8/image.png)
Andrei likes the on-hover change. He doesn't like the on-unhover change.
It is a bug in [the PrimeNG 17.4.0 internals](https://github.com/primefaces/primeng/issues/13512). I didn't find the workaround.outstandinghttps://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/1306Reset subnet pagination on filter2024-03-05T14:32:02ZSlawek FigielReset subnet pagination on filterThe issue was found by @piotrek during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434138
Pagination not reset when filtering Subnets by Kea app: ![image](https://gitlab.isc.org/isc-projects/stork/up...The issue was found by @piotrek during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434138
Pagination not reset when filtering Subnets by Kea app: ![image](https://gitlab.isc.org/isc-projects/stork/uploads/d75cedb560b9c06590aa8c95ccd96d23/image.png)1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1311After PrimeNG update some buttons behave differently2024-03-26T14:48:07ZPiotrek ZadrogaAfter PrimeNG update some buttons behave differentlyFor example, Machines list view - Authorized and Unauthorized buttons work like toggles now. 2 consecutive clicks on Unauthorized toggles active/non-active state of the button, and the list itself shows different data.
![image](/uploads...For example, Machines list view - Authorized and Unauthorized buttons work like toggles now. 2 consecutive clicks on Unauthorized toggles active/non-active state of the button, and the list itself shows different data.
![image](/uploads/19aefedb53d49f7863cd891a01f5631c/image.png)
![image](/uploads/109a5db2e701ab2e044ef08c6b6ca0f8/image.png)1.17https://gitlab.isc.org/isc-projects/stork/-/issues/1333Incorrect error handing of the bind9 app state causes no transition to the in...2024-03-14T12:23:22ZMarcin SiodelskiIncorrect error handing of the bind9 app state causes no transition to the inactive stateThe `GetAppState()` logic returns early when communication with named fails. As a result, the info about the app is not updated in the database. So, for example, the active flag remains true, while it should be put to false. The daemon a...The `GetAppState()` logic returns early when communication with named fails. As a result, the info about the app is not updated in the database. So, for example, the active flag remains true, while it should be put to false. The daemon appears to be online in the UI even though there is no connection to it.https://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/1342Agent installation script doesn't work with stork configured for https2024-03-27T10:50:22Zjerry bonnerAgent installation script doesn't work with stork configured for https---
name: Bug report
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/...---
name: Bug report
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 1.15.0 configured with https. Agent installation script from GUI details :
wget https://x.x.x.x:8080/stork-install-agent.sh
However, stork-install-agent.sh is configured to download package via :
curl -o /tmp/isc-stork-agent.deb "x.x.x.x:8080/assets/pkgs/isc-stork-agent_1.15.0.240205220739_amd64.deb"
Note that "https://" is not specified.
Resulting in a downloaded file that contains:
Client sent an HTTP request to an HTTPS server.
**To Reproduce**
Steps to reproduce the behavior:
1. Install Stork 1.15.0 and configure with https
2. Execute provided agent installation from GUI
3. Script fails because isc stork agent package is attempted to be downloaded via http, but stork is configured with https
**Expected behavior**
Stork should code agent installation script to download asset package via https, if STORK_REST_TLS_CERTIFICATE is configured.
**Environment:**
- Stork: 1.15.0
- OS: Ubuntu 20.04https://gitlab.isc.org/isc-projects/stork/-/issues/1348Remove stork-repo tag from .gitlab-ci.yaml2024-03-27T16:57:15ZSlawek FigielRemove stork-repo tag from .gitlab-ci.yamlThe `upload_to_repo` CI task is not working as described [on MM QA channel](https://mattermost.isc.org/isc/pl/eoq3yfamnbfz7n6tfaewdmc6mh).
We got this error:
> This job is stuck because of one of the following problems. There are no ac...The `upload_to_repo` CI task is not working as described [on MM QA channel](https://mattermost.isc.org/isc/pl/eoq3yfamnbfz7n6tfaewdmc6mh).
We got this error:
> This job is stuck because of one of the following problems. There are no active runners online, no runners for the protected branch, or no
runners that match all of the job's tags:
Its tags defined in the .gitlab-ci.yml file are:
- linux
- aws
- runner-manager
- amd64
- stork-repo
I checked the Stork repository settings and it seems there is no runner that matches the requirements.
The `aws` tag is missing in all runners that have the stork-repo tag.
### Proposed solution:
* remove `stork-repo` tag from `upload_to_repo` job in .gitlab-ci.yml.
* remove `-4` (which enforces IPv4 connection) from `ssh-keyscan -4 repo.isc.org >> ~/.ssh/known_hosts`