-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Add static value source for replacement #5630
base: master
Are you sure you want to change the base?
Add static value source for replacement #5630
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: cunyat The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Welcome @cunyat! |
Hi @cunyat. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
ac70b7c
to
53100b0
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.
@cnmcavoy Thanks for the PR! Just one nit, which would be nice to fix.
Also, looks like the linter is failing. It's not related to changes in this PR, but if we merge it without getting all the tests green then we would end up failing all the PRs. Could you please all fix it.
@@ -39,6 +39,13 @@ func (f Filter) Filter(nodes []*yaml.RNode) ([]*yaml.RNode, error) { | |||
} | |||
|
|||
func getReplacement(nodes []*yaml.RNode, r *types.Replacement) (*yaml.RNode, error) { | |||
if r.SourceValue != nil && r.Source != nil { |
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 we already have check while reading yaml nodes to not allow nil while adding elements to Replacements
list. But can we do an early return if r == nil
to avoid nil pointers just in case?
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.
Actually this can be done in Filter
itself.
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 don't know if I'm understanding it.
In Filter
function, replacements is an slice of type []types.Replacement
, so their elements should not be nil.
Inside getReplacement
function, as I can see, it's passed by reference so it can modify the field path to the default one in case it is not given.
As I see it, inside the for loop on Filter
function, r
cannot be nil, don't know if I'm missing something, sorry 😅
/ok-to-test |
This PR has multiple commits, and the default merge method is: merge. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Introduces `sourceValue` on replacement object for replacing from a static value instead of sourcing from another object. Solves kubernetes-sigs#5516
55977b9
to
6c27970
Compare
I've removed the commit fixing that test as it is already fixed in upstream |
HI @varshaprasad96 |
I deleted my previous comment (asking when this will be merged) upon further reflection. See #5063 (comment) for the rationale. |
Introduces
sourceValue
key on replacement for replacing from a static value instead of sourcing from another object.Solves #5516