Skip to content

Commit 47b6ecb

Browse files
authored
Merge branch 'kubernetes-sigs:master' into get-region-from-location-tpc-fix
2 parents c1e799d + ba89880 commit 47b6ecb

File tree

625 files changed

+52770
-25645
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

625 files changed

+52770
-25645
lines changed

Diff for: CHANGELOG/CHANGELOG-1.17.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# v1.17.2 - Changelog since v1.17.1
2+
- [Fixed CVE-2022-1996](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1977)
3+
4+
# v1.17.1 - Changelog since v1.17.0
5+
- [Setup caching only for designated node pools](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1966)
6+
7+
# v1.17.0 - Changelog since v1.16.1
8+
- [Data cache feature support for PDCSI driver](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1932)
9+
- [Handle reboot scenarios for cached nodes](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1946)
10+
- [Add data cache error code](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1948)
11+
- [Update RAID logic and post RAID integration](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1950)
12+
- [Fix chunksize bug for large cache size](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1954)
13+
- [Distinguish between user errors](https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/pull/1960)

Diff for: CHANGELOG/README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# CHANGELOGs
2-
2+
- [CHANGELOG v1.17.0](./CHANGELOG-1.17.md)
3+
- [CHANGELOG v1.15.0](./CHANGELOG-1.15.md)
4+
- [CHANGELOG v1.14.0](./CHANGELOG-1.14.md)
5+
- [CHANGELOG v1.13.0](./CHANGELOG-1.13.md)
6+
- [CHANGELOG v1.12.0](./CHANGELOG-1.12.md)
37
- [CHANGELOG v1.11.0](./CHANGELOG-1.11.md)
48
- [CHANGELOG v1.10.0](./CHANGELOG-1.10.md)
59
- [CHANGELOG v1.9.0](./CHANGELOG-1.9.md)

Diff for: Dockerfile

+46-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM --platform=$BUILDPLATFORM golang:1.23.0 AS builder
15+
FROM --platform=$BUILDPLATFORM golang:1.24.0 AS builder
1616

1717
ARG STAGINGVERSION
1818
ARG TARGETPLATFORM
@@ -23,11 +23,11 @@ RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') GCE_PD_CSI_STAGING_VERSION=$
2323

2424
# Start from Kubernetes Debian base.
2525

26-
FROM gke.gcr.io/debian-base:bookworm-v1.0.4-gke.2 AS debian
26+
FROM gke.gcr.io/debian-base:bookworm-v1.0.4-gke.3 AS debian
2727

2828
# Install necessary dependencies
2929
# google_nvme_id script depends on the following packages: nvme-cli, xxd, bash
30-
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash
30+
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash kmod lvm2 mdadm
3131

