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
Tarun Pothulapati
7d89d674b6
rollout: Handle analysis error gracefully
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
6bad28232a
cleanup: move settings out
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
05f06ee744
Make the job work inside a cluster
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
4681062c30
rollout: remove error wrapping and waiting in tests
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
c134bd8798
add hack directory for rollout job
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
9267d33f1a
add new prometheus metrics endpoint using common-go/base-server
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
f24191c769
Move rollout and analysis into separate packages
...
This also includes:
- make actions using RolloutAction Interface
- abstract out the analysis logic into a separate package
- bugfix: don't close the channel
- working prototype with metric analysis
- logs refactor
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
13f6345a3c
add prometheus package for metric analysis
...
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Tarun Pothulapati
db8b7b7ec2
Add new `workspace-rollout-job to components
...
Basic rollout works, but without metric analysis
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2023-01-23 18:01:31 +01:00
Milan Pavlik
17e83b9985
[iam] Remove component
2023-01-23 17:33:31 +01:00
Gero Posmyk-Leinemann
ab6895e4b7
[db] Make 'leeway run components/gitpod-db:init-testdb' the new default for starting test dbs
2023-01-23 16:51:30 +01:00
Milan Pavlik
27f1ba0939
[public-api] Move oidc handler package from iam
2023-01-23 15:45:31 +01:00
Wouter Verlaek
8aa5a1d12c
[ws-manager-mk2] Add print columns and shortname
2023-01-23 15:41:31 +01:00
Wouter Verlaek
0d9b56d8fa
Cleanup withoutWorkspaceComponents flag usage
2023-01-23 15:37:32 +01:00
Milan Pavlik
5cc1ab99f5
[proxy] Route /iam/* to public-api-server
2023-01-23 15:31:31 +01:00
Milan Pavlik
0aad145ad4
[public-api] Bind OIDC HTTP service to Public API
2023-01-23 15:24:30 +01:00
Andrew Farries
4b9a5fd5b1
Use a valid UUID for the admin user
2023-01-23 14:48:30 +01:00
Deepayan Mukherjee
1e694f0b4b
Added search loader
...
Signed-off-by: Deepayan Mukherjee <deepayanmukherjee1312@gmail.com>
2023-01-23 14:15:31 +01:00
Thomas Schubart
cb6fc74429
[ws-daemon] Do not hide errors
2023-01-23 14:14:30 +01:00
Christian Weichel
572fcbb008
[ws-daemon] Start workspace controller based content init
2023-01-23 14:14:30 +01:00
Christian Weichel
7ca2a11572
[ws-manager-mk2] Remove ws-daemon connection
2023-01-23 14:14:30 +01:00
Christian Weichel
a3f8d86f3b
[ws-manager-mk2] Fix build after rebase
2023-01-23 14:14:30 +01:00
Christian Weichel
a991690e8e
[ws-manager-mk2] Introduce first controller test
2023-01-23 14:14:30 +01:00
Christian Weichel
99bff04aa5
[ws-manager-mk2] Rework CRD to better match k8s best practice
2023-01-23 14:14:30 +01:00
Christian Weichel
aef9b4e880
[ws-manager-mk2] Fix the build
2023-01-23 14:14:30 +01:00
Christian Weichel
f40cb83bac
[ws-manager-mk2] Add fixture tests
2023-01-23 14:14:30 +01:00
Christian Weichel
8caac1cd5b
[ws-manager-mk2] Integrate into installer
2023-01-23 14:14:30 +01:00
Christian Weichel
f91abd8a1e
[ws-manager-mk2] Add workspace class support
2023-01-23 14:14:30 +01:00
Christian Weichel
56961e02a1
[ws-manager-mk2] Improve status extraction
2023-01-23 14:14:30 +01:00