Skip to content
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

Remove runtime.VersionedObject from universal apimachinery #70734

Conversation

@yue9944882
Copy link
Member

yue9944882 commented Nov 7, 2018

we have a lot of legacy code supportingruntime.VersionedObjectwhile actually it's completely unused for several releases. removing this makes the decoder much cleaner.

/sig api-machinery
/kind cleanup

Does this PR introduce a user-facing change?:

NONE
@justinsb

This comment has been minimized.

Copy link
Member

justinsb commented Nov 7, 2018

My understanding is that because this is in staging, this is possibly part of a public API. So I don't think we can be sure that VersionedObjects is unused just because it isn't used in k/k.

However, I agree with you that it certainly looks like it isn't something that would be used by production code (it feels like a debug/diagnostics tool)

@yue9944882

This comment has been minimized.

Copy link
Member Author

yue9944882 commented Nov 7, 2018

So I don't think we can be sure that VersionedObjects is unused just because it isn't used in k/k.

@justinsb yeah i suppose thats the exact reason why this definition has been kept in k/k for several releases. but it definitely makes the decoders (json/protobuf/versioning) difficult to understand (which is the motivation of this pull 😅).

@kubernetes/api-approvers could u shed some light on whether to prune this from k/k?

@bgrant0607

This comment has been minimized.

Copy link
Member

bgrant0607 commented Nov 8, 2018

@lavalamp or @deads2k probably know

@roycaihw

This comment has been minimized.

Copy link
Member

roycaihw commented Nov 8, 2018

@deads2k

This comment has been minimized.

Copy link
Contributor

deads2k commented Nov 8, 2018

/hold

I'd like time to investigate this one.

@deads2k

This comment has been minimized.

Copy link
Contributor

deads2k commented Nov 13, 2018

I'm really not sure. I'm not sure I'd take the risk at this point in the release.

@smarterclayton @lavalamp think we're just falling back to a different path? I don't remember history here.

@smarterclayton

This comment has been minimized.

Copy link
Contributor

smarterclayton commented Nov 13, 2018

This was for generic Cli commands that needed the internal version. There was some discussion about using it in the rest storage, but I don’t think we ever did.

I’m favor of removing this but not in 1.13. Have you done a GitHub sweep to identify possible callers?

@yue9944882

This comment has been minimized.

Copy link
Member Author

yue9944882 commented Nov 13, 2018

Have you done a GitHub sweep to identify possible callers?

didnt find any go project using runtime.VersionedObject. mystery huh.🤔

@lavalamp

This comment has been minimized.

Copy link
Member

lavalamp commented Nov 13, 2018

This is a confusing type and if we can delete it, we should, esp. while we don't offer compatibility guarantees for the apimachinery library.

I agree with the others that we should wait until after the release though.

@yue9944882

This comment has been minimized.

Copy link
Member Author

yue9944882 commented Nov 28, 2018

the question again for runtime.NestedObjectEncoder. wdyt if we prune that together?

@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Nov 28, 2018

the question again for runtime.NestedObjectEncoder. wdyt if we prune that together?

that's not as clear. at one time, that was required for encoding of objects containing runtime.Object fields to convert them to runtime.RawExtension

See discussion in the PR where it was added: #26044 (comment)

@fejta-bot

This comment has been minimized.

Copy link

fejta-bot commented Feb 26, 2019

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@yue9944882

This comment has been minimized.

Copy link
Member Author

yue9944882 commented Feb 27, 2019

/remove-lifecycle stale
/lifecycle frozen

@ncdc

This comment has been minimized.

Copy link
Member

ncdc commented Jul 23, 2019

/uncc

@k8s-ci-robot k8s-ci-robot removed the request for review from ncdc Jul 23, 2019
@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Aug 13, 2019

can this be revived? I'd like to simplify as much here as we can, and I haven't seen any evidence of use here

@yue9944882

This comment has been minimized.

Copy link
Member Author

yue9944882 commented Aug 13, 2019

sure reviving 👨🏼‍🔬

@deads2k

This comment has been minimized.

Copy link
Contributor

deads2k commented Aug 13, 2019

I don't seem immediate issues. I forgot about this, sorry.

/hold cancel

@yue9944882 yue9944882 force-pushed the yue9944882:chore/prune-runtime-versioned-objects branch from a89c40c to 077889d Aug 13, 2019
@fejta-bot

This comment has been minimized.

Copy link

fejta-bot commented Aug 13, 2019

This PR may require API review.

If so, when the changes are ready, complete the pre-review checklist and request an API review.

Status of requested reviews is tracked in the API Review project.

@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Oct 3, 2019

/retest

@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Oct 3, 2019

/test all

@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Oct 3, 2019

/lgtm
/approve
/priority backlog

@k8s-ci-robot

This comment has been minimized.

Copy link
Contributor

k8s-ci-robot commented Oct 3, 2019

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: liggitt, yue9944882

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

This comment has been minimized.

Copy link
Contributor

k8s-ci-robot commented Oct 3, 2019

@yue9944882: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
pull-kubernetes-e2e-kops-aws a89c40c link /test pull-kubernetes-e2e-kops-aws

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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.

@fejta-bot

This comment has been minimized.

Copy link

fejta-bot commented Oct 3, 2019

/retest
This bot automatically retries jobs that failed/flaked on approved PRs (send feedback to fejta).

Review the full test history for this PR.

Silence the bot with an /lgtm cancel or /hold comment for consistent failures.

@k8s-ci-robot k8s-ci-robot merged commit 222b828 into kubernetes:master Oct 3, 2019
24 checks passed
24 checks passed
cla/linuxfoundation yue9944882 authorized
Details
pull-kubernetes-bazel-build Job succeeded.
Details
pull-kubernetes-bazel-test Job succeeded.
Details
pull-kubernetes-conformance-image-test Skipped.
pull-kubernetes-cross Skipped.
pull-kubernetes-dependencies Job succeeded.
Details
pull-kubernetes-e2e-gce Job succeeded.
Details
pull-kubernetes-e2e-gce-100-performance Job succeeded.
Details
pull-kubernetes-e2e-gce-csi-serial Skipped.
pull-kubernetes-e2e-gce-device-plugin-gpu Job succeeded.
Details
pull-kubernetes-e2e-gce-iscsi Skipped.
pull-kubernetes-e2e-gce-iscsi-serial Skipped.
pull-kubernetes-e2e-gce-storage-slow Skipped.
pull-kubernetes-e2e-kind Job succeeded.
Details
pull-kubernetes-godeps Skipped.
pull-kubernetes-integration Job succeeded.
Details
pull-kubernetes-kubemark-e2e-gce-big Job succeeded.
Details
pull-kubernetes-local-e2e Skipped.
pull-kubernetes-node-e2e Job succeeded.
Details
pull-kubernetes-node-e2e-containerd Job succeeded.
Details
pull-kubernetes-typecheck Job succeeded.
Details
pull-kubernetes-verify Job succeeded.
Details
pull-publishing-bot-validate Skipped.
tide In merge pool.
Details
@k8s-ci-robot k8s-ci-robot added this to the v1.17 milestone Oct 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.