3232
# Since we're leveraging apt to pull in dependencies, we use `gcr.io/distroless/base` because it includes glibc.
3333
FROM gcr.io/distroless/base-debian12 AS distroless-base
@@ -56,6 +56,35 @@ COPY --from=debian /sbin/e2fsck /sbin/e2fsck
5656
COPY --from=debian /sbin/fsck /sbin/fsck
5757
COPY --from=debian /sbin/fsck* /sbin/
5858
COPY --from=debian /sbin/fsck.xfs /sbin/fsck.xfs
59+
# Add dependencies for LVM
60+
COPY --from=debian /etc/lvm /lvm-tmp/lvm
61+
COPY --from=debian /lib/systemd/system/blk-availability.service /lib/systemd/system/blk-availability.service
62+
COPY --from=debian /lib/systemd/system/lvm2-lvmpolld.service /lib/systemd/system/lvm2-lvmpolld.service
63+
COPY --from=debian /lib/systemd/system/lvm2-lvmpolld.socket /lib/systemd/system/lvm2-lvmpolld.socket
64+
COPY --from=debian /lib/systemd/system/lvm2-monitor.service /lib/systemd/system/lvm2-monitor.service
65+
COPY --from=debian /lib/udev/rules.d/56-lvm.rules /lib/udev/rules.d/56-lvm.rules
66+
COPY --from=debian /sbin/fsadm /sbin/fsadm
67+
COPY --from=debian /sbin/lvm /sbin/lvm
68+
COPY --from=debian /sbin/lvmdump /sbin/lvmdump
69+
COPY --from=debian /sbin/lvmpolld /sbin/lvmpolld
70+
COPY --from=debian /usr/lib/tmpfiles.d /usr/lib/tmpfiles.d
71+
COPY --from=debian /usr/lib/tmpfiles.d/lvm2.conf /usr/lib/tmpfiles.d/lvm2.conf
72+
COPY --from=debian /sbin/lv* /sbin/
73+
COPY --from=debian /sbin/pv* /sbin/
74+
COPY --from=debian /sbin/vg* /sbin/
75+
COPY --from=debian /bin/lsblk /bin/lsblk
76+
COPY --from=debian /sbin/modprobe /sbin/modprobe
77+
COPY --from=debian /lib/udev /lib/udev
78+
COPY --from=debian /lib/udev/rules.d /lib/udev/rules.d
79+
COPY --from=debian /lib/udev/rules.d/55-dm.rules /lib/udev/rules.d/55-dm.rules
80+
COPY --from=debian /lib/udev/rules.d/60-persistent-storage-dm.rules /lib/udev/rules.d/60-persistent-storage-dm.rules
81+
COPY --from=debian /lib/udev/rules.d/95-dm-notify.rules /lib/udev/rules.d/95-dm-notify.rules
82+
COPY --from=debian /sbin/blkdeactivate /sbin/blkdeactivate
83+
COPY --from=debian /sbin/dmsetup /sbin/dmsetup
84+
COPY --from=debian /sbin/dmstats /sbin/dmstats
85+
COPY --from=debian /bin/ls /bin/ls
86+
# End of dependencies for LVM
87+
COPY --from=debian /sbin/mdadm /sbin/mdadm
5988
COPY --from=debian /sbin/mke2fs /sbin/mke2fs
6089
COPY --from=debian /sbin/mkfs* /sbin/
6190
COPY --from=debian /sbin/resize2fs /sbin/resize2fs
@@ -71,14 +100,20 @@ COPY --from=debian /bin/date /bin/date
71100
COPY --from=debian /bin/grep /bin/grep
72101
COPY --from=debian /bin/sed /bin/sed
73102
COPY --from=debian /bin/ln /bin/ln
103+
COPY --from=debian /bin/cp /bin/cp
74104
COPY --from=debian /bin/udevadm /bin/udevadm
75105

76106
# Copy shared libraries into distroless base.
77107
COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
108+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libdl.so.2 \
109+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libpthread.so.0 \
78110
/lib/${LIB_DIR_PREFIX}-linux-gnu/libtinfo.so.6 \
79111
/lib/${LIB_DIR_PREFIX}-linux-gnu/libe2p.so.2 \
80112
/lib/${LIB_DIR_PREFIX}-linux-gnu/libcom_err.so.2 \
81113
/lib/${LIB_DIR_PREFIX}-linux-gnu/libdevmapper.so.1.02.1 \
114+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libm.so.6 \
115+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libc.so.6 \
116+
/lib/${LIB_DIR_PREFIX}-linux-gnu/libdevmapper-event.so.1.02.1 \
82117
/lib/${LIB_DIR_PREFIX}-linux-gnu/libext2fs.so.2 \
83118
/lib/${LIB_DIR_PREFIX}-linux-gnu/libgcc_s.so.1 \
84119
/lib/${LIB_DIR_PREFIX}-linux-gnu/liblzma.so.5 \
@@ -99,11 +134,17 @@ COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
99134
/lib/${LIB_DIR_PREFIX}-linux-gnu/libzstd.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/
100135

101136
COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \
137+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libsmartcols.so.1 \
102138
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libbsd.so.0 \
103139
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libinih.so.1 \
104140
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libmount.so.1 \
105141
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libudev.so.1 \
106142
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libuuid.so.1 \
143+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libzstd.so.1 \
144+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libaio.so.1 \
145+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libgcrypt.so.20 \
146+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libsystemd.so.0 \
147+
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/liblz4.so.1 \
107148
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libacl.so.1 \
108149
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libattr.so.1 \
109150
/usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libedit.so.2 \
@@ -118,4 +159,5 @@ COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \
118159
# Copy NVME support required script and rules into distroless base.
119160
COPY deploy/kubernetes/udev/google_nvme_id /lib/udev_containerized/google_nvme_id
120161

