Files
lkuchlan ec9aee2d77 Add concurrency tests for Cinder operations
This patch introduces parallel resource creation and volume attach
scenarios using Python's multiprocessing module. It enables testing
concurrent operations on volumes and snapshots including
attaching multiple volumes to a single server.

Two new configuration options were added:
- `concurrency_tests`: Enables or disables concurrency test execution
- `concurrent_resource_count`: Number of resources to create concurrently

Additionally, a new CI job was added:
cinder-tempest-plugin-lvm-concurrency-tests, which is configured to:
- Run the concurrency tests in serial (tempest_concurrency: 1)
- Avoid hitting environment resource limits by limiting the number
  of simultaneously running tests
- Isolate concurrency logic validation from unrelated Tempest tests

Signed-off-by: Liron Kuchlani <lkuchlan@redhat.com>
Change-Id: Iebbee32966fe91f8a586cdb84e02981101a91968
2025-07-07 12:35:20 +00:00

56 lines
2.2 KiB
Python

# Copyright 2016
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_config import cfg
cinder_option = [
cfg.BoolOpt('consistency_group',
default=False,
help='Enable to run Cinder volume consistency group tests'),
cfg.BoolOpt('volume_revert',
default=False,
help='Enable to run Cinder volume revert tests'),
cfg.BoolOpt('volume_image_dep_tests',
default=True,
help='Run tests for dependencies between images and volumes',
deprecated_for_removal=True,
deprecated_reason='Dependency test config setting '
'`volume_image_dep_tests` '
'in cinder-tempest-plugin is deprecated.Alternatively '
'`CONF.volume_feature_enabled.enable_volume_image_dep_tests` '
'can be used for dependency tests.'),
cfg.BoolOpt('concurrency_tests',
default=False,
help='Enable or disable running concurrency tests.'),
]
# The barbican service is discovered by config_tempest [1], and will appear
# in the [service_available] group in tempest.conf. However, the 'barbican'
# option isn't registered by tempest itself, and so we may need to do it.
# This adds the ability to test CONF.service_available.barbican.
#
# [1] I96800a95f844ce7675d266e456e01620e63e347a
barbican_service_option = [
cfg.BoolOpt('barbican',
default=False,
help="Whether or not barbican is expected to be available"),
]
concurrency_option = [
cfg.IntOpt('concurrent_resource_count',
default=5,
help='Number of resources to create concurrently.'),
]