-
Notifications
You must be signed in to change notification settings - Fork 1
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
[REVERTED] feat: PC-13893 Deprecate usage of objective's value field for Composite SLOs #529
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ditrytus
requested review from
nieomylnieja,
skrolikiewicz and
daniel-zelazny
as code owners
August 23, 2024 11:39
ditrytus
changed the title
feat: PC-13893 objective value
feat: PC-13893 objective's value is optional for Composite SLOs
Aug 23, 2024
ditrytus
changed the title
feat: PC-13893 objective's value is optional for Composite SLOs
feat: PC-13893 Deprecate objective's value field for Composite SLOs
Aug 23, 2024
ditrytus
changed the title
feat: PC-13893 Deprecate objective's value field for Composite SLOs
feat: PC-13893 Deprecate usage of objective's value field for Composite SLOs
Aug 23, 2024
nieomylnieja
requested changes
Aug 26, 2024
# Conflicts: # manifest/v1alpha/slo/validation.go
# Conflicts: # manifest/v1alpha/slo/metrics_validation.go
piotrkwarcinski
approved these changes
Sep 12, 2024
nieomylnieja
approved these changes
Sep 19, 2024
ditrytus
added a commit
that referenced
this pull request
Sep 20, 2024
… Composite SLOs (#529)" This reverts commit 0350ad4. ## Motivation Changes we introduced in #529 and nobl9/n9#15176 are breaking API contract for older versions of SDK in a way that blocks the release. We must prepare better backward compatibility before introducing these changes. ## Summary This reverses changes introduced in #529. ## Related changes #529 nobl9/n9#15176 ## Testing ## Release Notes Changes from #529 are reverted.
ditrytus
added a commit
that referenced
this pull request
Sep 20, 2024
ditrytus
changed the title
feat: PC-13893 Deprecate usage of objective's value field for Composite SLOs
[REVERTED] feat: PC-13893 Deprecate usage of objective's value field for Composite SLOs
Sep 20, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Currently, we have
value
field required for all objectives in an SLO. We currently allow to not pass that field in YAML at all but it causes it to default to 0 anyway and is returnedvalue: 0
. This is inconsistent because GET yaml is different than APPLY YAML in such case.Composite SLOs always have exactly one objective, so as such
value
doesn’t matter for them at all as long as it doesn't change.Moreover, the existence of value is documented and used in examples which is confusing to new adopters of Composite SLOs because it is required, changing it will restart budget, but it doesn’t do anything.
We want to encourage and allow not setting
value
field for Composite SLOs while maintaining backward compatibility with users who perhaps already explicitly set it.Summary
value
will be omitted if it isnull
in API.value
field is omitted in all Composite SLO examples and E2E tests.Related changes
This change requires updates in the platform code which are in this PR:
https://github.com/nobl9/n9/pull/15176
The platform will first need to be released with unreleased version of SDK containing change in this PR, before SDK can be released.
Changes in
terraform-provider-nobl9
depend on this change in SDK:Testing
Release Notes
Usage of
spec.objective[0].value
field for Composite SLOs becomes deprecated.value
field.value: 0
for backward compatibility with older versions of Nobl9 SDK and Nobl9 Terrafrom Provider.value
was previously set to0
for Composite SLO then it should be omitted going forward.value
was previously set in Composite SLO to a number other than0
then it can no longer be updated but still will be accepted for backward compatibility.The usage of
value
for SLOs using ratio or threshold SLIs does not change.