121-
ENTRYPOINT ["/gce-pd-csi-driver"]
162+
COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/initialize-driver.sh /initialize-driver.sh
163+
ENTRYPOINT ["/initialize-driver.sh"]

Diff for: Dockerfile.Windows

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
ARG BASE_IMAGE
16-
FROM --platform=$BUILDPLATFORM golang:1.23.0 AS builder
16+
FROM --platform=$BUILDPLATFORM golang:1.24.0 AS builder
1717

1818
ARG TARGETPLATFORM
1919
ARG STAGINGVERSION

Diff for: Dockerfile.debug

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.23.0 as builder
15+
FROM golang:1.24.0 as builder
1616
WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
1717
ADD . .
1818

Diff for: Makefile

+7-7
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,18 @@ build-container: require-GCE_PD_CSI_STAGING_IMAGE require-GCE_PD_CSI_STAGING_VER
5555
--push .
5656

5757
build-and-push-windows-container-ltsc2019: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
58-
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows \
58+
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows/amd64 \
5959
-t $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019 \
6060
--build-arg BASE_IMAGE=$(BASE_IMAGE_LTSC2019) \
61-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
61+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
6262

6363
build-and-push-multi-arch: build-and-push-container-linux-amd64 build-and-push-container-linux-arm64 build-and-push-windows-container-ltsc2019
64-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
64+
$(DOCKER) manifest create $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
6565
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="$(WINDOWS_IMAGE_TAGS)" WINDOWS_BASE_IMAGES="$(WINDOWS_BASE_IMAGES)" ./manifest_osversion.sh
6666
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
6767

6868
build-and-push-multi-arch-debug: build-and-push-container-linux-debug build-and-push-windows-container-ltsc2019
69-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
69+
$(DOCKER) manifest create $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
7070
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="ltsc2019" WINDOWS_BASE_IMAGES="$(BASE_IMAGE_LTSC2019)" ./manifest_osversion.sh
7171
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
7272

@@ -96,13 +96,13 @@ build-and-push-container-linux-amd64: require-GCE_PD_CSI_STAGING_IMAGE init-buil
9696
$(DOCKER) buildx build --platform=linux/amd64 \
9797
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 \
9898
--build-arg BUILDPLATFORM=linux \
99-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
99+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
100100

101101
build-and-push-container-linux-arm64: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
102102
$(DOCKER) buildx build --file=Dockerfile --platform=linux/arm64 \
103103
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 \
104104
--build-arg BUILDPLATFORM=linux \
105-
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
105+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push --provenance=false .
106106

107107
build-and-push-container-linux-debug: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
108108
$(DOCKER) buildx build --file=Dockerfile.debug --platform=linux \
@@ -130,7 +130,7 @@ init-buildx:
130130
$(DOCKER) run --rm --privileged multiarch/qemu-user-static --reset --credential yes --persistent yes
131131
# Ensure we use a builder that can leverage it (the default on linux will not)
132132
-$(DOCKER) buildx rm multiarch-multiplatform-builder
133-
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder --driver-opt network=host --driver-opt image=moby/buildkit:v0.14.1
133+
$(DOCKER) buildx create --use --name=multiarch-multiplatform-builder --driver-opt network=host --driver-opt image=moby/buildkit:v0.20.0
134134
# Register gcloud as a Docker credential helper.
135135
# Required for "docker buildx build --push".
136136
gcloud auth configure-docker --quiet

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ lifecycle of Google Compute Engine Persistent Disks.
1212
## Project Status
1313

1414
Status: GA
15-
Latest stable image: `registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.15.0`
15+
Latest stable image: `registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.17.2`
1616

1717
### Test Status
1818

0 commit comments

Comments
 (0)