From 1cf66a18c2b82d3e85f07767fcf10bd383b22da9 Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Tue, 24 Sep 2024 10:34:49 -0500 Subject: [PATCH 1/2] Make metadata logging best-effort GetInstanceIdentityDocument returns a fatal error when AWS_EC2_METADATA_DISABLED is true. Make the logging best-effort and ignore errors from GetInstanceIdentityDocument. --- pkg/providers/v1/aws_sdk.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkg/providers/v1/aws_sdk.go b/pkg/providers/v1/aws_sdk.go index 32143b475b..4f2d18a2dd 100644 --- a/pkg/providers/v1/aws_sdk.go +++ b/pkg/providers/v1/aws_sdk.go @@ -211,18 +211,17 @@ func (p *awsSDKProvider) Metadata() (config.EC2Metadata, error) { p.addAPILoggingHandlers(&client.Handlers) identity, err := client.GetInstanceIdentityDocument() - if err != nil { - return nil, fmt.Errorf("unable to get instance identity document: %v", err) - } - klog.InfoS("instance metadata identity", - "region", identity.Region, - "availability-zone", identity.AvailabilityZone, - "instance-type", identity.InstanceType, - "architecture", identity.Architecture, - "instance-id", identity.InstanceID, - "private-ip", identity.PrivateIP, - "account-id", identity.AccountID, - "image-id", identity.ImageID) + if err == nil { + klog.InfoS("instance metadata identity", + "region", identity.Region, + "availability-zone", identity.AvailabilityZone, + "instance-type", identity.InstanceType, + "architecture", identity.Architecture, + "instance-id", identity.InstanceID, + "private-ip", identity.PrivateIP, + "account-id", identity.AccountID, + "image-id", identity.ImageID) + } return client, nil } From a169de2221aab4295415cdcd682fde8407ba7206 Mon Sep 17 00:00:00 2001 From: Seth Jennings Date: Wed, 25 Sep 2024 11:22:52 -0500 Subject: [PATCH 2/2] update golang from 1.22.5 to 1.22.7 --- .ko.yaml | 2 +- Dockerfile | 4 ++-- cloudbuild.yaml | 2 +- go.mod | 2 +- tests/e2e/go.mod | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ko.yaml b/.ko.yaml index 2585f7a36c..250890ba16 100644 --- a/.ko.yaml +++ b/.ko.yaml @@ -1 +1 @@ -defaultBaseImage: registry.k8s.io/build-image/go-runner:v2.3.1-go1.22.5-bookworm.0 +defaultBaseImage: registry.k8s.io/build-image/go-runner:v2.3.1-go1.22.7-bookworm.0 diff --git a/Dockerfile b/Dockerfile index fba4a82dca..46399596fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ## BUILD ARGS ## ################################################################################ # This build arg allows the specification of a custom Golang image. -ARG GOLANG_IMAGE=golang:1.22.5 +ARG GOLANG_IMAGE=golang:1.22.7 # The distroless image on which the CPI manager image is built. # @@ -22,7 +22,7 @@ ARG GOLANG_IMAGE=golang:1.22.5 # deterministic builds. Follow what kubernetes uses to build # kube-controller-manager, for example for 1.23.x: # https://github.com/kubernetes/kubernetes/blob/release-1.24/build/common.sh#L94 -ARG DISTROLESS_IMAGE=registry.k8s.io/build-image/go-runner:v2.3.1-go1.22.5-bookworm.0 +ARG DISTROLESS_IMAGE=registry.k8s.io/build-image/go-runner:v2.3.1-go1.22.7-bookworm.0 ################################################################################ ## BUILD STAGE ## diff --git a/cloudbuild.yaml b/cloudbuild.yaml index fa8d449e4d..2a8911b62d 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -17,7 +17,7 @@ steps: - --platform=linux/amd64,linux/arm64 - . # Build cloudbuild artifacts (for attestation) - - name: 'docker.io/library/golang:1.22.5-bookworm' + - name: 'docker.io/library/golang:1.22.7-bookworm' id: cloudbuild-artifacts entrypoint: make env: diff --git a/go.mod b/go.mod index 9cb54b702b..940eef0987 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module k8s.io/cloud-provider-aws -go 1.22.5 +go 1.22.7 require ( github.com/aws/aws-sdk-go v1.55.5 diff --git a/tests/e2e/go.mod b/tests/e2e/go.mod index 7e856bc4ec..d102ca8b1e 100644 --- a/tests/e2e/go.mod +++ b/tests/e2e/go.mod @@ -1,6 +1,6 @@ module k8s.io/cloud-provider-aws/tests/e2e -go 1.22.5 +go 1.22.7 require ( github.com/onsi/ginkgo/v2 v2.19.0