diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 683c1d58..015de52d 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -64,546 +64,6 @@ jobs: # leak sanitizer sometimes crashes - run: cd /root/vitastor/build && ASAN_OPTIONS=detect_leaks=0 make -j16 test - test_add_osd: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: /root/vitastor/tests/test_add_osd.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_cas: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_cas.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_change_pg_count: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_change_pg_count.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_change_pg_count_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=ec /root/vitastor/tests/test_change_pg_count.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_change_pg_size: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_change_pg_size.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_create_nomaxid: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_create_nomaxid.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_etcd_fail: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: /root/vitastor/tests/test_etcd_fail.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_interrupted_rebalance: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: /root/vitastor/tests/test_interrupted_rebalance.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_interrupted_rebalance_imm: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: IMMEDIATE_COMMIT=1 /root/vitastor/tests/test_interrupted_rebalance.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_interrupted_rebalance_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: SCHEME=ec /root/vitastor/tests/test_interrupted_rebalance.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_interrupted_rebalance_ec_imm: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: SCHEME=ec IMMEDIATE_COMMIT=1 /root/vitastor/tests/test_interrupted_rebalance.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_failure_domain: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_failure_domain.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_snapshot.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=ec /root/vitastor/tests/test_snapshot.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_minsize_1: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_minsize_1.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_move_reappear: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_move_reappear.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_rm: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_rm.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot_chain: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_snapshot_chain.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot_chain_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 6 - run: SCHEME=ec /root/vitastor/tests/test_snapshot_chain.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot_down: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_snapshot_down.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_snapshot_down_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=ec /root/vitastor/tests/test_snapshot_down.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_splitbrain: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_splitbrain.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_rebalance_verify: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: /root/vitastor/tests/test_rebalance_verify.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_rebalance_verify_imm: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: IMMEDIATE_COMMIT=1 /root/vitastor/tests/test_rebalance_verify.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_rebalance_verify_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: SCHEME=ec /root/vitastor/tests/test_rebalance_verify.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_rebalance_verify_ec_imm: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 10 - run: SCHEME=ec IMMEDIATE_COMMIT=1 /root/vitastor/tests/test_rebalance_verify.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_switch_primary: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_switch_primary.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_write: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_write.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_write_xor: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=xor /root/vitastor/tests/test_write.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_write_no_same: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_write_no_same.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - test_heal_pg_size_2: runs-on: ubuntu-latest needs: build @@ -611,7 +71,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: PG_SIZE=2 /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -629,7 +89,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: SCHEME=ec /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -647,7 +107,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_32k_dmj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -665,7 +125,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_32k_dj OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -683,7 +143,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_32k OSD_ARGS="--data_csum_type crc32c --csum_block_size 32k" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -701,7 +161,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_4k_dmj OSD_ARGS="--data_csum_type crc32c --inmemory_metadata false --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -719,7 +179,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_4k_dj OSD_ARGS="--data_csum_type crc32c --inmemory_journal false" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -737,7 +197,7 @@ jobs: steps: - name: Run test id: test - timeout-minutes: 10 + timeout-minutes: 1000 run: TEST_NAME=csum_4k OSD_ARGS="--data_csum_type crc32c" OFFSET_ARGS=$OSD_ARGS /root/vitastor/tests/test_heal.sh - name: Print logs if: always() && steps.test.outcome == 'failure' @@ -747,112 +207,3 @@ jobs: cat $i echo "" done - - test_scrub: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_scrub_zero_osd_2: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: ZERO_OSD=2 /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_scrub_xor: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=xor /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_scrub_pg_size_3: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: PG_SIZE=3 /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: PG_SIZE=6 PG_MINSIZE=4 OSD_COUNT=6 SCHEME=ec /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - - test_scrub_ec: - runs-on: ubuntu-latest - needs: build - container: ${{env.TEST_IMAGE}}:${{github.sha}} - steps: - - name: Run test - id: test - timeout-minutes: 3 - run: SCHEME=ec /root/vitastor/tests/test_scrub.sh - - name: Print logs - if: always() && steps.test.outcome == 'failure' - run: | - for i in /root/vitastor/testdata/*.log /root/vitastor/testdata/*.txt; do - echo "-------- $i --------" - cat $i - echo "" - done - diff --git a/tests/test_heal.sh b/tests/test_heal.sh index e4354629..44e7c855 100755 --- a/tests/test_heal.sh +++ b/tests/test_heal.sh @@ -60,6 +60,7 @@ qemu-img convert -S 4096 -p \ -O raw ./testdata/read.bin if ! diff -q ./testdata/read.bin ./testdata/mirror.bin; then + sleep 100000 format_error Data lost during self-heal fi