Skip to content

Commit 36831af

Browse files
committed
enable btrfs
This change is enough to provision and run a btrfs filesystems. Tested workflows: [x] provisioning (formatting) [x] disk expansion
1 parent daac2c6 commit 36831af

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ 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 kmod lvm2 mdadm
30+
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash kmod lvm2 mdadm btrfs-progs
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
@@ -48,6 +48,7 @@ COPY --from=debian /etc/mke2fs.conf /etc/mke2fs.conf
4848
COPY --from=debian /lib/udev/scsi_id /lib/udev_containerized/scsi_id
4949
COPY --from=debian /bin/mount /bin/mount
5050
COPY --from=debian /bin/umount /bin/umount
51+
COPY --from=debian /bin/btrfs /bin/btrfs
5152
COPY --from=debian /sbin/blkid /sbin/blkid
5253
COPY --from=debian /sbin/blockdev /sbin/blockdev
5354
COPY --from=debian /sbin/dumpe2fs /sbin/dumpe2fs
@@ -131,6 +132,7 @@ COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
131132
/lib/${LIB_DIR_PREFIX}-linux-gnu/libnvme.so.1 \
132133
/lib/${LIB_DIR_PREFIX}-linux-gnu/libsystemd.so.0 \
133134
/lib/${LIB_DIR_PREFIX}-linux-gnu/libgpg-error.so.0 \
135+
/lib/${LIB_DIR_PREFIX}-linux-gnu/liblzo2.so.2 \
134136
/lib/${LIB_DIR_PREFIX}-linux-gnu/libzstd.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/
135137

136138
COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: storage.k8s.io/v1
2+
kind: StorageClass
3+
metadata:
4+
name: csi-gcepd-btrfs
5+
provisioner: pd.csi.storage.gke.io
6+
parameters:
7+
type: pd-balanced
8+
csi.storage.k8s.io/fstype: btrfs
9+
volumeBindingMode: WaitForFirstConsumer

test/run-k8s-integration-ci.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ rm -rf /usr/local/go && tar -xzf go_tar.tar.gz -C /usr/local
4343
# to run go commands with this go version.
4444
export PATH=$PATH:/usr/local/go/bin && go version && rm go_tar.tar.gz
4545

46-
storage_classes=sc-ssd.yaml,sc-xfs.yaml
46+
storage_classes=sc-ssd.yaml,sc-xfs.yaml,sc-btrfs.yaml
4747

4848
if [[ $test_pd_labels = true ]] ; then
4949
storage_classes=${storage_classes},sc-balanced.yaml

0 commit comments

Comments
 (0)