-
Notifications
You must be signed in to change notification settings - Fork 895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate Experiments with Analysis #210
Integrate Experiments with Analysis #210
Conversation
jessesuen
commented
Oct 19, 2019
•
edited
Loading
edited
- Refactors Experiment controller to allow degraded replicasets to fail the experiment
- Allows multiple analysis templates to be invoked as part of an Experiment
Codecov Report
@@ Coverage Diff @@
## master #210 +/- ##
==========================================
+ Coverage 84.52% 84.82% +0.29%
==========================================
Files 47 47
Lines 3981 4244 +263
==========================================
+ Hits 3365 3600 +235
- Misses 440 455 +15
- Partials 176 189 +13
Continue to review full report at Codecov.
|
fa1ce45
to
15ec304
Compare
15ec304
to
94a00f0
Compare
9628142
to
38a0b38
Compare
38a0b38
to
47e7340
Compare
4c8e487
to
7c85d2e
Compare
53cf865
to
de2d492
Compare
// we ignore this update. | ||
msg := fmt.Sprintf(conditions.ExperimentTimeOutMessage, experiment.Name) | ||
condition := conditions.NewExperimentConditions(v1alpha1.ExperimentProgressing, corev1.ConditionFalse, conditions.TimedOutReason, msg) | ||
conditions.SetExperimentCondition(&newStatus, *condition) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed TimeOut condition from experiments because this now fails the Experiment, and will be implicit by the Failed status. One less state to manage.
4fa1339
to
29cb1f3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good, but I have some questions
go test -failfast -covermode=count -coverprofile=coverage.out ${TEST_TARGET} | ||
|
||
.PHONY: coverage | ||
coverage: test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm excited to start using this!
@@ -158,12 +164,31 @@ func NewExperimentController( | |||
// Two different versions of the same Replica will always have different RVs. | |||
return | |||
} | |||
if defaults.GetReplicasOrDefault(newRS.Spec.Replicas) == defaults.GetReplicasOrDefault(oldRS.Spec.Replicas) && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would we want to use this logic with rollouts too? We don't have to do it now, but it's just a thought
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so, it's a riskier change though. Not sure if we consider other things about the replicaset, like conditions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Minor: can you write tests to cover https://codecov.io/gh/argoproj/argo-rollouts/pull/210/diff#D1-74 and https://codecov.io/gh/argoproj/argo-rollouts/pull/210/diff#D1-194 |
74ee8bf
to
874c3e4
Compare