Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCT - siren-tests integration for 1-to-1 restore testing #4116

Open
mikliapko opened this issue Nov 18, 2024 · 9 comments
Open

SCT - siren-tests integration for 1-to-1 restore testing #4116

mikliapko opened this issue Nov 18, 2024 · 9 comments
Assignees
Labels
qa should be used for qa team testing tasks
Milestone

Comments

@mikliapko mikliapko added the qa should be used for qa team testing tasks label Nov 18, 2024
@mikliapko mikliapko self-assigned this Nov 18, 2024
@mikliapko
Copy link
Author

@karol-kokoszka
How important for these tests is to have initial cluster created via siren? Does it matter?

If not, we can considere an option to create initial cluster via SCT that, at first glance, may simplify things significantly.

@karol-kokoszka
Copy link
Collaborator

How important for these tests is to have initial cluster created via siren? Does it matter?

@mikliapko Yes, it matters. We must have possibility of doing complete e2e. Starting with Siren.

@mikliapko
Copy link
Author

@mikliapko Yes, it matters. We must have possibility of doing complete e2e. Starting with Siren.

@karol-kokoszka
Yeah, we will definitely need to have such E2E scenario.

I'm just wondering how significant it is for 1-to-1 restore? If 1-to-1 restore fully relies on backup manifest, can it be any potential differences in restore behavior for cluster created in Cloud and in SCT, for example?

@karol-kokoszka
Copy link
Collaborator

I'm just wondering how significant it is for 1-to-1 restore? If 1-to-1 restore fully relies on backup manifest, can it be any potential differences in restore behavior for cluster created in Cloud and in SCT, for example?

No, we don't expect differences here.

But how do you want to test the full flow then ?
Cluster built on SCT won't test siren part.

I want to avoid the situation when we have the green light for manager's 1-1 restore, siren cluster preparation, but integration is missing.
For e2e would prefer to not "mock" anything (siren for example') with other tools.
Maybe SCT is not an option, or it introduces much of complication, then let's figure out how to use QA tools designed for cloud so that 1-1 restore is tested against the overall time (siren + sm), corectness of data restoration.

@mikliapko mikliapko changed the title SCT - siren-tests integration SCT - siren-tests integration for 1-to-1 restore testing Nov 19, 2024
@mikliapko
Copy link
Author

But how do you want to test the full flow then ? Cluster built on SCT won't test siren part.

I want to avoid the situation when we have the green light for manager's 1-1 restore, siren cluster preparation, but integration is missing. For e2e would prefer to not "mock" anything (siren for example') with other tools. Maybe SCT is not an option, or it introduces much of complication, then let's figure out how to use QA tools designed for cloud so that 1-1 restore is tested against the overall time (siren + sm), corectness of data restoration.

I got your point.

The thing is the number of potential cases we'd like to verify (including negative cases) might be quite big.

AFAIK, siren-tests doesn't provide such flexibility in terms of cluster creation (number of nodes, single/multi DC, specific Scylla version) as SCT. I'm also concerned about the test duration. In SCT it can be a way faster I believe.
I might be wrong here, of course.
@ilya-rarov could you please help us with that?

We may think about separating all the tests into several groups:

  • E2E tests (the whole test is done via siren)
  • some functional tests with cluster created in SCT

It's only the ideas for now, just trying to collect more data and details.

@karol-kokoszka
Copy link
Collaborator

We may think about separating all the tests into several groups:

E2E tests (the whole test is done via siren)
some functional tests with cluster created in SCT
It's only the ideas for now, just trying to collect more data and details.

We need to validate the full flow in one shot that includes siren + sm + data verification.

@mikliapko
Copy link
Author

Actually, yeah, there is one more option to not utilize SCT at all, bring the missing parts (like C-S read/write) into siren-tests and perform the whole testing under the siren-tests repository.

@karol-kokoszka
Copy link
Collaborator

Actually, yeah, there is one more option to not utilize SCT at all, bring the missing parts (like C-S read/write) into siren-tests and perform the whole testing under the siren-tests repository.

SCT has a long history in Scylla. It creates very nice output, easy to debug.
Metrics are persisted.
Siren-tests should support it too, to have possibility of comparing the efficiency across different runs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
qa should be used for qa team testing tasks
Projects
None yet
Development

No branches or pull requests

2 participants