3
. $(dirname $0)/../include.rc
4
. $(dirname $0)/../volume.rc
5
. $(dirname $0)/../cluster.rc
6
. $(dirname $0)/../snapshot.rc
11
function create_volumes() {
12
$CLI_1 volume create $V0 $H1:$L1 &
15
$CLI_2 volume create $V1 $H2:$L2 $H3:$L3 &
21
function create_snapshots() {
22
$CLI_1 snapshot create ${V0}_snap ${V0} no-timestamp &
25
$CLI_1 snapshot create ${V1}_snap ${V1} no-timestamp &
31
function create_snapshots_with_timestamp() {
32
$CLI_1 snapshot create ${V0}_snap1 ${V0}&
34
$CLI_1 snapshot create ${V1}_snap1 ${V1}&
41
function activate_snapshots() {
42
$CLI_1 snapshot activate ${V0}_snap &
45
$CLI_1 snapshot activate ${V1}_snap &
51
function deactivate_snapshots() {
52
$CLI_1 snapshot deactivate ${V0}_snap &
55
$CLI_1 snapshot deactivate ${V1}_snap &
61
function delete_snapshots() {
62
$CLI_1 snapshot delete $1 &
65
$CLI_1 snapshot delete $2 &
71
function restore_snapshots() {
72
$CLI_1 snapshot restore ${V0}_snap &
75
$CLI_1 snapshot restore ${V1}_snap &
82
TEST verify_lvm_version;
83
#Create cluster with 3 nodes
87
TEST $CLI_1 peer probe $H2;
88
TEST $CLI_1 peer probe $H3;
89
EXPECT_WITHIN $PROBE_TIMEOUT 2 peer_count;
92
EXPECT 'Created' volinfo_field_1 $V0 'Status';
93
EXPECT 'Created' volinfo_field_1 $V1 'Status';
96
EXPECT 'Started' volinfo_field_1 $V0 'Status';
97
EXPECT 'Started' volinfo_field_1 $V1 'Status';
99
TEST $CLI_1 snapshot config activate-on-create enable
104
EXPECT 'Started' snapshot_status ${V0}_snap;
105
EXPECT 'Started' snapshot_status ${V1}_snap;
107
EXPECT '1' volinfo_field_1 $V0 'Snapshot Count';
108
EXPECT '1' volinfo_field_1 $V1 'Snapshot Count';
109
EXPECT "1" get-cmd-field-xml "volume info $V0" "snapshotCount"
110
EXPECT "1" get-cmd-field-xml "volume info $V1" "snapshotCount"
114
EXPECT 'Stopped' snapshot_status ${V0}_snap;
115
EXPECT 'Stopped' snapshot_status ${V1}_snap;
119
EXPECT 'Started' snapshot_status ${V0}_snap;
120
EXPECT 'Started' snapshot_status ${V1}_snap;
125
TEST snapshot_exists 1 ${V0}_snap
126
TEST snapshot_exists 1 ${V1}_snap
127
TEST $CLI_1 snapshot config $V0 snap-max-hard-limit 100
128
TEST $CLI_1 snapshot config $V1 snap-max-hard-limit 100
130
TEST glusterfs -s $H1 --volfile-id=/snaps/${V0}_snap/${V0} $M0
131
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
132
TEST glusterfs -s $H2 --volfile-id=/snaps/${V1}_snap/${V1} $M0
133
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
135
#create timestamp appended snaps
136
create_snapshots_with_timestamp;
137
new_name1=`$CLI_1 snapshot list ${V0} | grep ${V0}_snap1`;
138
new_name2=`$CLI_1 snapshot list ${V1} | grep ${V1}_snap1`;
140
EXPECT '2' volinfo_field_1 $V0 'Snapshot Count';
141
EXPECT '2' volinfo_field_1 $V1 'Snapshot Count';
142
EXPECT "2" get-cmd-field-xml "volume info $V0" "snapshotCount"
143
EXPECT "2" get-cmd-field-xml "volume info $V1" "snapshotCount"
145
EXPECT_NOT "{V0}_snap1" echo $new_name1;
146
EXPECT_NOT "{V1}_snap1" echo $new_name1;
147
delete_snapshots $new_name1 $new_name2;
149
EXPECT '1' volinfo_field_1 $V0 'Snapshot Count';
150
EXPECT '1' volinfo_field_1 $V1 'Snapshot Count';
151
EXPECT "1" get-cmd-field-xml "volume info $V0" "snapshotCount"
152
EXPECT "1" get-cmd-field-xml "volume info $V1" "snapshotCount"
156
EXPECT 'Stopped' volinfo_field_1 $V0 'Status';
157
EXPECT 'Stopped' volinfo_field_1 $V1 'Status';
160
TEST ! snapshot_exists 1 ${V0}_snap
161
TEST ! snapshot_exists 1 ${V1}_snap
163
EXPECT '0' volinfo_field_1 $V0 'Snapshot Count';
164
EXPECT '0' volinfo_field_1 $V1 'Snapshot Count';
165
EXPECT "0" get-cmd-field-xml "volume info $V0" "snapshotCount"
166
EXPECT "0" get-cmd-field-xml "volume info $V1" "snapshotCount"
169
EXPECT_WITHIN $CONFIG_UPDATE_TIMEOUT "N" volume_exists_1 $V0
170
EXPECT_WITHIN $CONFIG_UPDATE_TIMEOUT "N" volume_exists_1 $V1