mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26:47 +00:00
qa/workunits/fs/damage: update first-damage test for python
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This commit is contained in:
parent
17045abb66
commit
0c8e964be2
@ -2,12 +2,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
FIRST_DAMAGE="first-damage.sh"
|
||||
FIRST_DAMAGE="first-damage.py"
|
||||
FS=cephfs
|
||||
METADATA_POOL=cephfs_meta
|
||||
MOUNT=~/mnt/mnt.0
|
||||
|
||||
function usage {
|
||||
printf '%s: [--fs=<fs_name>] [--metadata-pool=<pool>] [--first-damage=</path/to/first-damage.sh>]\n'
|
||||
printf '%s: [--fs=<fs_name>] [--metadata-pool=<pool>] [--first-damage=</path/to/first-damage.py>]\n'
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -60,15 +61,13 @@ function damage {
|
||||
}
|
||||
|
||||
function recover {
|
||||
# drop client cache -- approx. umount without unmounting for test
|
||||
echo 3 | sudo tee /proc/sys/vm/drop_caches
|
||||
flush
|
||||
ceph fs fail "$FS"
|
||||
sleep 5
|
||||
cephfs-journal-tool --rank="$FS":0 event recover_dentries summary
|
||||
cephfs-journal-tool --rank="$FS":0 journal reset
|
||||
$FIRST_DAMAGE "$METADATA_POOL"
|
||||
$FIRST_DAMAGE --remove "$METADATA_POOL"
|
||||
python3 $FIRST_DAMAGE --memo /tmp/memo1 "$METADATA_POOL"
|
||||
python3 $FIRST_DAMAGE --memo /tmp/memo2 --remove "$METADATA_POOL"
|
||||
ceph fs set "$FS" joinable true
|
||||
}
|
||||
|
||||
@ -98,8 +97,13 @@ function cleanup {
|
||||
rm -rf dir
|
||||
}
|
||||
|
||||
function mount {
|
||||
sudo --preserve-env=CEPH_CONF bin/mount.ceph :/ "$MOUNT" -o name=admin,noshare
|
||||
df -h "$MOUNT"
|
||||
}
|
||||
|
||||
function main {
|
||||
eval set -- $(getopt --name "$0" --options '' --longoptions 'help,fs:,metadata-pool:,first-damage:' -- "$@")
|
||||
eval set -- $(getopt --name "$0" --options '' --longoptions 'help,fs:,metadata-pool:,first-damage:,mount:' -- "$@")
|
||||
|
||||
while [ "$#" -gt 0 ]; do
|
||||
echo "$*"
|
||||
@ -116,6 +120,10 @@ function main {
|
||||
METADATA_POOL="$2"
|
||||
shift 2
|
||||
;;
|
||||
--mount)
|
||||
MOUNT="$2"
|
||||
shift 2
|
||||
;;
|
||||
--first-damage)
|
||||
FIRST_DAMAGE="$2"
|
||||
shift 2
|
||||
@ -130,18 +138,31 @@ function main {
|
||||
esac
|
||||
done
|
||||
|
||||
mount
|
||||
|
||||
pushd "$MOUNT"
|
||||
create
|
||||
popd
|
||||
|
||||
sudo umount -f "$MOUNT"
|
||||
|
||||
# flush dentries/inodes to omap
|
||||
(cd / && flush)
|
||||
flush
|
||||
|
||||
(cd / && damage)
|
||||
damage
|
||||
|
||||
(cd / && recover)
|
||||
recover
|
||||
|
||||
sleep 5 # for mds to join
|
||||
|
||||
mount
|
||||
|
||||
pushd "$MOUNT"
|
||||
check
|
||||
|
||||
cleanup
|
||||
popd
|
||||
|
||||
sudo umount -f "$MOUNT"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
Loading…
Reference in New Issue
Block a user