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

Sync fork #4

Merged
merged 38 commits into from
Apr 20, 2021
Merged

Sync fork #4

merged 38 commits into from
Apr 20, 2021

Conversation

amrutha-shanbhag
Copy link

No description provided.

Augusto F. Hack and others added 30 commits March 23, 2021 16:26
This simplifies the fixtures, so it is easier to add a flag to pytest
to use an process started without the fixtures.
Adds CLI options to configure test fixtures for using external services.
Previously this was done with environment variables, the advantage of
the flags is that `pytest --help tests` will show the options, and that
now there is a bit of validation to allow all test to run.
test_remote_client would leave a subject in a dirty state, if the test
is ran twice in a row with the same kafka cluster it would fail.
test_subscription leaves the subscription group in a dirty state after
the test finishes. When executing the tests against containerized
servers this makes the second ran fail.
tests: fix parallel runs of test_subscription
tests: allow repeated execution of test_remote_client
Fixes test_master_selection so that it can ran in parallel. For it to
work properly random ports, group_ids, and client_ids are used to
prevent conflicts.
When executing tests with a Kafka broker in a docker container it takes
some additional time for the Rest/Registry servers to synchronize, that
caused flakiness.

The flakiness issues were fixed with a polling tool that waits until the
new topic is seen.
when executing tests against container services it takes a bit more of
time for the services to synchronize. This adds polling for APIs calls
that would may fail on the first try because of these timming issues.
Fix test master selection and tests with timings issues for topics
30 seconds is not sufficient is some cases to run zookeeper and kafka on
github workflows, this is causing flakiness:

Here is an example of a flakiness:

2021-03-24T09:18:02.7723927Z tests/integration/test_client.py::test_remote_client[pyloop]
2021-03-24T09:18:02.7743108Z filelock MainThread INFO Lock 140042435949008 acquired
2021-03-24T09:18:20.8720742Z filelock MainThread INFO Lock 140401743256016 released
...
2021-03-24T09:18:32.7708050Z Timeout

It took 18secs to start the servers, and the additional 12secs was not
sufficient for the two karapace servers started by `registry_async_pair`
to finish starting.
tests: cosmetic change, consistently using new_random_name
Configuring the logging in the base class constructor interferes with
the testing runner configuration, it effectively overwrites pytest's
configuration making the flag `--log-cli-level` unusable.
it should be 40403 and not 40401
This removes the coupling from the backup test and the registry_async
fixture, allowing the use of an external registry without breaking the
test.
Otherwise the services will join the existing group and the tests may
fail if the services started by the fixtures can not communicate with
the external services.
…istry

tests: dont run rest/registry if external services are used
tvainika and others added 8 commits March 30, 2021 10:52
Documentation for compatibility modes
Having the schemas in a separate file allows both unit and integration
tests to use them.
this change is cosmetic, it is streamlining the unit tests for the
jsonschema to make them regular and easier to scan trough
It is possible to generate empty backup files, this should not be
treated as an error.
…an-error

schema_backup: do not treat empty files as an error

#199
@amrutha-shanbhag amrutha-shanbhag merged commit c7cf56f into instaclustr:master Apr 20, 2021
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.

4 participants