Skip to content

Add tests for single s3 store configurations#2384

Open
raaizik wants to merge 1 commit intoRamenDR:mainfrom
raaizik:ra-add-single-s3-store-tests
Open

Add tests for single s3 store configurations#2384
raaizik wants to merge 1 commit intoRamenDR:mainfrom
raaizik:ra-add-single-s3-store-tests

Conversation

@raaizik
Copy link
Copy Markdown
Member

@raaizik raaizik commented Jan 15, 2026

Enables single S3 store testing and prevents CI timeouts through resource grouping.

  • Add Group field to Test struct for selective test execution
  • Refactor TestDR with extracted helpers to reduce complexity
  • Use group filtering

@raaizik raaizik force-pushed the ra-add-single-s3-store-tests branch 6 times, most recently from 4fee07d to f156b4e Compare January 15, 2026 15:12
@raaizik raaizik closed this Jan 15, 2026
@raaizik raaizik force-pushed the ra-add-single-s3-store-tests branch from f156b4e to 82c9702 Compare January 15, 2026 15:27
@raaizik raaizik reopened this Jan 15, 2026
@raaizik raaizik force-pushed the ra-add-single-s3-store-tests branch 4 times, most recently from 1b7ce20 to cc0a0e4 Compare January 22, 2026 14:29
Enables single S3 store testing and prevents CI timeouts through resource grouping.

- Add Group field to Test struct for selective test execution
- Refactor TestDR with extracted helpers to reduce complexity
- Use group filtering

Signed-off-by: raaizik <132667934+raaizik@users.noreply.github.com>
@raaizik raaizik force-pushed the ra-add-single-s3-store-tests branch from cc0a0e4 to ef7fdf0 Compare January 22, 2026 14:37
@raaizik raaizik marked this pull request as ready for review January 27, 2026 15:20
Comment thread e2e/config/config.go
// Group is an optional field to group related tests (e.g., "single-s3-store")
// Tests without a group are run by default in the main TestDR
// Tests with a group can be run selectively by dedicated test functions
Group string `json:"group,omitempty"`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way to group tests is to create another config file with tests you want to run. See config-vm.yaml and config-recipes.yaml in #2207.

If you want to add grouping feature please open an issue and we can discuss it there. This also affects ramenctl, since it need to run the same tests.

// This test runs tests marked with group "single-s3-store" from the configuration.
// It can be used with any configuration file that includes tests with the
// "single-s3-store" group (e.g., test.yaml, test-single-s3-store.yaml).
func TestSingleS3Store(dt *testing.T) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need new test for single s3 store? Why we cannot use the existing dr_test?

This seems to duplicate dr_test, running the same flow.

Please explain what is single s3 store feature, and why it cannot be tested by the current tests.


// TestSingleS3Store tests disaster recovery scenarios with a single S3 store
// located on the hub cluster. This validates that RamenDR correctly handles
// centralized S3 storage for both discovered apps and RBD workloads.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requires environment with single s3 store on the hub - we don't have such configuration. If we create one, the standard dr tests should be able to run with this environment, since the tests do not care about the number and location of the s3 stores. We create resources and trigger dr actions.

s3 configuration comes from ramen configmap, which is part of the environment, not part of the tests.

@nirs
Copy link
Copy Markdown
Member

nirs commented Jan 27, 2026

Note that single s3 store configuration will fail ramenctl validate clusters command. We validate that ramen configmap has at least 2 profiles.
RamenDR/ramenctl#360

I we want to add this feature, we need to allow this in ramenctl. Please open an issue in ramenctl or send a PR to change this.

Do we have any documentation for single s3 store? Is this documented configuration in ODF?

@nirs
Copy link
Copy Markdown
Member

nirs commented Jan 27, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants