63 Commits

Author SHA1 Message Date
Pudong
81ff3d16e4
[ws-manager-mk2] redact log (#18906)
* update to logrusr v4

* Add DeepCopyStruct to scrubber

* use DeepCopyStruct to scrub log

* mark wrokspace.stauts.url redact
2023-10-16 13:48:23 +03:00
Aleksandar
5dc4998b45
[eng-874] workspace creating time metric (#18916)
* [eng-874] workspace creating time metric

* calculate creating time from ts, add tests

* rm unused field

* copy pasta

* wrong phase
2023-10-13 13:33:21 +03:00
Manuel Alejandro de Brito Fontes
887a8b55e4
Avoid ws-manager-mk2 metrics duplication (#18625) 2023-09-04 19:44:01 +02:00
Manuel Alejandro de Brito Fontes
7909192715
Reduce ws-manager-mk2 logs verbosity (#18626) 2023-09-04 15:41:01 +02:00
Manuel Alejandro de Brito Fontes
687f337899
Enable leader election in ws-manager-mk2 (v3) (#18539)
* Enable leader election in ws-manager-mk2

* Update go modules

* Move workspace activity to CRD

* Remove workspace activity

* Cleanup

* Update ws-manager-mk2 CRD

* Cleanup

* Restore lastActivity logic

* TEST

* Disable observability

* Start the grpc server after leader election

* Bount the source of subscribers to an informer

* Cleanup

* Avoid deepCopy

* Remove goroutine to execute OnReconcile

* Refactor last activity to be consistent acrtoss the controllers

* Address feedback
2023-08-26 22:28:52 +02:00
Wouter Verlaek
bf3d548266
[ws-manager-mk2] Scrub status fields, add vscode launch.json (#18595)
* [ws-manager-mk2] Scrub status fields, add vscode launch.json

* Fix scrubber panic on unexported pointer
2023-08-25 13:00:51 +02:00
Manuel Alejandro de Brito Fontes
8c6d8e28f3
Update dependencies (#18362)
* Update k8s dependencies to v1.27.3

* Update opencontainers/runtime-spec to v1.1.0

* Update controller runtime to v0.15.0

* Update go modules

* Fix build

* Cleanup

* Fix ws-manager e2e tests
2023-07-27 23:34:29 +08:00
Thomas Schubart
20164cbb4a
[wsman-mk2] Simplify condition checking (#17961) 2023-06-17 22:59:07 +08:00
Wouter Verlaek
d41a38ba83
[ws-manager-mk2] Log conflict errors as info (#17840)
* [ws-manager-mk2] Log conflict errors as info

* Fix error field

* Requeue after small delay on conflict
2023-06-08 15:54:58 +08:00
Thomas Schubart
daef337abc
[wsman-mk2] Improve error message when removal of finalizer fails (#17749) 2023-05-25 23:47:59 +08:00
Wouter Verlaek
da50b8ceb6
[ws-manager-mk2] Cleanup and fail workspaces when node disappears (#17599)
* [ws-manager-mk2] Cleanup and fail workspaces when node disappears

* Cache nodes

* Fix test, and reconcile ws when node gets deleted
2023-05-15 22:53:00 +08:00
Wouter Verlaek
c97d1f7e25
[ws-manager-mk2] Startup failures exclude StoppedByRequest (#17495)
* [ws-manager-mk2] Startup failures exclude StoppedByRequest

* Fix test
2023-05-09 20:28:50 +08:00
Thomas Schubart
81a6623ac3
[wsman-mk2] Ensure stop reason is logged (#17517) 2023-05-05 23:21:43 +08:00
Wouter Verlaek
17f39cfe68
[ws-manager-mk2] Fix prebuild start failure false positives (#17465) 2023-05-03 00:17:41 +08:00
Wouter Verlaek
09a1586103
[ws-manager-mk2] Fix abort prebuild failure (#17451)
* [ws-manager-mk2] Fix abort prebuild failure

* Fix: don't set empty phase in extractFailure
2023-05-02 18:02:40 +08:00
Thomas Schubart
f78093f858
[wsman-mk2] Log reconcilliations (#17434) 2023-05-01 16:00:39 +08:00
Wouter Verlaek
c1e627a66f
[ws-manager-mk2] Improve reconcile err logging (#17419)
* [ws-manager-mk2] Improve reconcile err logging

* Update StopWorkspace err log

* Fix errors
2023-04-28 14:56:36 +08:00
Wouter Verlaek
ce04b77c29
[ws-manager-mk2] Maintenance continue reconciles (#17136) 2023-04-28 05:42:36 +08:00
Wouter Verlaek
96100e9975
[ws-manager-mk2] Always send OnReconcile events (#17376) 2023-04-26 00:08:46 +08:00
Wouter Verlaek
06ec36b564
[ws-manager-mk2] Refactor metrics with EverReady condition (#17114)
* [ws-manager-mk2] Refactor metrics with EverReady condition

* Fix test, default failure message

* Add stop reason metric
2023-04-08 11:57:48 +02:00
Wouter Verlaek
f23737694a
[ws-manager-mk2] Extract headless task failure (WKS-18) (#17091)
* [ws-manager-mk2] Extract headless task failure

* Undo ready status change, refactored #17114
2023-04-03 10:25:43 +02:00
Wouter Verlaek
c828d4176c
[ws-manager-mk2] Remember existing workspaces after a restart (#17066) 2023-03-29 20:43:39 +02:00
Wouter Verlaek
c14a25cfdf
[ws-manager-mk2] Report content init/dispose failures (#17015) 2023-03-27 17:22:25 +02:00
Thomas Schubart
42a3602fce
[ws-manager-mk2] Emit events for workspaces and snapshots (#16907)
* [wsman-mk2] Emit workspace events

* [installer] Permissions for events

* [ws-man-mk2] Emit snapshot events

* [installer] Update render tests

* [wsman-mk2] Include review comments
2023-03-20 13:59:12 +01:00
Wouter Verlaek
3a561bf274
[ws-manager-mk2] Check empty ns, delete secrets before finalizer (#16900) 2023-03-20 11:32:12 +01:00
Thomas Schubart
c800175c72
[ws-manager-mk2] Protect tokens (#16806)
* [wsman-mk2] Create token secret

* [installer] Fix casing for namespace type metadata

* [installer] Create secrets namespace

* [installer] Configure roles and bindings

* [installer] Move namespace constant to common pkg

* [installer] Create permissions for ws-daemon

* [wsman-mk2] Watch on multiple ns

* [ws-daemon] Use token secret

* [wsman-mk2] Remove secret from initializer

* [wsman-mk2] Test token secret

* [werft] Fix document index

* [installer] Update render tests

* [wsman-mk2] Fix imports

* [wsman-mk2] Ensure maintenance controller required permissions

* [wsman-mk2] Retry deleting secret

* [installer] Ensure objects in secrets namespace are only created with mk2 option
2023-03-15 12:57:07 +01:00
Wouter Verlaek
25220bb30b
[ws-manager-mk2] Maintenance mode (#16702)
* [ws-manager-mk2] Maintenance mode reconciler

* [ws-manager-mk2] Check for maintenance mode

* [ws-manager-mk2] Default to maintenance mode on startup

* [ws-manager-mk2] Disable maintenance on unmarshal failure
2023-03-09 17:25:45 +01:00
Wouter Verlaek
6694cf138b
[ws-manager-mk2] Enable tracing, add debug logs (#16643) 2023-03-06 16:22:03 +01:00
Wouter Verlaek
1631a4a038
[ws-manager-mk2] Loadgen fixes, concurrent reconciliation (#16613)
* [ws-manager-mk2] Loadgen fixes, concurrent reconciliation

* [ws-manager-mk2] Update tests with content readiness

* Simplify content ready check

* Fix json tags

* Revert poll interval
2023-03-06 15:18:04 +01:00
Thomas Schubart
400be836fb
[ws-manager-mk2] Protect environment secrets (#16601)
* [installer] Configure RBAC access to secrets

* [wsman-mk2] Create environment workspace secret

* [wsman-mk2] Delete workspace secret after start/stop

* [ws-manager-mk2] Update tests

* [ws-manager-mk2] Remove poll
2023-03-06 12:42:03 +01:00
Wouter Verlaek
a9810d6a0a
[ws-manager-mk2] Fix race where pod gets recreated in Stopped phase (#16622)
* [ws-manager-mk2] Fix race where pod gets recreated in Stopped phase

* [ws-manager-mk2] Add pod creation logs

* Change to Patch
2023-03-02 13:27:59 +01:00
Wouter Verlaek
e07b0c8b77
[ws-manager-mk2] Refactor metric collection and add tests (#16585) 2023-03-01 12:16:58 +01:00
Wouter Verlaek
bec87139a9
[ws-manager-mk2] Remove headless field (#16611) 2023-03-01 12:14:59 +01:00
Thomas Schubart
730224aef6
[ws-manager-mk2] Reduce duplicate delete pod calls (#16579) 2023-02-27 12:07:57 +01:00
Thomas Schubart
12f3c91599
[ws-manager-mk2] Ensure workspace enters stopped (#16479) 2023-02-27 11:45:57 +01:00
Wouter Verlaek
7440f00796
[ws-manager-mk2] Add Grafana dashboard (#16455)
* [ws-manager-mk2] Add Grafana dashboard

* [ws-manager-mk2] Add reconciliations by controller panel
2023-02-23 00:19:52 +01:00
Wouter Verlaek
00229da4af [ws-manager-mk2] Add finalizer on workspace, handle deletion 2023-02-15 11:27:19 +01:00
Wouter Verlaek
e62c773362 [ws-manager-mk2] Aborted condition, grace period 2023-02-14 12:04:19 +01:00
Wouter Verlaek
468f7bf016 [ws-manager-mk2] Controller env tests 2023-02-13 22:08:18 +01:00
Wouter Verlaek
172c58c0eb [ws-manager-mk2] Workspace timeouts 2023-02-10 10:49:15 +01:00
Thomas Schubart
ab0ab235d3 [ws-manager-mk2] Ensure values are set despite update conflict 2023-02-09 12:30:14 +01:00
Wouter Verlaek
810e17508d [ws-manager-mk2] Extract ctrl utils to common-go 2023-02-07 11:19:45 +01:00
Wouter Verlaek
971c3d6412 [ws-manager-mk2] Implement MarkActive 2023-02-07 10:51:45 +01:00
Thomas Schubart
c2f8799433 [ws-manager-mk2] Remove todos with no action required 2023-02-01 17:52:40 +01:00
Thomas Schubart
382bde1767 [ws-manager-mk2] Switch to lru cache 2023-01-30 23:22:38 +01:00
Thomas Schubart
55ff7cd73b [ws-manager-mk2] Remove obsolete code 2023-01-30 23:22:38 +01:00
Thomas Schubart
a485cb69a9 [ws-manager-mk2] Ensure metrics are only counted once 2023-01-30 23:22:38 +01:00
Thomas Schubart
63f168ab38 [ws-manager-mk2] Add metrics 2023-01-30 23:22:38 +01:00
Thomas Schubart
2e5ac7e4de [ws-manager-mk2] Register metrics 2023-01-30 23:22:38 +01:00
Thomas Schubart
a80ee4a26b [ws-manager] Delete workspace CR on stop 2023-01-30 14:59:37 +01:00