Skip to content

Commit 1c622fa

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 26321e4 commit 1c622fa

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.3-gke.0 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 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
@@ -97,6 +98,7 @@ COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
9798
/lib/${LIB_DIR_PREFIX}-linux-gnu/libnvme.so.1 \
9899
/lib/${LIB_DIR_PREFIX}-linux-gnu/libsystemd.so.0 \
99100
/lib/${LIB_DIR_PREFIX}-linux-gnu/libgpg-error.so.0 \
101+
/lib/${LIB_DIR_PREFIX}-linux-gnu/liblzo2.so.2 \
100102
/lib/${LIB_DIR_PREFIX}-linux-gnu/libzstd.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/
101103

102104
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
@@ -42,7 +42,7 @@ rm -rf /usr/local/go && tar -xzf go_tar.tar.gz -C /usr/local
4242
# to run go commands with this go version.
4343
export PATH=$PATH:/usr/local/go/bin && go version && rm go_tar.tar.gz
4444

45-
storage_classes=sc-balanced.yaml,sc-ssd.yaml,sc-xfs.yaml
45+
storage_classes=sc-balanced.yaml,sc-ssd.yaml,sc-xfs.yaml,sc-btrfs.yaml
4646

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

0 commit comments

Comments
 (0)