Xline
Xline copied to clipboard
Refactor: Test Framework and Update Docker Compose Configuration
Key Changes:
- Created a new
docker-compose.yml
file to manage the Xline cluster configuration, ensuring all services are correctly networked and equipped with the necessary volumes, ports, and environment settings. - Refactored the
validation.sh
script to utilize Docker Compose for starting and stopping services, aligning it with the new docker-compose.yml configuration. This update simplifies the validation process and ensures compatibility with the Docker Compose setup. - Updated the
benchmark.sh
andquick_start.sh
documentation to reflect the new Docker Compose-based approach. This includes instructions on how to use the docker-compose file for setting up a development or testing environment and guidelines for executing validation and benchmark tests.
These changes aim to streamline the project's testing framework, reduce redundancy, and improve the overall developer experience when testing and validating the Xline cluster's functionality.
Resolves: #692
@Phoenix500526 Pleaase review this PR and let me know the changes and then I'll proceed with the documentation
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 75.16%. Comparing base (
eadf2d9
) to head (eaea991
).
Additional details and impacted files
@@ Coverage Diff @@
## master #701 +/- ##
==========================================
- Coverage 75.17% 75.16% -0.02%
==========================================
Files 176 176
Lines 26852 26852
Branches 26852 26852
==========================================
- Hits 20187 20183 -4
- Misses 5452 5454 +2
- Partials 1213 1215 +2
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@liangyuanpeng adjusted port configurations for xLine nodes and added client container for enhanced interaction. @Phoenix500526 updated node2 and node3 ports to avoid special port conflicts and included --client-listen-urls and --peer-listen-urls for clearer networking. Also added a client service for testing and interaction purposes.
@Phoenix500526 I have done the necessary modification as you mentioned above. I updated client container image for CI validation process to ghcr.io/xline-kv/etcdctl:v3.5.9
There are still some problems with the validation CI. Please fix them so that this pr can pass the CI. You can run the validation on your local via executing scripts/validation_test.sh
.
There are still some problems with the validation CI. Please fix them so that this pr can pass the CI. You can run the validation on your local via executing
scripts/validation_test.sh
.
working on this.
There are several issues in this pr:
- please add a signed-off-by information in your commits.
- please format the commit message. The commit message "[200~Refactor Test Framework and Update..." is invalid.
- The validation CI is still not pass. It seems the relevant container created by docker-compose named "ci-client-1", not
client
.
@Phoenix500526 @liangyuanpeng , I am encountering a validation check error, and I have tried to resolve it without success. Could you please explain why this validation check is failing and provide guidance on how I can address the issue?
@Phoenix500526 @liangyuanpeng , I am encountering a validation check error, and I have tried to resolve it without success. Could you please explain why this validation check is failing and provide guidance on how I can address the issue?
I think there are several reasons behind this validation failure:
- The docker-compose will generate a default name for those containers without specifying their container_name. In this case, the name of the client container is
ci-client-1
, notclient
. Hence, the validation test will get an error like "No such container named client" - In this pr, you changed the subnet from
172.20.0.0/16
to172.22.0.0/16
, but you forgot to update the ip address in thevalidation_test.sh
. - The original
quick_start.sh
mounts./scripts
to/mnt
and thevalidation_test.sh
uses the./scripts/validation_lock_client
to do some test stuff.
Finally, please modify our quick start doc to make it unify with the code change in this pr. Thanks 😄
Hi, @rohansx ! This pr has been stalled for 3 weeks. Would you like to update it? 😄
Hi, @rohansx ! This pr has been stalled for 3 weeks. Would you like to update it? 😄
@Phoenix500526 yes I'll update in the next week.. sorry for the delay.. actually kind of looking for a job and got stuck in the interview process and therefore i couldn't look into it..
@Mergifyio rebase
rebase
❌ Base branch update has failed
Git reported the following error:
Rebasing (1/14)
Auto-merging scripts/quick_start.sh
CONFLICT (content): Merge conflict in scripts/quick_start.sh
Auto-merging scripts/validation_test.sh
CONFLICT (content): Merge conflict in scripts/validation_test.sh
error: could not apply ffc737c... ?[200~Refactor Test Framework and Update Docker Compose Configuration
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply ffc737c... [200~Refactor Test Framework and Update Docker Compose Configuration
@rohansx Your PR is in conflict and cannot be merged.