Skip to content
This repository has been archived by the owner on Oct 24, 2023. It is now read-only.

feat: add support for Kubernetes v1.19.0 #3754

Merged
merged 6 commits into from
Aug 29, 2020

Conversation

mboersma
Copy link
Member

@mboersma mboersma commented Aug 26, 2020

Reason for Change:

See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#v1190

Issue Fixed:

Requirements:

  • Kubernetes artifacts built and pushed by Azure Pipelines
  • uses conventional commit messages
  • includes documentation
  • adds unit tests
  • tested upgrade from previous version

Notes:

The official release is in progress, and then we will kick off the pipeline to build signed artifacts hosted with Azure. So this will fail testing for now. Edit: all done!

@codecov
Copy link

codecov bot commented Aug 26, 2020

Codecov Report

Merging #3754 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #3754   +/-   ##
=======================================
  Coverage   73.20%   73.20%           
=======================================
  Files         148      148           
  Lines       25372    25372           
=======================================
  Hits        18573    18573           
  Misses       5663     5663           
  Partials     1136     1136           
Impacted Files Coverage Δ
pkg/api/common/versions.go 96.84% <ø> (ø)
pkg/engine/templates_generated.go 53.42% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5a57769...d4d9cc8. Read the comment docs.

@acs-bot acs-bot added size/L and removed size/S labels Aug 26, 2020
@@ -41,7 +41,7 @@ data:

---
{{- /* Source: calico/templates/kdd-crds.yaml */}}
apiVersion: apiextensions.k8s.io/v1beta1
apiVersion: apiextensions.k8s.io/v1{{- if not (IsKubernetesVersionGe "1.19.0")}}beta1{{end}}
Copy link
Member Author

@mboersma mboersma Aug 26, 2020

Choose a reason for hiding this comment

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

We can omit these conditionals if apiextensions.k8s.io/v1 was supported on Kubernetes 1.15. The v1beta1 version became deprecated with 1.19, but IDK when v1 first became supported.

Copy link
Member

Choose a reason for hiding this comment

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

This calico spec will only be delivered in a Kubernetes v1.15 cluster creation context, do we need to do anything here?

Copy link
Member Author

Choose a reason for hiding this comment

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

Oops...bad example. I reverted changes to this file, but there are many similar changes in other manifests.

@jackfrancis
Copy link
Member

The changes to the apiextensions.k8s.io/v1beta1 apiVersion are breaking the secrets-store-csi spec. From kube-addon-manager logs:

error validating "/etc/kubernetes/addons/secrets-store-csi-driver.yaml": error validating data: [ValidationError(CustomResourceDefinition.spec): unknown field "validation" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec, ValidationError(CustomResourceDefinition.spec): unknown field "version" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinitionSpec]; if you choose to ignore these errors, turn validation off with --validate=false

This seems to be complaining about these lines:

https://github.com/Azure/aks-engine/blob/master/parts/k8s/addons/secrets-store-csi-driver.yaml#L203
https://github.com/Azure/aks-engine/blob/master/parts/k8s/addons/secrets-store-csi-driver.yaml#L266

@chewong @aramase Do we need to undo the api version change and revert back to:

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition

Or do we want to delete that version property from the spec using the new apiVersion: apiextensions.k8s.io/v1 declaration?

@aramase
Copy link
Member

aramase commented Aug 28, 2020

Do we need to undo the api version change and revert back to:

@jackfrancis Can we keep the version for now as apiextensions.k8s.io/v1beta1. I'll open a follow up PR later to update the api version after some testing upstream.

apiextensions.k8s.io/v1beta1 was deprecated in 1.19 and is planned for removal in 1.22 (kubernetes/kubernetes#82022). I'll setup some tests upstream to run with 1.19 before including that change in aks-engine. WDYT?

@jackfrancis
Copy link
Member

@aramase Great plan, will do!

@acs-bot acs-bot added size/M and removed size/L labels Aug 28, 2020
Copy link
Member

@jackfrancis jackfrancis left a comment

Choose a reason for hiding this comment

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

/lgtm

@acs-bot
Copy link

acs-bot commented Aug 28, 2020

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jackfrancis, mboersma

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:
  • OWNERS [jackfrancis,mboersma]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jackfrancis jackfrancis merged commit 6e38aa8 into Azure:master Aug 29, 2020
@mboersma mboersma deleted the add-k8s-1.19.0 branch August 31, 2020 15:06
penggu pushed a commit to penggu/aks-engine that referenced this pull request Oct 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants