Skip to content

Commit dd7fe60

Browse files
committed
test: Add tests for storage directory permissions
Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> (cherry picked from commit 67a5819) (cherry picked from commit 6fa0891)
1 parent 849ed20 commit dd7fe60

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

test/suites/storage.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,35 @@ test_storage() {
2020

2121
lxc storage volume create "$storage_pool" "$storage_volume"
2222

23+
# Test storage directory permissions
24+
25+
# Verify storage pool directory permissions match BaseDirectories expectations.
26+
# We expect:
27+
# - containers, containers-snapshots -> 0711
28+
# - buckets -> 0711
29+
# - custom, custom-snapshots -> 0700
30+
# - images -> 0700
31+
# - virtual-machines, virtual-machines-snapshots -> 0700
32+
pool_path="${LXD_DIR}/storage-pools/${storage_pool}"
33+
34+
declare -A expected_modes
35+
expected_modes[containers]=711
36+
expected_modes[containers-snapshots]=711
37+
if [ "${lxd_backend}" != "ceph" ]; then
38+
expected_modes[buckets]=711 # Buckets are not supported on ceph backend.
39+
fi
40+
expected_modes[custom]=700
41+
expected_modes[custom-snapshots]=700
42+
expected_modes[images]=700
43+
expected_modes[virtual-machines]=700
44+
expected_modes[virtual-machines-snapshots]=700
45+
46+
for dir in "${!expected_modes[@]}"; do
47+
want="${expected_modes[$dir]}"
48+
mode=$(stat -c %a "${pool_path}/${dir}")
49+
[ "${mode}" = "${want}" ]
50+
done
51+
2352
# Test setting description on a storage volume
2453
lxc storage volume show "$storage_pool" "$storage_volume" | sed 's/^description:.*/description: bar/' | lxc storage volume edit "$storage_pool" "$storage_volume"
2554
lxc storage volume show "$storage_pool" "$storage_volume" | grep -q 'description: bar'

0 commit comments

Comments
 (0)