Skip to content

Conversation

@christarazi
Copy link
Contributor

@christarazi christarazi commented Sep 17, 2020

This PR converts an embedded struct into its original type if it is
a pointer.

Fixes: #172

@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
  • If you have done the above and are still having issues with the CLA being reported as unsigned, please log a ticket with the Linux Foundation Helpdesk: https://support.linuxfoundation.org/
  • Should you encounter any issues with the Linux Foundation Helpdesk, send a message to the backup e-mail support address at: [email protected]

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. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Sep 17, 2020
@k8s-ci-robot
Copy link
Contributor

Welcome @christarazi!

It looks like this is your first PR to kubernetes-sigs/structured-merge-diff 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/structured-merge-diff has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Contributor

Hi @christarazi. 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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

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.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Sep 17, 2020
@k8s-ci-robot k8s-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Sep 17, 2020
christarazi added a commit to christarazi/cilium that referenced this pull request Sep 18, 2020
The intention of using this library is to utilize the facility to
convert Kubernetes objects to `unstructured.Unstructured`. Previously,
we were doing this by hand. For an explanation for why we are using a
fork, read below.

This commit migrates our use of sigs.k8s.io/structured-merge-diff/v4
over to the fork at github.com/christarazi/structured-merge-diff/v4
because of
kubernetes-sigs/structured-merge-diff#172.
The fork contains the fix
(kubernetes-sigs/structured-merge-diff#173)
which we are vendoring in.

Once the issue is fixed or the upstream PR is merged, we can revert back
to using the original library.

Signed-off-by: Chris Tarazi <[email protected]>
@apelisse
Copy link
Contributor

/assign @jpbetz

@apelisse
Copy link
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Sep 18, 2020
@jpbetz
Copy link
Contributor

jpbetz commented Sep 18, 2020

The fix looks right to me. Would you add a test to ensure this doesn't get broken in the future? It should be as simple as adding a new tests struct and case here:

func TestReflectStruct(t *testing.T) {

aanm pushed a commit to cilium/cilium that referenced this pull request Sep 21, 2020
The intention of using this library is to utilize the facility to
convert Kubernetes objects to `unstructured.Unstructured`. Previously,
we were doing this by hand. For an explanation for why we are using a
fork, read below.

This commit migrates our use of sigs.k8s.io/structured-merge-diff/v4
over to the fork at github.com/christarazi/structured-merge-diff/v4
because of
kubernetes-sigs/structured-merge-diff#172.
The fork contains the fix
(kubernetes-sigs/structured-merge-diff#173)
which we are vendoring in.

Once the issue is fixed or the upstream PR is merged, we can revert back
to using the original library.

Signed-off-by: Chris Tarazi <[email protected]>
@timebertt
Copy link

@christarazi what's the status on this?
We have also hit this issue (ref gardener/gardener#2977) and would be very interested in having a upstream fix.

@christarazi
Copy link
Contributor Author

@timebertt Apologies, yes this is still on my radar. Just trying to find the time :). Hopefully in the next week or so.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 29, 2020
This commit converts an embedded struct into its original type if it is
a pointer.

Fixes:
kubernetes-sigs#172

Signed-off-by: Chris Tarazi <[email protected]>
@christarazi
Copy link
Contributor Author

I signed it

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Oct 29, 2020
@apelisse
Copy link
Contributor

/unassign

@apelisse
Copy link
Contributor

ping @jpbetz

@ialidzhikov
Copy link

/kind bug
/priority important-soon

@jpbetz, could you please recheck?

@k8s-ci-robot k8s-ci-robot added kind/bug Categorizes issue or PR as related to a bug. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Nov 19, 2020
@apelisse
Copy link
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 24, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: apelisse, christarazi

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 24, 2020
@k8s-ci-robot k8s-ci-robot merged commit 9f9c770 into kubernetes-sigs:master Nov 24, 2020
k8s-ci-robot added a commit that referenced this pull request Nov 24, 2020
Cherry pick of #173: Fix panic on pointer to embedded struct
@christarazi christarazi deleted the fix-panic branch November 24, 2020 18:58
k8s-ci-robot added a commit that referenced this pull request Jan 14, 2021
…-struct

Cherry pick of #173: Fix panic on pointer to embedded struct
christarazi added a commit to christarazi/cilium that referenced this pull request Jan 27, 2021
This updates the dependency to 9f9c77085dec, as it was previously a
temporary fork. This includes the fix to
kubernetes-sigs/structured-merge-diff#173. At
the time of this commit, there hasn't been a release made including this
fix, so we are explicitly using the latest commit.

Signed-off-by: Chris Tarazi <[email protected]>
aanm pushed a commit to cilium/cilium that referenced this pull request Jan 28, 2021
This updates the dependency to 9f9c77085dec, as it was previously a
temporary fork. This includes the fix to
kubernetes-sigs/structured-merge-diff#173. At
the time of this commit, there hasn't been a release made including this
fix, so we are explicitly using the latest commit.

Signed-off-by: Chris Tarazi <[email protected]>
lyveng pushed a commit to lyveng/cilium that referenced this pull request Mar 4, 2021
This updates the dependency to 9f9c77085dec, as it was previously a
temporary fork. This includes the fix to
kubernetes-sigs/structured-merge-diff#173. At
the time of this commit, there hasn't been a release made including this
fix, so we are explicitly using the latest commit.

Signed-off-by: Chris Tarazi <[email protected]>
christarazi added a commit to christarazi/cilium that referenced this pull request Mar 27, 2021
Following a new release which includes
kubernetes-sigs/structured-merge-diff#173, we no
longer need to pin to a commit on master. Update to use an officially
released version.

Signed-off-by: Chris Tarazi <[email protected]>
aanm pushed a commit to cilium/cilium that referenced this pull request Mar 29, 2021
Following a new release which includes
kubernetes-sigs/structured-merge-diff#173, we no
longer need to pin to a commit on master. Update to use an officially
released version.

Signed-off-by: Chris Tarazi <[email protected]>
aanm pushed a commit to aanm/cilium that referenced this pull request Mar 31, 2021
[ upstream commit 28a8b47 ]

This updates the dependency to 9f9c77085dec, as it was previously a
temporary fork. This includes the fix to
kubernetes-sigs/structured-merge-diff#173. At
the time of this commit, there hasn't been a release made including this
fix, so we are explicitly using the latest commit.

Signed-off-by: Chris Tarazi <[email protected]>
Signed-off-by: André Martins <[email protected]>
aanm pushed a commit to cilium/cilium that referenced this pull request Apr 1, 2021
[ upstream commit 28a8b47 ]

This updates the dependency to 9f9c77085dec, as it was previously a
temporary fork. This includes the fix to
kubernetes-sigs/structured-merge-diff#173. At
the time of this commit, there hasn't been a release made including this
fix, so we are explicitly using the latest commit.

Signed-off-by: Chris Tarazi <[email protected]>
Signed-off-by: André Martins <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Panic when converting a struct that embeds a pointer to another struct to Unstructured

6 participants