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

[UPDATE] use offical image from ms #376

Closed
wants to merge 3 commits into from

Conversation

HappyTobi
Copy link
Contributor

@HappyTobi HappyTobi commented Sep 21, 2021

How to categorize this PR?

/area robustness
/kind enhancement
/platform azure

What this PR does / why we need it:
Because the official "new" way how the implementation will be updated was moved from the "inner-tree" to the k8s-sigs repos, so it would be easier to fetch the implementation direct from there.

Which issue(s) this PR fixes:
Fixes: #373
Multiple issues of shoots that was deployed on vmo / vmss-flex.
(we see some issues in the latest 4-6 months that was already fixed at the k8s-sigs repo)

Special notes for your reviewer:
What kind of way to you prefer to run the binary of the container.
Just move the args to the "args" key of the container spec or changing / adding the new entrypoint.

Release note:

category: feature
target_group: dependency

@HappyTobi HappyTobi requested review from a team as code owners September 21, 2021 15:52
@gardener-robot gardener-robot added area/robustness Robustness, reliability, resilience related kind/enhancement Enhancement, improvement, extension platform/azure Microsoft Azure platform/infrastructure labels Sep 21, 2021
@gardener-robot
Copy link

@HappyTobi Thank you for your contribution.

@gardener-robot gardener-robot added needs/review Needs review size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py) labels Sep 21, 2021
@gardener-robot-ci-3
Copy link
Contributor

Thank you @HappyTobi for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

Copy link
Member

@rfranzke rfranzke left a comment

Choose a reason for hiding this comment

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

Thanks @HappyTobi!
Are we certain that v1.1.1 is fully compatible with the release-v1.21 and release-v1.22 branches of the in-tree Azure provider?
Also, can you please provide a proper release note?

Comment on lines 32 to 40
sourceRepository: https://github.com/kubernetes-sigs/cloud-provider-azure
repository: mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager
tag: "v1.1.1"
targetVersion: "1.21.x"
- name: cloud-controller-manager
sourceRepository: github.com/gardener/cloud-provider-azure
repository: eu.gcr.io/gardener-project/kubernetes/cloud-provider-azure
tag: "v1.22.0"
sourceRepository: https://github.com/kubernetes-sigs/cloud-provider-azure
repository: mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager
tag: "v1.1.1"
targetVersion: ">= 1.22"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
sourceRepository: https://github.com/kubernetes-sigs/cloud-provider-azure
repository: mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager
tag: "v1.1.1"
targetVersion: "1.21.x"
- name: cloud-controller-manager
sourceRepository: github.com/gardener/cloud-provider-azure
repository: eu.gcr.io/gardener-project/kubernetes/cloud-provider-azure
tag: "v1.22.0"
sourceRepository: https://github.com/kubernetes-sigs/cloud-provider-azure
repository: mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager
tag: "v1.1.1"
targetVersion: ">= 1.22"
sourceRepository: github.com/kubernetes-sigs/cloud-provider-azure
repository: mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager
tag: "v1.1.1"
targetVersion: ">= 1.21"

Copy link
Contributor

Choose a reason for hiding this comment

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

If I read the matrix correctly, it should be safe to use for version v1.22 and higher. For v1.21 probably we should use v1.0.5 of the image.

The out-of-tree CCM should basically be a superset of the in-tree. The in-tree only gets bug fixes since v1.20 and these are first implemented in the out-of-tree then ported back.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Both versions work for 1.21 but the required parts for using the cluster on vmss-flex was also part of v1.0.5

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will change image.yaml to use the v1.0.5 for k8s 1.21

Copy link
Contributor Author

Choose a reason for hiding this comment

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

all tests are working with v1.0.5 and k8s 1.21 I updated the pr

@kon-angelo
Copy link
Contributor

/invite @ialidzhikov

Copy link
Member

@ialidzhikov ialidzhikov left a comment

Choose a reason for hiding this comment

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

Thanks for the PR!

Basically I have the same question/concern about the backwards compatibility as in #376 (review). If we are sure that there are no backwards compatibility issues and if we tested thoroughly that our output qualification is passing against this change, then lgtm. Another option (IMO much safer one) would be to start using the out-of-tree CCM starting K8s v1.23 (or K8s v1.22) as we anyway have already the forks in-place for K8s v1.21 and K8s v1.22. I am just putting this option to the table because Azure itself supports several deployment models wrt to networking); the CCMs usually have number of provider-specific annotations to opt-in/opt-out special handlings and if the out-of-tree CCM code-base is a new one, then IMO gets a little risky to rollout such change all of a sudden. But as I said, if the change is well tested and compatibility is ensured, then lgtm from my side.
If the only motivation behind this PR is to fix #374, another option to tackle #374 would be to revert the CCM version back to a working one until our upstream PR kubernetes/kubernetes#105185 is merged, cherry-picked, released and adopted on our side.

Also, can you please provide a proper release note?

Appropriate release note is still missing.

@ialidzhikov ialidzhikov added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Sep 28, 2021
@gardener-robot-ci-2 gardener-robot-ci-2 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Sep 28, 2021
@HappyTobi
Copy link
Contributor Author

HappyTobi commented Sep 29, 2021

Proper release notes:

Change "cloud-controller-manager" images for k8s versions >= 1.21.x
- 1.21.x changed to k8s sigs container version v.1.0.5
- 1.22 and above changed to k8s sigs container version v.1.2.2
For more information about the containers read https://github.com/kubernetes-sigs/cloud-provider-azure

@kon-angelo
Copy link
Contributor

After a discussion we had, we have decided to go with @ialidzhikov proposal and begin adoption with Kubernetes version v1.23. We will adapt it accordingly to the new versions once released, but until then the PR will remain open.

@dkistner
Copy link
Member

/hold until we have k8s v1.23 integrated.

@gardener-robot gardener-robot added the reviewed/do-not-merge Has no approval for merging as it may break things, be of poor quality or have (ext.) dependencies label Nov 30, 2021
@gardener-robot
Copy link

@HappyTobi You need rebase this pull request with latest master branch. Please check.

@rfranzke
Copy link
Member

/close - I will take this over as part of the 1.23 (ref gardener/gardener#5102)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/robustness Robustness, reliability, resilience related kind/enhancement Enhancement, improvement, extension needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/rebase Needs git rebase needs/review Needs review platform/azure Microsoft Azure platform/infrastructure reviewed/do-not-merge Has no approval for merging as it may break things, be of poor quality or have (ext.) dependencies size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider switching to the out-of-tree Azure cloud-controller-manager
8 participants