Skip to content

Add MCAD API groups migration plan #7

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

Merged
merged 6 commits into from
Aug 10, 2023
Merged

Add MCAD API groups migration plan #7

merged 6 commits into from
Aug 10, 2023

Conversation

astefanutti
Copy link
Contributor

Copy link

@z103cb z103cb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM. Left some questions

@tardieu
Copy link
Member

tardieu commented Aug 2, 2023

If we are going to force every downstream project/user to take action, it may be worth considering making other/all desirable changes to the CRD structure at the same time, so that we don't have to repeat the disruption again and again. Maybe we need first separate discussion/ADR about these changes and then decide whether to combine these efforts.

@astefanutti
Copy link
Contributor Author

If we are going to force every downstream project/user to take action, it may be worth considering making other/all desirable changes to the CRD structure at the same time, so that we don't have to repeat the disruption again and again. Maybe we need first separate discussion/ADR about these changes and then decide whether to combine these efforts.

@tardieu that's a good point. It's worth noting that those "structural" changes, within the CRDs, could be handled with the usual CRD versioning mechanism, possibly using conversion webhooks (or CEL based conversion in the future) to automate it, as opposed to changes to identifying fields, like the API group.

That being said, I agree it'd be worth assessing if any major breaking changes could be piggy-backed with that effort.

@asm582 @z103cb could you please provide your input here?

@asm582
Copy link
Member

asm582 commented Aug 2, 2023

If we are going to force every downstream project/user to take action, it may be worth considering making other/all desirable changes to the CRD structure at the same time, so that we don't have to repeat the disruption again and again. Maybe we need first separate discussion/ADR about these changes and then decide whether to combine these efforts.

@tardieu that's a good point. It's worth noting that those "structural" changes, within the CRDs, could be handled with the usual CRD versioning mechanism, possibly using conversion webhooks (or CEL based conversion in the future) to automate it, as opposed to changes to identifying fields, like the API group.

That being said, I agree it'd be worth assessing if any major breaking changes could be piggy-backed with that effort.

@asm582 @z103cb could you please provide your input here?

Thanks, @astefanutti and @tardieu - "structural changes" as mentioned are bound to happen in the future. For the features that are required for the immediate release, I don't think there is anything major that needs to be added to the effort.

@z103cb
Copy link

z103cb commented Aug 2, 2023

If we are going to force every downstream project/user to take action, it may be worth considering making other/all desirable changes to the CRD structure at the same time, so that we don't have to repeat the disruption again and again. Maybe we need first separate discussion/ADR about these changes and then decide whether to combine these efforts.

@tardieu that's a good point. It's worth noting that those "structural" changes, within the CRDs, could be handled with the usual CRD versioning mechanism, possibly using conversion webhooks (or CEL based conversion in the future) to automate it, as opposed to changes to identifying fields, like the API group.

That being said, I agree it'd be worth assessing if any major breaking changes could be piggy-backed with that effort.

@asm582 @z103cb could you please provide your input here?

I think is OK to try to piggy back everything if all the items are known at this point in time. From my perspective (KubeRay API server integration) the sooner the final API is available the better.

The only items that I can think that would fall into structural category are:

@Sara-KS
Copy link

Sara-KS commented Aug 3, 2023

For the TorchX+MCAD piece, I plan to try to support both the old version and the new version to help with the transition for users on different systems. Is there a clear way to tell which CRDs are in use that does not require administrative type permissions?

@astefanutti
Copy link
Contributor Author

For the TorchX+MCAD piece, I plan to try to support both the old version and the new version to help with the transition for users on different systems. Is there a clear way to tell which CRDs are in use that does not require administrative type permissions?

One possible solution would be to query the discovery API, and check if the new API group is present. Generally most users are granted permission to query the discovery API, which is what's used when running the kubectl api-resources command.

Copy link

@z103cb z103cb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I would wait for the others to chime in before considering the ADR approved. @tardieu needs to sign off on this ADR.

@tardieu
Copy link
Member

tardieu commented Aug 4, 2023

+1 for one-shot.

Copy link
Contributor

@anishasthana anishasthana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved from my perspective.

@z103cb
Copy link

z103cb commented Aug 7, 2023

Approved.

Copy link

@dimakis dimakis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, makes logical sense.

@anishasthana
Copy link
Contributor

I think we have quorum for the approvals. The work has already somewhat begun -- I'm going to go ahead and merge this. If in future we require additional revisions, we can always propose a new ADR / add an addendum to this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Come up with plan to migrate MCAD CRDs to CodeFlare domain
7 participants