glusterfs
131 строка · 4.0 Кб
1#!/bin/bash
2
3. $(dirname $0)/../include.rc4. $(dirname $0)/../volume.rc5. $(dirname $0)/../geo-rep.rc6. $(dirname $0)/../env.rc7
8SCRIPT_TIMEOUT=3009OLD_CONFIG_PATH=$(dirname $0)/gsyncd.conf.old10
11##Cleanup and start glusterd
12cleanup;13TEST glusterd;14TEST pidof glusterd
15
16##Variables
17GEOREP_CLI="$CLI volume geo-replication"18primary=$GMV019secondary=${H0}::${GSV0}20num_active=221num_passive=222primary_mnt=$M023secondary_mnt=$M124
25WORKING_DIR=/var/lib/glusterd/geo-replication/primary_${H0}_secondary26############################################################
27#SETUP VOLUMES AND GEO-REPLICATION
28############################################################
29
30##create_and_start_primary_volume
31TEST $CLI volume create $GMV0 replica 2 $H0:$B0/${GMV0}{1,2,3,4};32TEST $CLI volume start $GMV033
34##create_and_start_secondary_volume
35TEST $CLI volume create $GSV0 replica 2 $H0:$B0/${GSV0}{1,2,3,4};36TEST $CLI volume start $GSV037
38##Create, start and mount meta_volume
39TEST $CLI volume create $META_VOL replica 3 $H0:$B0/${META_VOL}{1,2,3};40TEST $CLI volume start $META_VOL41TEST mkdir -p $META_MNT42TEST glusterfs -s $H0 --volfile-id $META_VOL $META_MNT43
44##Mount primary
45TEST glusterfs -s $H0 --volfile-id $GMV0 $M046
47##Mount secondary
48TEST glusterfs -s $H0 --volfile-id $GSV0 $M149
50############################################################
51#BASIC GEO-REPLICATION TESTS
52############################################################
53
54#Create geo-rep session
55TEST create_georep_session $primary $secondary56
57#Config gluster-command-dir
58TEST $GEOREP_CLI $primary $secondary config gluster-command-dir ${GLUSTER_CMD_DIR}59
60#Config gluster-command-dir
61TEST $GEOREP_CLI $primary $secondary config secondary-gluster-command-dir ${GLUSTER_CMD_DIR}62
63#Enable_metavolume
64TEST $GEOREP_CLI $primary $secondary config use_meta_volume true65
66#Wait for common secret pem file to be created
67EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_common_secret_file68
69#Verify the keys are distributed
70EXPECT_WITHIN $GEO_REP_TIMEOUT 0 check_keys_distributed71
72#Start_georep
73TEST $GEOREP_CLI $primary $secondary start74
75EXPECT_WITHIN $GEO_REP_TIMEOUT 2 check_status_num_rows "Active"76EXPECT_WITHIN $GEO_REP_TIMEOUT 2 check_status_num_rows "Passive"77
78TEST $GEOREP_CLI $primary $secondary config sync-method tarssh79
80#Stop Geo-rep
81TEST $GEOREP_CLI $primary $secondary stop82
83#Copy old config file
84mv -f $WORKING_DIR/gsyncd.conf $WORKING_DIR/gsyncd.conf.org85cp -p $OLD_CONFIG_PATH $WORKING_DIR/gsyncd.conf86
87#Check if config get all updates config_file
88TEST ! grep "sync-method" $WORKING_DIR/gsyncd.conf89TEST $GEOREP_CLI $primary $secondary config90TEST grep "sync-method" $WORKING_DIR/gsyncd.conf91
92#Check if config get updates config_file
93rm -f $WORKING_DIR/gsyncd.conf94cp -p $OLD_CONFIG_PATH $WORKING_DIR/gsyncd.conf95TEST ! grep "sync-method" $WORKING_DIR/gsyncd.conf96TEST $GEOREP_CLI $primary $secondary config sync-method97TEST grep "sync-method" $WORKING_DIR/gsyncd.conf98
99#Check if config set updates config_file
100rm -f $WORKING_DIR/gsyncd.conf101cp -p $OLD_CONFIG_PATH $WORKING_DIR/gsyncd.conf102TEST ! grep "sync-method" $WORKING_DIR/gsyncd.conf103TEST $GEOREP_CLI $primary $secondary config sync-xattrs false104TEST grep "sync-method" $WORKING_DIR/gsyncd.conf105
106#Check if config reset updates config_file
107rm -f $WORKING_DIR/gsyncd.conf108cp -p $OLD_CONFIG_PATH $WORKING_DIR/gsyncd.conf109TEST ! grep "sync-method" $WORKING_DIR/gsyncd.conf110TEST $GEOREP_CLI $primary $secondary config \!sync-xattrs111TEST grep "sync-method" $WORKING_DIR/gsyncd.conf112
113#Check if geo-rep start updates config_file
114rm -f $WORKING_DIR/gsyncd.conf115cp -p $OLD_CONFIG_PATH $WORKING_DIR/gsyncd.conf116TEST ! grep "sync-method" $WORKING_DIR/gsyncd.conf117TEST $GEOREP_CLI $primary $secondary start118TEST grep "sync-method" $WORKING_DIR/gsyncd.conf119
120#Stop geo-rep
121TEST $GEOREP_CLI $primary $secondary stop122
123#Delete Geo-rep
124TEST $GEOREP_CLI $primary $secondary delete125
126#Cleanup authorized keys
127sed -i '/^command=.*SSH_ORIGINAL_COMMAND#.*/d' ~/.ssh/authorized_keys128sed -i '/^command=.*gsyncd.*/d' ~/.ssh/authorized_keys129
130cleanup;131#G_TESTDEF_TEST_STATUS_NETBSD7=BAD_TEST,BUG=000000
132