From 500f9c4c4294e440895f8d6cc9238734cc152cbd Mon Sep 17 00:00:00 2001 From: Alexander Indenbaum Date: Tue, 4 Feb 2025 23:36:49 +0000 Subject: [PATCH] cluster.py: cluster pool test Signed-off-by: Alexander Indenbaum --- .github/workflows/build-container.yml | 4 +- tests/ceph-nvmeof.cluster_pool.conf | 97 +++++++++++++++++++++++++++ tests/ha/cluster_pool.sh | 1 + tests/ha/start_up_cluster_pool.sh | 13 ++++ 4 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 tests/ceph-nvmeof.cluster_pool.conf create mode 120000 tests/ha/cluster_pool.sh create mode 100755 tests/ha/start_up_cluster_pool.sh diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml index 8e088927..d9e10602 100644 --- a/.github/workflows/build-container.yml +++ b/.github/workflows/build-container.yml @@ -553,7 +553,7 @@ jobs: strategy: fail-fast: false matrix: - test: ["sanity", "no_huge", "ns_lb_change", "no_subsystems", "auto_load_balance", "state_transitions", "state_transitions_both_gws", "state_transitions_loop", "state_transitions_rand_loop", "late_registration", "late_registration_loop", "4gws", "4gws_loop", "4gws_create_delete", "4gws_create_delete_loop", "namespaces", "namespaces_loop", "mtls", "notify", "ceph_status", "blocklist", "main_exit"] + test: ["sanity", "no_huge", "ns_lb_change", "no_subsystems", "auto_load_balance", "state_transitions", "state_transitions_both_gws", "state_transitions_loop", "state_transitions_rand_loop", "late_registration", "late_registration_loop", "4gws", "4gws_loop", "4gws_create_delete", "4gws_create_delete_loop", "namespaces", "namespaces_loop", "mtls", "notify", "ceph_status", "blocklist", "main_exit", "cluster_pool"] runs-on: ubuntu-latest env: HUGEPAGES: 1024 # 4 spdk instances @@ -868,4 +868,4 @@ jobs: if: success() || failure() run: | make down - make clean \ No newline at end of file + make clean diff --git a/tests/ceph-nvmeof.cluster_pool.conf b/tests/ceph-nvmeof.cluster_pool.conf new file mode 100644 index 00000000..e1640717 --- /dev/null +++ b/tests/ceph-nvmeof.cluster_pool.conf @@ -0,0 +1,97 @@ +# +# Copyright (c) 2021 International Business Machines +# All rights reserved. +# +# SPDX-License-Identifier: LGPL-3.0-or-later +# +# Authors: anita.shekar@ibm.com, sandy.kaur@ibm.com +# + +[gateway] +name = +group = +addr = 0.0.0.0 +port = 5500 +enable_auth = False +state_update_notify = True +state_update_timeout_in_msec = 2000 +state_update_interval_sec = 5 +enable_spdk_discovery_controller = False +encryption_key = /etc/ceph/encryption.key +rebalance_period_sec = 7 +max_gws_in_grp = 16 +max_ns_to_change_lb_grp = 8 +#omap_file_lock_duration = 20 +#omap_file_lock_retries = 30 +#omap_file_lock_retry_sleep_interval = 1.0 +#omap_file_update_reloads = 10 +#enable_prometheus_exporter = True +#prometheus_exporter_ssl = True +#prometheus_port = 10008 +#prometheus_bdev_pools = rbd +#prometheus_stats_interval = 10 +#verify_nqns = True +#verify_keys = True +#verify_listener_ip = True +#allowed_consecutive_spdk_ping_failures = 1 +#spdk_ping_interval_in_seconds = 2.0 +#max_hosts_per_namespace = 8 +#max_namespaces_with_netmask = 1000 +#max_subsystems = 128 +#max_hosts = 2048 +#max_namespaces = 1024 +#max_namespaces_per_subsystem = 256 +#max_hosts_per_subsystem = 32 + +[gateway-logs] +log_level=debug +#log_files_enabled = True +#log_files_rotation_enabled = True +#verbose_log_messages = True +#max_log_file_size_in_mb=10 +#max_log_files_count=20 +#max_log_directory_backups=10 +# +# Notice that if you change the log directory the log files will only be visible inside the container +# +#log_directory = /var/log/ceph/ + +[discovery] +addr = 0.0.0.0 +port = 8009 + +[ceph] +pool = rbd +config_file = /etc/ceph/ceph.conf + +[mtls] +server_key = ./server.key +client_key = ./client.key +server_cert = ./server.crt +client_cert = ./client.crt + +[spdk] +cluster_pool_size = 32 +tgt_path = /usr/local/bin/nvmf_tgt +#rpc_socket_dir = /var/tmp/ +#rpc_socket_name = spdk.sock +#tgt_cmd_extra_args = --env-context="--no-huge -m1024" --iova-mode=va +timeout = 60.0 +#log_level = +#protocol_log_level = WARNING +#log_file_dir = + +# Example value: -m 0x3 -L all +# tgt_cmd_extra_args = + +# transports = tcp + +# Example value: {"max_queue_depth" : 16, "max_io_size" : 4194304, "io_unit_size" : 1048576, "zcopy" : false} +transport_tcp_options = {"in_capsule_data_size" : 8192, "max_io_qpairs_per_ctrlr" : 7} + +# Example value: {"small_pool_count" : 8192, "large_pool_count" : 1024, "small_bufsize" : 8192, "large_bufsize" : 135168} +# iobuf_options = + +[monitor] +#timeout = 1.0 +#log_file_dir = diff --git a/tests/ha/cluster_pool.sh b/tests/ha/cluster_pool.sh new file mode 120000 index 00000000..d4dc3848 --- /dev/null +++ b/tests/ha/cluster_pool.sh @@ -0,0 +1 @@ +sanity.sh \ No newline at end of file diff --git a/tests/ha/start_up_cluster_pool.sh b/tests/ha/start_up_cluster_pool.sh new file mode 100755 index 00000000..0efdb8dd --- /dev/null +++ b/tests/ha/start_up_cluster_pool.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +set -ex + +# Check if GITHUB_WORKSPACE is defined +if [ -n "$GITHUB_WORKSPACE" ]; then + test_dir="$GITHUB_WORKSPACE/tests/ha" +else + test_dir=$(dirname $0) +fi + +export NVMEOF_CONFIG=./tests/ceph-nvmeof.cluster_pool.conf +$test_dir/start_up.sh