Comments (7)
The first step is to switch alternator suite type from Run to Python.
I think as far as this issue is concerned, it should be the only step, and it should be trivial to do - exactly like test/cql-pytest no longer uses test/cql-pytest/run (which run all of Alternator's tests) and instead starts Scylla using test.py's builtin Scylla-starter and runs pytest separately on each test file.
If I understand correctly (see your commit 1955f91) all it takes to complete this issue is a patch like this:
--- a/test/alternator/suite.yaml
+++ b/test/alternator/suite.yaml
@@ -1 +1,2 @@
-type: Run
+type: Python
+pool_size: 4
Basically right after such a change, test.py will start running test/alternator test files correctly with its correct conftest.py and everything, and everything should work. Let me know if I'm missing anything.
from scylladb.
These changes will be not enough. pytest_adoption() should be changed and at least alternator should be moved to conftest, since currently, it started from the run that will be skipped with the aforementioned changes. I expected there would be more things to fix, but hope not too much.
from scylladb.
Draft PR added #18442 however two tests fail and run can not be used. WIP
from scylladb.
Please note that not only must test/alternator/run remain usable, also 'cd alternator; pytest' must continue working (that's also how one runs tests against AWS). I think you shouldn't need to modify test/alternator/conftest.py at all.
from scylladb.
it's not possible to migrate to the Python suite without modifying conftest. Python suite starting the scylla and we need to provide this information to the test.
what is the point of having run when you can just use pytest to start tests? we need to move logic from run to fixtures and just use pure pytest
from scylladb.
You are oversimplifying the situation and missing much of the power of the Alternator test suite by focusing on the Jenkins-like use case. The Alternator test suite is designed to run against any server which supports the DynamoDB API. This case be any version of Scylla with Alternator enabled running locally, can be Scylla Cloud running remotely and can be Amazon Dynamodb. This is why cd test/alternator; pytest
doesn't run Scylla - it connects to an existing server! It is an external process, be it test/alternator/run or test.py, which needs to start Scylla before running pytest.
Exactly the same thing already happens in the cql-pytest test suite. It too is designed to work against any server supporting CQL (including Cassandra), so it too does not start Scylla - rather test/cql-pytest/run or test.py starts Scylla before running pytest.
What is true, however, is that the cql-pytest and alternator suites would like test.py to start Scylla with slightly different options, eg the Alternator test suite needs Alternator to be enabled. This has two possible solutions in test.py:
- Test.py can run a single-node Scylla using options which will work for both cql-pytest and alternator use cases.
- Test.py can use suite.yaml to decide on suite-specific options to use for Scylla.
I think that option 2 will be better in the long run.
But note that neither option needs any modifications to test/alternator/conftest.py.
from scylladb.
PR #18442 in master
from scylladb.
Related Issues (20)
- docs: in case of majority loss, restore-from-backup is the only remaining option. HOT 3
- topology_experimental_raft/test_tablets is flaky HOT 1
- Docs: Document hard and soft ScyllaDB limits HOT 2
- `raft::request_aborted` gives no information what exactly was aborted HOT 1
- Seamless transition to inter-node encryption HOT 10
- heap-use-after-free in stream_session vs. cleanup_tablet HOT 3
- the baseline of text in monospace is lower than that of text in regular font HOT 1
- table::calculate_tablet_count() can potentially stall with large tablet count HOT 1
- docs: Issue on page ScyllaDB Fails to Start - SSTable Corruption Problem
- docs: Issue on page Replace a Dead Node in a Scylla Cluster HOT 1
- Scylla 5.4 nodetool status inaccurate statistics issue
- Scylla 5.4 nodetool status inaccurate statistics issue
- raft.replication_test.backpressure_drops fail on timeout
- cql: a crash lurking in ks_prop_defs::get_initial_tablets
- [tablets, MV]: `test_changes_while_node_down`: write failures to view metadata tables during node shutdown HOT 4
- docs: Issue on page Backup your Data - need to use Describe Schema with Internals HOT 3
- test_auth_v2_migration flaky due to auth-v1 known inconsistency problem
- Nodetool rebuild failed with 'rebuild failed: streaming failed' with large partitions and partition scans in parallel HOT 3
- docs: Live updateable configuration parameters
- [x86_64, debug] topology_custom/test_mv_topology_change failed with <Task HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scylladb.