ZBDBench #46
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Workflow for triggering internal test suite | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 22 * * sat' | |
name: ZBDBench | |
jobs: | |
zbdbench: | |
runs-on: nvme-zns | |
timeout-minutes: 1440 | |
steps: | |
- name: Clean | |
run: rm -rf ${GITHUB_WORKSPACE}/* | |
- name: Checkout zbdbench | |
uses: actions/checkout@v4 | |
with: | |
repository: westerndigitalcorporation/zbdbench | |
ref: v0.1.1 | |
path: zbdbench | |
- name: Checkout rocksdb | |
uses: actions/checkout@v4 | |
with: | |
repository: facebook/rocksdb | |
ref: v7.0.2 | |
path: rocksdb | |
- name: Checkout zenfs | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
path: rocksdb/plugin/zenfs | |
- name: Build RocksDB docker image | |
run: | | |
podman build --jobs=$(nproc) --cgroup-manager cgroupfs \ | |
-t rocksdb-zenfs \ | |
-f rocksdb/plugin/zenfs/.github/workflows/containerfiles/Dockerfile.rocksdb-zenfs \ | |
--build-arg LIBZBD_GIT_CHECKOUT=v2.0.2 \ | |
--build-arg ROCKSDB_DEBUG_LEVEL=0 \ | |
. | |
- name: Set mq-deadline scheduler for the ZBD | |
run: | | |
echo deadline > /sys/block/${ZBD0}/queue/scheduler | |
- name: Run ZBDBench | |
run: | | |
podman run --rm -i --device /dev/${ZBD0} \ | |
--volume ./zbdbench:/rocks/dest/zbdbench:Z \ | |
--security-opt unmask=/sys/dev/block \ | |
rocksdb-zenfs \ | |
python3 /rocks/dest/zbdbench/run.py -c system \ | |
-b rocksdb_fillprep rocksdb_overwrite rocksdb_readwhilewriting \ | |
-d /dev/${ZBD0} | |
- name: Archive ZBDBench test results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zbdbench-rocksdb | |
path: ./zbdbench/zbdbench_results | |
if: always() | |
- name: Remove images | |
run: podman rmi --force --all | |
if: always() |