glusterfs
1#!/bin/bash
2
3. $(dirname $0)/../include.rc4. $(dirname $0)/../volume.rc5. $(dirname $0)/../traps.rc6
7cleanup;8
9## Start glusterd
10TEST glusterd;11TEST pidof glusterd;12TEST $CLI volume info;13
14## Lets create volume
15TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2};16TEST $CLI volume set $V0 nfs.disable false17
18## Verify volume is created
19EXPECT "$V0" volinfo_field $V0 'Volume Name';20EXPECT 'Created' volinfo_field $V0 'Status';21## Start volume and verify
22TEST $CLI volume start $V0;23EXPECT 'Started' volinfo_field $V0 'Status';24TEST glusterfs -s $H0 --volfile-id=$V0 $M025
26#do some operation on mount, so that kill_brick is guaranteed to be
27#done _after_ first lookup on root and dht has a proper layout on
28#it. Otherwise mkdir done in later stages of script might fail due to
29#lack of layout on "/" as dht-self-heal won't proceed if any of its
30#subvolumes are down.
31TEST ls $M032#kill one of the brick process
33TEST kill_brick $V0 $H0 $B0/${V0}234
35cleanup_user_group () {36userdel --force dev37groupdel QA38}
39push_trapfunc cleanup_user_group
40
41#create a user and group
42TEST useradd dev43TEST groupadd QA44
45#create a new directory now with special user, group and mode bits
46mkdir -m 7777 $M0/dironedown47TEST chown dev $M0/dironedown48TEST chgrp QA $M0/dironedown49
50#store the permissions for comparision
51permission_onedown=`ls -l $M0 | grep dironedown | awk '{print $1}'`52
53#Now bring up the brick process
54TEST $CLI volume start $V0 force55
56#The updation of directory attrs happens on the revalidate path. Hence, atmax on
57#2 lookups the update will happen.
58sleep 559TEST ls $M0/dironedown;60
61#check directory that was created post brick going down
62TEST brick_perm=`ls -l $B0/${V0}2 | grep dironedown | awk '{print $1}'`63TEST echo $brick_perm;64TEST [ ${brick_perm} = ${permission_onedown} ]65uid=`ls -l $B0/${V0}2 | grep dironedown | awk '{print $3}'`66TEST echo $uid67TEST [ $uid = dev ]68gid=`ls -l $B0/${V0}2 | grep dironedown | awk '{print $4}'`69TEST echo $gid70TEST [ $gid = QA ]71
72cleanup
73