5923 Commits

Author SHA1 Message Date
Thomas Schubart
63f168ab38 [ws-manager-mk2] Add metrics 2023-01-30 23:22:38 +01:00
Thomas Schubart
456e76bad7 [ws-daemon] 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
Tarun Pothulapati
f05f5bd1c3 [ws-rollout] Add prometheus init check
When given a non-usable `--prometheus-url`, We start the
rollout without verifying if the prometheus is reachable or not. This
is a problem as we will be unable to get the metrics from prometheus
and hence the rollout will be reverted later causing unnecessary
time waste.

This can be prevented by performing a simple check to see if the
prometheus is reachable or not. `up` query is used instead of
key metrics as we can't be sure of their existence.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-30 22:04:38 +01:00
Kyle Brennan
72af187f9c Update buildkit and containerd 2023-01-30 19:07:38 +01:00
Manuel Alejandro de Brito Fontes
89eb6f1603 Update tests 2023-01-30 16:36:39 +01:00
Manuel Alejandro de Brito Fontes
92e11940d0 Do not try to connect to not ready ws-daemon pods 2023-01-30 16:36:39 +01:00
Anton Kosyakov
41a67f17cf clean up after https://github.com/gitpod-io/gitpod/pull/15895
removed unused code
2023-01-30 15:56:37 +01:00
Thomas Schubart
81e0623e0f [ws-daemon] Review comments
- Reuse workspace
- Update metric name
- Check if backup timed out
- Ensure temp directory is deleted
2023-01-30 14:59:37 +01:00
Thomas Schubart
fb41408cc3 [ws-daemon] Register metrics 2023-01-30 14:59:37 +01:00
Thomas Schubart
a80ee4a26b [ws-manager] Delete workspace CR on stop 2023-01-30 14:59:37 +01:00
Thomas Schubart
9d2cba620d [ws-daemon] Filter notifications 2023-01-30 14:59:37 +01:00
Thomas Schubart
f1454d3994 [ws-daemon] Only handle k8s operations in controller 2023-01-30 14:59:37 +01:00
Thomas Schubart
75be62fba0 [ws-daemon] Dispose workspace 2023-01-30 14:59:37 +01:00
Sven Efftinge
73f2a268ea synchronize migration 2023-01-30 11:17:37 +01:00
Sven Efftinge
6b546d6e86 [server] only migrate users without chargebee plan 2023-01-30 11:17:37 +01:00
Alex Tugarev
3ef29bf278 [papi] Add signing secret for JWTs
Praparation to use with `golang-jwt/jwt`
2023-01-30 11:15:37 +01:00
Wouter Verlaek
3651262ba2 [ws-manager-mk2] Configure health probes and leader election 2023-01-27 04:12:34 +01:00
André Duarte
f9b3c4fc4a [admin] add phone number to user page 2023-01-26 19:02:33 +01:00
George Tsiolis
2128412826 Revert monospace font configuration 2023-01-26 13:44:33 +01:00
Mads Hartmann
464f37778f Download previewctl from image instead of building it 2023-01-26 12:52:33 +01:00
Anton Kosyakov
26180f935d [ide-service] remove unused code 2023-01-25 14:45:33 +01:00
Gero Posmyk-Leinemann
6586c2a044 [cleanup] After cookie migration 2023-01-25 14:17:32 +01:00
Gero Posmyk-Leinemann
46cfb187b0 [server] Rename cookie to v2 for proper rollout 2023-01-25 13:57:32 +01:00
Thomas Schubart
57a0bb90db [ws-daemon] Ensure controller manager is not active 2023-01-24 19:22:32 +01:00
Thomas Schubart
a184846a3d [ws-proxy] Configure workspace CRD info provider 2023-01-24 19:22:32 +01:00
Jean Pierre
8a77c7bbc7 Narrow cookie scope to gitpod domain only 2023-01-24 19:21:32 +01:00
Brad Harris
55e320f754 Removing useNewWorkspacesList and unused code 2023-01-24 17:15:32 +01:00
Brad Harris
5254e7535c removing duplicated ReactQueryDevtools component 2023-01-24 17:14:32 +01:00
Tarun Pothulapati
f3efa0be29 [ws-rollout] Fix Build Versioning
This PR updates the Version field in root to
be set correctly and also use the same with
the cobra CLI.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-24 08:10:31 +01:00
Brad Harris
6310989e27 updates from review feedback 2023-01-23 20:46:31 +01:00
Brad Harris
f8af920c4d handle when idb isn't available 2023-01-23 20:46:31 +01:00
Brad Harris
bed2e7f459 figuring out how to handle when idb doesn't work 2023-01-23 20:46:31 +01:00
Brad Harris
7a9e2241e5 Persist query client in indexed db 2023-01-23 20:46:31 +01:00
Brad Harris
58bf85ac57 wip for setting up persisted query client 2023-01-23 20:46:31 +01:00
Brad Harris
95105e34c7 adding deps for rq persisting 2023-01-23 20:46:31 +01:00
Jean Pierre
a4af8b34d1 [supervisor] Do not log error when it has Canceled code 2023-01-23 19:15:31 +01:00
Tarun Pothulapati
3f7eb00841 fix go build pkg error
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
ace1c2f56b rollout: Support rollout step score that are not factors of 100
This is done by doing
 `int32(math.Min(float64(r.currentScore+r.rolloutStep), 100))`

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
56ebbfd525 remove mentions of logrus
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
0a03b1ce35 analaysis: Switch to enums in MoveForward
DecisionRevert means to revert
DecisionNoData means that there is no data to make an informed decision
DecisionMoveForward means to move forward based on data

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
65203f34f1 Update README.md & grammatical improvements
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
250c4493bf hack: never re-run the job on error
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
46592082a0 analysis: Use prometheusURL instead of port-forward'ing
This also removes the unnecessary FindAnyPodOwnedBy helper function
that was added

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
98892234ff job: return the right exit status
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
14e015390f rollout: don't wait for the first ticker
also, Fix unit test regression

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
5b2f604e4a rollout: revert on interrupt signal
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
061167dba7 return correctly after rollout or failure
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
2f8cbb78d9 replace error ratio analyzer with workspace key metrics analyzer
This Commit also removes the old error rate analyzer.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
ed79a89d6b analysis: Add new No Data Variant & Target Based Metric Analysis
\# `No Data` Variant

This commit adds a new variant that the `Analysis.MoveForward`
function can return. This variant is used to indicate that there
isn't enough data to make a concrete decision about the rollout.

This is then coupled with the `Rollout.OkayScoreUntilNoData` to
move rollout forward until a specific point even when there is
no data so that data can actually be created. If no data
is present even after `OkayScoreUntilNoData` is reached, then
we rollback as we aren't making an informed rollout. If positive,
we move forward. If negative, we rollback.

\# Target Based Metric Analysis

In this commit, We add a new `ErrorRatioAnalyzer` through which we
calculate the success target percentage by doing
((totalRequests - errorRequests)/totalRequests) * 100 and compare it
with the target percentage provided by the user. This means users can
specify a target percentage (i.e 99%, etc) at which a new cluster
can be considered safe. We rollback, If it is less than that.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00