]> git.proxmox.com Git - ceph.git/blob - ceph/qa/workunits/fs/cephfs_mirror_helpers.sh
import ceph 16.2.7
[ceph.git] / ceph / qa / workunits / fs / cephfs_mirror_helpers.sh
1 PRIMARY_FS='dc'
2 BACKUP_FS='dc-backup'
3
4 REPO=ceph-qa-suite
5 REPO_DIR=ceph_repo
6 REPO_PATH_PFX="$REPO_DIR/$REPO"
7
8 NR_DIRECTORIES=4
9 NR_SNAPSHOTS=4
10 MIRROR_SUBDIR='/mirror'
11
12 calc_checksum()
13 {
14 local path=$1
15 local -n ref=$2
16 ref=`find -L $path -type f -exec md5sum {} + | awk '{ print $1 }' | md5sum | awk '{ print $1 }'`
17 }
18
19 store_checksum()
20 {
21 local path=$1
22 local cksum='' #something invalid
23 local fhash=`echo -n $path | md5sum | awk '{ print $1 }'`
24 calc_checksum $path cksum
25 echo -n $cksum > "/tmp/primary-$fhash"
26 }
27
28 compare_checksum()
29 {
30 local ret=0
31 local cksum=$1
32 local path=$2
33 local fhash=`echo -n $path | md5sum | awk '{ print $1 }'`
34 local cksum_ondisk=`cat /tmp/primary-$fhash`
35 if [ $cksum != $cksum_ondisk ]; then
36 echo "$cksum <> $cksum_ondisk"
37 ret=1
38 fi
39 echo $ret
40 }
41
42 exec_git_cmd()
43 {
44 local arg=("$@")
45 local repo_name=${arg[0]}
46 local cmd=${arg[@]:1}
47 git --git-dir "$repo_name/.git" $cmd
48 }
49
50 clone_repo()
51 {
52 local repo_name=$1
53 git clone --branch giant "http://github.com/ceph/$REPO" $repo_name
54 }
55
56 setup_repos()
57 {
58 mkdir "$REPO_DIR"
59
60 for i in `seq 1 $NR_DIRECTORIES`
61 do
62 local repo_name="${REPO_PATH_PFX}_$i"
63 mkdir $repo_name
64 clone_repo $repo_name
65 done
66 }