Dev: utils: Check node is reachable by using both ping and ssh #4398
Workflow file for this run
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
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
# For more information about secrets see: https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets | |
name: crmsh CI | |
on: | |
- pull_request | |
- workflow_call | |
env: | |
DOCKER_SCRIPT: ./test/run-functional-tests | |
GET_INDEX_OF: ./test/run-functional-tests _get_index_of | |
jobs: | |
general_check: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: check data-manifest | |
run: | | |
./update-data-manifest.sh | |
output=`git --no-pager diff data-manifest` | |
[[ -z $output ]] || { | |
echo "$output" | |
echo "A new version of data-manifest is needed." | |
echo "Please run ./update-data-manifest.sh && git add ./data-manifest in your local environment and push the code again." | |
exit 1 | |
} | |
unit_test: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
python-version: ['3.11', '3.12'] | |
fail-fast: false | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install tox | |
- name: Test with pytest in tox | |
run: | | |
tox -v -e${{ matrix.python-version }} | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: unit | |
functional_test_crm_report_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm_report bugs | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF crm_report_bugs` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_crm_report_normal: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm_report normal | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF crm_report_normal` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap bugs | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_bugs` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_bugs_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap bugs, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_bugs` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_common: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap common | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_init_join_remove` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_common_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap common, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_init_join_remove` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_options: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap options | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_options` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_corosync_ui: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for crm corosync subcommand | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF corosync_ui` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_bootstrap_options_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for bootstrap options, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF bootstrap_options` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_setup_remove: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice setup and remove | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_setup_remove` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_setup_remove_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice setup and remove, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_setup_remove` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_options: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice options | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_options` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_validate: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice validate | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_validate` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_validate_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice validate, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_validate` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_qdevice_user_case: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for qdevice user case | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF qdevice_usercase` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_failcount: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource failcount | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF resource_failcount` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_set: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource set | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF resource_set` | |
$DOCKER_SCRIPT $index | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_resource_set_non_root: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for resource set, under non root user | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF resource_set` | |
$DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_configure_sublevel: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for configure sublevel bugs | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF configure_bugs` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_constraints_bugs: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for constraints bugs | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF constraints_bugs` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_geo_cluster: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for geo cluster | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF geo_setup` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_healthcheck: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for healthcheck | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
index=`$GET_INDEX_OF healthcheck` | |
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_cluster_api: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for cluster api | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
$DOCKER_SCRIPT `$GET_INDEX_OF cluster_api` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_user_access: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for user access | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
$DOCKER_SCRIPT `$GET_INDEX_OF user_access` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_ssh_agent: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for ssh agent | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
$DOCKER_SCRIPT `$GET_INDEX_OF ssh_agent` && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT -u `$GET_INDEX_OF ssh_agent` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
functional_test_blocking_ssh: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: functional test for blocking ssh | |
run: | | |
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json | |
sudo systemctl restart docker.service | |
$DOCKER_SCRIPT `$GET_INDEX_OF cluster_blocking_ssh` | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: integration | |
original_regression_test: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: original regression test | |
run: | | |
$DOCKER_SCRIPT `$GET_INDEX_OF "regression test"` |