nixos/glusterfs: fix dangling glusterfind hook symlink and install group presets (#534709)
This commit is contained in:
@@ -180,7 +180,9 @@ in
|
||||
# Excludes one hook due to missing SELinux binaries.
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/hooks/
|
||||
${rsync}/bin/rsync -a --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
|
||||
# --copy-unsafe-links: the glusterfind hook is a symlink into the package's
|
||||
# libexec that would dangle once copied verbatim into / (#257863).
|
||||
${rsync}/bin/rsync -a --copy-unsafe-links --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
|
||||
|
||||
${tlsCmd}
|
||||
''
|
||||
@@ -189,6 +191,12 @@ in
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/glusterfind/.keys
|
||||
mkdir -p /var/lib/glusterd/hooks/1/delete/post/
|
||||
''
|
||||
# Volume option presets, installed by upstream under $out/var; copy them so
|
||||
# `gluster volume set <vol> group <name>` works (#33159).
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/groups/
|
||||
${rsync}/bin/rsync -a ${glusterfs}/var/lib/glusterd/groups/ /var/lib/glusterd/groups/
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
@@ -49,6 +49,14 @@ in
|
||||
server1.wait_for_unit("glusterd.service")
|
||||
server2.wait_for_unit("glusterd.service")
|
||||
|
||||
# The glusterfind delete hook must be a real file, not the dangling
|
||||
# symlink it used to be after being copied out of the package (#257863).
|
||||
server1.succeed("test -f /var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post")
|
||||
server1.fail("test -L /var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post")
|
||||
|
||||
# The volume option presets must be installed (#33159).
|
||||
server1.succeed("test -f /var/lib/glusterd/groups/metadata-cache")
|
||||
|
||||
server1.wait_until_succeeds("gluster peer status")
|
||||
server2.wait_until_succeeds("gluster peer status")
|
||||
|
||||
@@ -64,6 +72,9 @@ in
|
||||
server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0")
|
||||
server1.succeed("gluster volume start gv0")
|
||||
|
||||
# Applying a group preset needs /var/lib/glusterd/groups populated (#33159).
|
||||
server1.succeed("gluster volume set gv0 group metadata-cache")
|
||||
|
||||
# test clients
|
||||
client1.wait_for_unit("gluster.mount")
|
||||
client2.wait_for_unit("gluster.mount")
|
||||
|
||||
Reference in New Issue
Block a user