Deploying Garden-Linux-Release on BOSH Lite


Will Pragnell <wpragnell@...>
 

TL;DR:

You need to set garden.mount_btrfs_loopback: false and
garden.disk_quota_enabled:
false if deploying Garden-Linux-Release to recent versions of BOSH Lite.

Long version:

As of v9000.50.0, BOSH Lite now consumes the latest and greatest version of
Garden-Linux-Release, which means that your deployments to BOSH Lite will
be using btrfs as the filesystem.

This is fine, until you try to deploy Garden-Linux-Release on top, which
assumes that it won’t be deployed on top of btrfs, and tries to mount a
btrfs volume as a loopback device. This turns out not to work, at least
with the current way it tries to do it.

Garden-Linux also uses btrfs subvolumes for disk quotas. Unfortunately,
nesting these is hard, and disk quota setup fails when the btrfs mountpoint
is outside the mount namespace that Garden-Linux is running in.

The fix for both of these issues is to set garden.mount_btrfs_loopback:
false and garden.disk_quota_enabled: false for any Garden-Linux jobs in
your deployment. Note that disk quotas won’t work as a result of this (they
didn’t used to work with Warden on BOSH Lite anyway).

We plan to add a check in the future to detect btrfs filesystems and remove
the mount_btrfs_loopback property, which will make things easier, but that
probably won’t make it in until v0.307.0 of Garden-Linux-Release.

Thanks,
Will

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.