Skip to content

Commit

Permalink
Dev: behave: add functional tests for pre-migration checks (jsc#PED-1…
Browse files Browse the repository at this point in the history
…1808)

(cherry picked from commit 8e83574)
  • Loading branch information
nicholasyang2022 committed Feb 12, 2025
1 parent 50af7fc commit 9e1b95b
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 6 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/crmsh-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,21 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
flags: integration

functional_test_migration:
runs-on: ubuntu-24.04
timeout-minutes: 40
steps:
- uses: actions/checkout@v4
- name: functional test for migration
run: |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker.service
$CONTAINER_SCRIPT `$GET_INDEX_OF migration` && $CONTAINER_SCRIPT -d && $CONTAINER_SCRIPT -u `$GET_INDEX_OF migration`
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: integration

original_regression_test:
runs-on: ubuntu-24.04
timeout-minutes: 40
Expand Down
4 changes: 2 additions & 2 deletions codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ coverage:
threshold: 0.35%
codecov:
notify:
after_n_builds: 28
after_n_builds: 29
comment:
after_n_builds: 28
after_n_builds: 29
layout: "condensed_header, flags, files, condensed_footer"
1 change: 1 addition & 0 deletions data-manifest
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ test/features/environment.py
test/features/geo_setup.feature
test/features/gfs2.feature
test/features/healthcheck.feature
test/features/migration.feature
test/features/ocfs2.feature
test/features/qdevice_options.feature
test/features/qdevice_setup_remove.feature
Expand Down
29 changes: 29 additions & 0 deletions test/features/migration.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# vim: sw=2 sts=2
Feature: migration

Test migration and pre-migration checks
Need nodes: hanode1 hanode2

Scenario: Run pre-migration checks when cluster services are running.
Given Cluster service is "stopped" on "hanode1"
And Cluster service is "stopped" on "hanode2"
And Run "crm cluster init -y -N hanode2" OK on "hanode1"
When Try "crm cluster health sles16" on "hanode1"
Then Expected return code is "1"
And Expected "[FAIL] Cluster services are running" in stdout

Scenario: Run pre-migration checks with cluster services stopped.
When Run "crm cluster stop --all" on "hanode1"
And Run "crm cluster stop --all" on "hanode2"
And Try "crm cluster health sles16" on "hanode1"
Then Expected return code is "0"

Scenario: Should run fixes.
When Try "crm cluster health sles16 --fix" on "hanode1"
Then Expected return code is "0"

Scenario: Run pre-migration checks when some of the nodes are offline.
When Run "systemctl stop sshd" on "hanode2"
And Try "crm cluster health sles16" on "hanode1"
Then Expected return code is "1"
And Expect stdout contains snippets ["Cannot create SSH connection to", "----- localhost -----", "----- hanode2 -----"].
12 changes: 10 additions & 2 deletions test/features/steps/step_implementation.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import ast
import re
import time
import os
Expand All @@ -18,8 +19,8 @@


def _parse_str(text):
return text[1:-1].encode('utf-8').decode('unicode_escape')
_parse_str.pattern='".*"'
return ast.literal_eval(text)
_parse_str.pattern='"([^"]|\\")*?"'


behave.use_step_matcher("cfparse")
Expand Down Expand Up @@ -170,6 +171,13 @@ def step_impl(context, msg):
context.stderr = None


@then('Expect stdout contains snippets [{snippets:str+}].')
def step_impl(context, snippets):
for snippet in snippets:
assert_in(snippet, context.stdout)
context.stdout = None


@then('Expected regex "{reg_str}" in stdout')
def step_impl(context, reg_str):
res = re.search(reg_str, context.stdout)
Expand Down
2 changes: 0 additions & 2 deletions test/run-functional-tests
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,6 @@ deploy_ha_node() {


create_node() {
info "Loading container image $CONTAINER_IMAGE..."

echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max
info "Create ha specific container networks..."
Expand Down

0 comments on commit 9e1b95b

Please sign in to comment.