-
Notifications
You must be signed in to change notification settings - Fork 258
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
Proposal for handling late-initialization in ACK. #849
Conversation
/hold |
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.
Wow, really good stuff, here. Your solution is actually a lot more elegant than I had initially imagined. Great detective work with flux. Left some comments nitpicking specifics
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
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.
@vijtrip2 I would like you to break this PR into two separate proposals, one that specifically addresses the late initialization of fields that the user does not specify and the server sets to a default value and another proposal for handling fields where the k8s user does specific a value for the field, but the backend service overrides that specified value.
The two use cases are substantially different and I'd like to tackle the former use case (defaulting field values that the k8s user did not specify) ASAP before moving on to tacklling the server-override field use case.
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
Sounds good. I actually started implementing server-override, that's why this PR went stale. |
+1, I think "default fields" and "override fields" need different solutions. I would request that this comment be considered when coming up with solutions for default fields. |
@echen-98 We decided in a previous meeting that late initialized fields will be populated back in resource spec. And the new solution will be based on that for late initialized(i.e.default) fields. More details will be there in future PR. Going that path, "the comment" regarding nil difference will not be required for handling unnecessary updates. |
892971e
to
135eaa7
Compare
|
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
135eaa7
to
fb03992
Compare
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
fb03992
to
efe9635
Compare
efe9635
to
c7fcc69
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.
@vijtrip2 I'd like to see a fairly substantial reworking of this proposal document. See inline for details, but overall, I'd like to see the following layout used:
# Problem overview
# Solution requirements
# Proposed solution
## ACK code-generator
## ACK runtime
# Alternate solutions considered
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
c7fcc69
to
cbeb99a
Compare
cbeb99a
to
849b5cd
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.
@vijtrip2 I think you may have misunderstood previous comments I made. I've tried to highlight in the inline comments how I think the changes to the reconciler should be done in order to minimize changes needed to the AWSResourceManager interface...
849b5cd
to
e716995
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.
This is much better. Getting close. A few suggested renames inline...
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
e716995
to
29e5afc
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.
I'm good with this. If @RedbackThomson and @a-hilaly are also good with it, let's merge away.
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
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.
Looks solid to me! I'm good with merging this PR once @RedbackThomson comments are addressed
f12d486
to
ddee615
Compare
docs/design/proposals/late-initialization/late-initialization.md
Outdated
Show resolved
Hide resolved
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: A-Hilaly, jaypipes, RedbackThomson, vijtrip2 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Issue #812 , if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.