Skip to content

[RFC] Major breaking changes in the upcoming release #974

Closed

Description

@roycaihw

Hi Kubernetes Python client developers, this is a request for comment issue. Please leave comments if you have any opinion/suggestion. Thanks!

What happened:
A majority of the code base is generated code. This repo is switching from using swagger-codegen to using openapi-generator. For more backgrounds:

Major breaking changes were detected when we released 11.0.0a1 with openapi-generator:

The breaking changes are:

  1. [Major] kubernetes.client.apis package is renamed to kubernetes.client.api
  2. [Major] kubernetes package code now uses absolute import instead of relative import
  3. [Minor] The swagger_types attribute in all models is renamed to openapi_types

the major breaking changes come from swagger-api/swagger-codegen#6839 (comment), which is also in latest swagger-codegen. This repo didn't have these changes because we were depending on a old version of swagger-codegen.

What versions are affected?:

  • All 8.0.x, 9.0.x, 10.0.x versions are not affected
  • 11.0.0a1 (corresponding to Kubernetes 1.15) is the only version that's affected currently
  • The next release 11.0.0b1 and future releases (corresponding to Kubernetes 1.15, 1.16+) will be affected.

Impact and fix:

  • All clients that import kubernetes.client.apis must change the import to kubernetes.client.api when upgrading to 11.0.0b1+, to avoid import error.
  • Clients that use relative import and patch the kubernetes package locally may experience unexpected import error. Clients should install kubernetes package properly following the instructions in the Readme or the release page.

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug.
    priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.
    release-note-action-requiredDenotes a PR that introduces potentially breaking changes that require user action.
    api-reviewCategorizes an issue or PR as actively needing an API review.
    on Oct 1, 2019
  2. roycaihw commented on Oct 1, 2019

    @roycaihw
    MemberAuthor

    cc @dims @fabianvf @mbohlool @micw523 @oz123 @scottilee @tomplus @yliaog (apologies if i have missed anyone)

  3. oz123 commented on Oct 1, 2019

    @oz123
    Contributor

    @roycaihw my 2 cents (appologies for being so scrooge, it's late here):
    I consider this "impolite" to remove existing functionality without warnings. Maybe we can add an empty package called api which only imports everything from apis.
    However, when one uses stuff from api we can issue a deprecation warning. This package can stay along for 2 versions giving people enough time to update their code.

    I'm willing to work a PR for this.
    If someone else feels the urgency to do this before me here is a reference:
    https://www.lesinskis.com/python_deprecation_tutorial.html

  4. tomplus commented on Oct 2, 2019

    @tomplus
    Member

    @oz123 there are more changes than renaming modules so it'd be still important to watch out when upgrading to the proposed version.

  5. oz123 commented on Oct 2, 2019

    @oz123
    Contributor

    @tomplus , thanks for the hint. I will definitely try to make aliases for all the breaking changes, so breaking isn't breaking, rather warning.

  6. fejta-bot commented on Dec 31, 2019

    @fejta-bot

    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

  7. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Dec 31, 2019
  8. avarf commented on Jan 17, 2020

    @avarf

    Hi,
    Any news regarding 1.16 support? Or the the estimated release time?

    /remove-lifecycle stale

  9. removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Jan 17, 2020
  10. roycaihw commented on Feb 20, 2020

    @roycaihw
    MemberAuthor

    Hi @avarf, we are actively working on 11.0.0 stable release. After that we will start 12.0.0a1 release, which corresponds to Kubernetes 1.16

  11. avarf commented on Feb 20, 2020

    @avarf

    Hi @roycaihw and thanks for your works. Is there any rough timeline for these releases?

  12. roycaihw commented on Feb 20, 2020

    @roycaihw
    MemberAuthor

    @palnabarun Nabarun is working on the 11.0.0 release and I think a PR will be created in the next two weeks.

  13. 21 remaining items

  14. fejta-bot commented on Nov 30, 2020

    @fejta-bot

    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

  15. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Nov 30, 2020
  16. fejta-bot commented on Dec 30, 2020

    @fejta-bot

    Stale issues rot after 30d of inactivity.
    Mark the issue as fresh with /remove-lifecycle rotten.
    Rotten issues close after an additional 30d of inactivity.

    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 rotten

  17. added
    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.
    and removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Dec 30, 2020
  18. fejta-bot commented on Jan 29, 2021

    @fejta-bot

    Rotten issues close after 30d of inactivity.
    Reopen the issue with /reopen.
    Mark the issue as fresh with /remove-lifecycle rotten.

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

  19. k8s-ci-robot commented on Jan 29, 2021

    @k8s-ci-robot
    Contributor

    @fejta-bot: Closing this issue.

    Details

    In response to this:

    Rotten issues close after 30d of inactivity.
    Reopen the issue with /reopen.
    Mark the issue as fresh with /remove-lifecycle rotten.

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

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

api-reviewCategorizes an issue or PR as actively needing an API review.kind/bugCategorizes issue or PR as related to a bug.lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.release-note-action-requiredDenotes a PR that introduces potentially breaking changes that require user action.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions