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

Upgrade Kubernetes schema and libraries to v1.29 #2690

Merged
merged 9 commits into from
Dec 13, 2023

Conversation

rquitales
Copy link
Contributor

@rquitales rquitales commented Dec 6, 2023

Proposed changes

Update Kubernetes schema and libraries to v1.29.0.

Related issues (optional)

Fixes: #2628

Copy link

codecov bot commented Dec 6, 2023

Codecov Report

Attention: 7 lines in your changes are missing coverage. Please review.

Comparison is base (66ea94d) 18.41% compared to head (364009a) 18.40%.
Report is 5 commits behind head on master.

❗ Current head 364009a differs from pull request most recent head 531a9d1. Consider uploading reports for the commit 531a9d1 to get more accurate results

Files Patch % Lines
provider/pkg/provider/provider.go 0.00% 5 Missing ⚠️
provider/pkg/openapi/openapi.go 0.00% 1 Missing ⚠️
provider/pkg/provider/kubeconfig.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2690      +/-   ##
==========================================
- Coverage   18.41%   18.40%   -0.01%     
==========================================
  Files          47       47              
  Lines        9589     9593       +4     
==========================================
  Hits         1766     1766              
- Misses       7724     7728       +4     
  Partials       99       99              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pulumi pulumi deleted a comment from github-actions bot Dec 8, 2023
@pulumi pulumi deleted a comment from github-actions bot Dec 9, 2023
@pulumi pulumi deleted a comment from github-actions bot Dec 12, 2023
@rquitales
Copy link
Contributor Author

rquitales commented Dec 12, 2023

The 3 breaking changes should be relatively safe for our users:


  • 🟡 "kubernetes:core/v1:PersistentVolumeClaimSpec": properties: "resources" type changed from "#/types/kubernetes:core/v1:ResourceRequirements" to "#/types/kubernetes:core/v1:VolumeResourceRequirements"
  • 🟡 "kubernetes:core/v1:PersistentVolumeClaimSpecPatch": properties: "resources" type changed from "#/types/kubernetes:core/v1:ResourceRequirementsPatch" to "#/types/kubernetes:core/v1:VolumeResourceRequirementsPatch"

^ These were updated in kubernetes/api@8b14183. This seems like a safe change since the previous type is incorrect for volumes as it doesn't require the Claims field. Our customers likely do need to update their program code to account for this type change however.


  • 🟢 "kubernetes:batch/v1:PodFailurePolicyRule": required: "onPodConditions" property is no longer Required

^ This was marked as optional in this upstream PR: kubernetes/kubernetes#120204, and will be back ported to older minor k8s releases.

@rquitales rquitales requested review from lblackstone and a team December 12, 2023 06:02
Kubernetes v1.29 will stop serving v1beta2 of the flow control API
group. There were some spec changes in this API group from Kubernetes
v1.26 and v1.28, so we will also need to fetch v1.28 of the OpenAPI spec
for merging.
@rquitales rquitales changed the title [DRAFT] Upgrade Kubernetes libraries to v1.29 Upgrade Kubernetes schema and libraries to v1.29 Dec 13, 2023
@rquitales rquitales marked this pull request as ready for review December 13, 2023 17:50
@rquitales
Copy link
Contributor Author

Waiting on client libraries to be tagged and released. AFAICT the final release of v1.29.0 should be identical to v1.29.0-rc.2. Will leave the changelog entry check as a merge blocker until this PR is updated to use the final release version of the client libraries.

provider/pkg/openapi/openapi.go Outdated Show resolved Hide resolved
Commands run:
```
cd provider/
go get -u github.com/pulumi/cloud-ready-checks@v1.1.0
cat go.mod | grep "^\sk8s.io" | grep -v "// indirect" | awk '{print $1}' | xargs -I {} go get -u {}@v0.29.0
go mod tidy
```
Commands run:

```
make ensure
```
@pulumi pulumi deleted a comment from github-actions bot Dec 13, 2023
Copy link

Does the PR have any schema changes?

Found 3 breaking changes:

Types

  • 🟢 "kubernetes:batch/v1:PodFailurePolicyRule": required: "onPodConditions" property is no longer Required
  • 🟡 "kubernetes:core/v1:PersistentVolumeClaimSpec": properties: "resources" type changed from "#/types/kubernetes:core/v1:ResourceRequirements" to "#/types/kubernetes:core/v1:VolumeResourceRequirements"
  • 🟡 "kubernetes:core/v1:PersistentVolumeClaimSpecPatch": properties: "resources" type changed from "#/types/kubernetes:core/v1:ResourceRequirementsPatch" to "#/types/kubernetes:core/v1:VolumeResourceRequirementsPatch"

New resources:

  • flowcontrol.apiserver.k8s.io/v1.FlowSchema
  • flowcontrol.apiserver.k8s.io/v1.FlowSchemaList
  • flowcontrol.apiserver.k8s.io/v1.FlowSchemaPatch
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfiguration
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfigurationList
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfigurationPatch
  • networking.k8s.io/v1alpha1.ServiceCIDR
  • networking.k8s.io/v1alpha1.ServiceCIDRList
  • networking.k8s.io/v1alpha1.ServiceCIDRPatch
  • storage.k8s.io/v1alpha1.VolumeAttributesClass
  • storage.k8s.io/v1alpha1.VolumeAttributesClassList
  • storage.k8s.io/v1alpha1.VolumeAttributesClassPatch

@rquitales rquitales merged commit 1dc6874 into master Dec 13, 2023
18 checks passed
@rquitales rquitales deleted the rquitales/update-k8s-1.29 branch December 13, 2023 21:03
@mjeffryes mjeffryes added this to the 0.98 milestone Dec 15, 2023
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.

Support k8s 1.29 on release
3 participants