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

Federation V1 test setup #4125

Merged
merged 17 commits into from
Jul 15, 2024
Merged

Federation V1 test setup #4125

merged 17 commits into from
Jul 15, 2024

Conversation

pcapriotti
Copy link
Contributor

@pcapriotti pcapriotti commented Jul 5, 2024

This sets up a federation-v1 backend in docker-compose and turns some of the federation tests into API compatibility tests. We ran into issues when trying to run testRemoteUserGetsDeleted on the legacy environments, for different reasons:

  • open federation is broken in fed v0
  • the refresh interval in fed v1 is too high.
    So for the time being that test is not used to test API compatibility.

This PR also changes the default behaviour of the docker compose script. Now the federation-v0 (resp. the new federation-v1 backend) is not started unless the variable ENABLE_FEDERATION_V0 (resp. ENABLE_FEDERATION_V1) is set to 1. The script can now also take optional arguments, which are passed directly to docker-compose.

https://wearezeta.atlassian.net/browse/WPB-9001

Checklist

  • Add a new entry in an appropriate subdirectory of changelog.d
  • Read and follow the PR guidelines

@echoes-hq echoes-hq bot added echoes: technical-roadmap/throughput More specific category, to highlight task aiming at improving the development velocity and effici... echoes: technical-roadmap/technical-debt More specific category, to highlight Technical Debt being tackled. labels Jul 5, 2024
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Jul 5, 2024
@pcapriotti pcapriotti marked this pull request as ready for review July 12, 2024 07:50
@pcapriotti pcapriotti force-pushed the pcapriotti/federation-v1 branch from e7b361b to aac0418 Compare July 12, 2024 08:55
@pcapriotti pcapriotti force-pushed the pcapriotti/federation-v1 branch from 0d7c858 to e1bc929 Compare July 15, 2024 09:14
@pcapriotti pcapriotti force-pushed the pcapriotti/federation-v1 branch from e1bc929 to 4b6e4f8 Compare July 15, 2024 09:28
Copy link
Contributor

@elland elland left a comment

Choose a reason for hiding this comment

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

🚀

@pcapriotti pcapriotti merged commit 006785a into develop Jul 15, 2024
10 checks passed
@pcapriotti pcapriotti deleted the pcapriotti/federation-v1 branch July 15, 2024 12:14
@dm17
Copy link

dm17 commented Aug 4, 2024

It is great to see recent this progress towards this federation plan! It would be an absolute boon since:
-- it is easy for anyone to install via their app store / F-DROID (its there!)
-- it would be easy to enable "add servers" in the client
-- anyone can connect via the official servers and then send each other private (federated) servers (via wire) to join
-- actually is E2EE on linux desktop unlike telegram (https://tdesktop.fail/)

This makes the flow / management easy for expert users who want to self-host wire, and no harder than any other messenger app to then get users onto their federated server!

stefanwire added a commit that referenced this pull request Sep 12, 2024
* Initial v1 docker-compose setup

* Update service configuration in federation-v1

* Improve run script

* Rename federation-v0 and federation-v1 services

* Make federation-v* optional

* Allow PTest to use IO

* Introduce VersionedFed

* Setup federation-v1 in integration tests

* Fix coredns network

* Use legacy backends in some of the tests

* Fix background worker config in fed-v1

* federation-v0 and -v1 configuration for integration tests

* fix linter

* fix Helm chart for integration tests

* Add CHANGELOG entry

* Enable debug log level for federator

* Disable one of the tests on legacy backends

---------

Co-authored-by: Stefan Berthold <[email protected]>
stefanwire added a commit that referenced this pull request Sep 12, 2024
* Initial v1 docker-compose setup

* Update service configuration in federation-v1

* Improve run script

* Rename federation-v0 and federation-v1 services

* Make federation-v* optional

* Allow PTest to use IO

* Introduce VersionedFed

* Setup federation-v1 in integration tests

* Fix coredns network

* Use legacy backends in some of the tests

* Fix background worker config in fed-v1

* federation-v0 and -v1 configuration for integration tests

* fix linter

* fix Helm chart for integration tests

* Add CHANGELOG entry

* Enable debug log level for federator

* Disable one of the tests on legacy backends

---------

Co-authored-by: Stefan Berthold <[email protected]>
stefanwire added a commit that referenced this pull request Sep 12, 2024
* Initial v1 docker-compose setup

* Update service configuration in federation-v1

* Improve run script

* Rename federation-v0 and federation-v1 services

* Make federation-v* optional

* Allow PTest to use IO

* Introduce VersionedFed

* Setup federation-v1 in integration tests

* Fix coredns network

* Use legacy backends in some of the tests

* Fix background worker config in fed-v1

* federation-v0 and -v1 configuration for integration tests

* fix linter

* fix Helm chart for integration tests

* Add CHANGELOG entry

* Enable debug log level for federator

* Disable one of the tests on legacy backends

---------

Co-authored-by: Stefan Berthold <[email protected]>
stefanwire added a commit that referenced this pull request Sep 12, 2024
* Initial v1 docker-compose setup

* Update service configuration in federation-v1

* Improve run script

* Rename federation-v0 and federation-v1 services

* Make federation-v* optional

* Allow PTest to use IO

* Introduce VersionedFed

* Setup federation-v1 in integration tests

* Fix coredns network

* Use legacy backends in some of the tests

* Fix background worker config in fed-v1

* federation-v0 and -v1 configuration for integration tests

* fix linter

* fix Helm chart for integration tests

* Add CHANGELOG entry

* Enable debug log level for federator

* Disable one of the tests on legacy backends

---------

Co-authored-by: Stefan Berthold <[email protected]>
stefanwire added a commit that referenced this pull request Sep 12, 2024
* Initial v1 docker-compose setup

* Update service configuration in federation-v1

* Improve run script

* Rename federation-v0 and federation-v1 services

* Make federation-v* optional

* Allow PTest to use IO

* Introduce VersionedFed

* Setup federation-v1 in integration tests

* Fix coredns network

* Use legacy backends in some of the tests

* Fix background worker config in fed-v1

* federation-v0 and -v1 configuration for integration tests

* fix linter

* fix Helm chart for integration tests

* Add CHANGELOG entry

* Enable debug log level for federator

* Disable one of the tests on legacy backends

---------

Co-authored-by: Stefan Berthold <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
echoes: technical-roadmap/technical-debt More specific category, to highlight Technical Debt being tackled. echoes: technical-roadmap/throughput More specific category, to highlight task aiming at improving the development velocity and effici... ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants