4 # rbd_consistency_groups.sh - test consistency groups cli commands
15 rbd group create
$group_name
26 list_groups |
grep $group_name
33 rbd group remove
$group_name
41 rbd group rename
$src_name $dest_name
44 check_group_does_not_exist
()
47 for v
in $
(list_groups
); do
48 if [ "$v" == "$group_name" ]; then
58 rbd create
--size 10M
$image_name
64 rbd remove
$image_name
71 rbd group image add
$group_name $image_name
74 remove_image_from_group
()
78 rbd group image remove
$group_name $image_name
81 check_image_in_group
()
85 for v
in $
(rbd group image list
$group_name); do
86 local vtrimmed
=${v#*/}
87 if [ "$vtrimmed" = "$image_name" ]; then
94 check_image_not_in_group
()
98 for v
in $
(rbd group image list
$group_name); do
99 local vtrimmed
=${v#*/}
100 if [ "$vtrimmed" = "$image_name" ]; then
111 rbd group snap create
$group_name@
$snap_name
118 rbd group snap remove
$group_name@
$snap_name
125 local new_snap_name
=$3
126 rbd group snap rename
$group_name@
$snap_name $new_snap_name
132 rbd group snap list
$group_name
139 rbd group snap rollback
$group_name@
$snap_name
142 check_snapshot_in_group
()
146 list_snapshots
$group_name |
grep $snap_name
149 check_snapshot_not_in_group
()
153 for v
in $
(list_snapshots
$group_name |
awk '{print $1}'); do
154 if [ "$v" = "$snap_name" ]; then
161 echo "TEST: create remove consistency group"
162 group
="test_consistency_group"
163 new_group
="test_new_consistency_group"
165 check_group_exists
$group
166 rename_group
$group $new_group
167 check_group_exists
$new_group
168 remove_group
$new_group
169 check_group_does_not_exist
$new_group
172 echo "TEST: add remove images to consistency group"
174 group
="test_consistency_group"
177 add_image_to_group
$image $group
178 check_image_in_group
$image $group
179 remove_image_from_group
$image $group
180 check_image_not_in_group
$image $group
185 echo "TEST: create remove snapshots of consistency group"
187 group
="test_consistency_group"
189 new_snap
="new_group_snap"
190 sec_snap
="group_snap2"
193 add_image_to_group
$image $group
194 create_snapshot
$group $snap
195 check_snapshot_in_group
$group $snap
196 rename_snapshot
$group $snap $new_snap
197 check_snapshot_not_in_group
$group $snap
198 create_snapshot
$group $sec_snap
199 check_snapshot_in_group
$group $sec_snap
200 rollback_snapshot
$group $new_snap
201 remove_snapshot
$group $new_snap
202 check_snapshot_not_in_group
$group $new_snap
203 remove_snapshot
$group $sec_snap
204 check_snapshot_not_in_group
$group $sec_snap