diff --git a/Dockerfile b/Dockerfile index 531b66a4b..c7e0c9cdd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ARG BUILDPLATFORM -FROM --platform=$BUILDPLATFORM golang:1.18.9 as builder +FROM --platform=$BUILDPLATFORM golang:1.19.6 as builder ARG STAGINGVERSION ARG TARGETPLATFORM @@ -24,7 +24,7 @@ ADD . . RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') GCE_PD_CSI_STAGING_VERSION=$STAGINGVERSION make gce-pd-driver # Start from Kubernetes Debian base. -FROM k8s.gcr.io/build-image/debian-base:buster-v1.9.0 as debian +FROM gke.gcr.io/debian-base:bullseye-v1.4.3-gke.0 as debian # Install necessary dependencies # google_nvme_id script depends on the following packages: nvme-cli, xxd, bash RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash @@ -65,6 +65,7 @@ COPY --from=debian /usr/lib/xfsprogs/xfs* /usr/lib/xfsprogs/ COPY --from=debian /usr/sbin/xfs* /usr/sbin/ # Add dependencies for /lib/udev_containerized/google_nvme_id script COPY --from=debian /usr/sbin/nvme /usr/sbin/nvme +COPY --from=debian /usr/share/man/man7 /usr/share/man/man7 COPY --from=debian /usr/bin/xxd /usr/bin/xxd COPY --from=debian /bin/bash /bin/bash COPY --from=debian /bin/date /bin/date @@ -74,28 +75,30 @@ COPY --from=debian /bin/ln /bin/ln COPY --from=debian /bin/udevadm /bin/udevadm # Copy shared libraries into distroless base. -COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \ +COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre.so.3 \ + /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \ + /lib/${LIB_DIR_PREFIX}-linux-gnu/libtinfo.so.6 \ + /lib/${LIB_DIR_PREFIX}-linux-gnu/libe2p.so.2 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/libcom_err.so.2 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/libdevmapper.so.1.02.1 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libe2p.so.2 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/libext2fs.so.2 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/libgcc_s.so.1 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/liblzma.so.5 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libmount.so.1 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre.so.3 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libreadline.so.5 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libtinfo.so.6 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libudev.so.1 \ - /lib/${LIB_DIR_PREFIX}-linux-gnu/libuuid.so.1 \ + /lib/${LIB_DIR_PREFIX}-linux-gnu/libreadline.so.8 \ /lib/${LIB_DIR_PREFIX}-linux-gnu/libz.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/ -COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libacl.so.1 \ +COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libinih.so.1 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libmount.so.1 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libudev.so.1 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libuuid.so.1 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libacl.so.1 \ /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libattr.so.1 \ - /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicudata.so.63 \ - /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicui18n.so.63 \ - /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicuuc.so.63 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicudata.so.67 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicui18n.so.67 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libicuuc.so.67 \ /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libkmod.so.2 \ + /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libpcre2-8.so.0 \ /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libstdc++.so.6 /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/ # Copy NVME support required script and rules into distroless base. diff --git a/Dockerfile.Windows b/Dockerfile.Windows index 508b0e165..40143569b 100644 --- a/Dockerfile.Windows +++ b/Dockerfile.Windows @@ -13,7 +13,8 @@ # limitations under the License. ARG BASE_IMAGE -FROM --platform=$BUILDPLATFORM golang:1.18.9 AS builder + +FROM --platform=$BUILDPLATFORM golang:1.19.6 AS builder ARG TARGETPLATFORM ARG BUILDPLATFORM diff --git a/Dockerfile.debug b/Dockerfile.debug index 9a1dae55c..81fdebace 100644 --- a/Dockerfile.debug +++ b/Dockerfile.debug @@ -12,7 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.13.15 as builder +FROM golang:1.19.6 as builder + WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver ADD . . diff --git a/pkg/gce-cloud-provider/compute/gce-compute.go b/pkg/gce-cloud-provider/compute/gce-compute.go index cc23f21d7..e62dc5429 100644 --- a/pkg/gce-cloud-provider/compute/gce-compute.go +++ b/pkg/gce-cloud-provider/compute/gce-compute.go @@ -1129,9 +1129,13 @@ func (cloud *CloudProvider) waitForSnapshotCreation(ctx context.Context, project // kmsKeyEqual returns true if fetchedKMSKey and storageClassKMSKey refer to the same key. // fetchedKMSKey - key returned by the server -// example: projects/{0}/locations/{1}/keyRings/{2}/cryptoKeys/{3}/cryptoKeyVersions/{4} +// +// example: projects/{0}/locations/{1}/keyRings/{2}/cryptoKeys/{3}/cryptoKeyVersions/{4} +// // storageClassKMSKey - key as provided by the client -// example: projects/{0}/locations/{1}/keyRings/{2}/cryptoKeys/{3} +// +// example: projects/{0}/locations/{1}/keyRings/{2}/cryptoKeys/{3} +// // cryptoKeyVersions should be disregarded if the rest of the key is identical. func KmsKeyEqual(fetchedKMSKey, storageClassKMSKey string) bool { return removeCryptoKeyVersion(fetchedKMSKey) == removeCryptoKeyVersion(storageClassKMSKey) diff --git a/pkg/gce-pd-csi-driver/node_test.go b/pkg/gce-pd-csi-driver/node_test.go index db4f5c15d..f064a4b18 100644 --- a/pkg/gce-pd-csi-driver/node_test.go +++ b/pkg/gce-pd-csi-driver/node_test.go @@ -4,7 +4,9 @@ Copyright 2018 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/test/k8s-integration/version.go b/test/k8s-integration/version.go index 24e3e8a1e..e67613cc0 100644 --- a/test/k8s-integration/version.go +++ b/test/k8s-integration/version.go @@ -131,9 +131,10 @@ func mustParseVersion(version string) *version { } // Helper function to compare versions. -// -1 -- if left < right -// 0 -- if left == right -// 1 -- if left > right +// +// -1 -- if left < right +// 0 -- if left == right +// 1 -- if left > right func (v *version) compare(right *version) int { for i, b := range v.version { if b > right.version[i] {