xline-kv / Xline

A geo-distributed KV store for metadata management
https://xline.cloud
Apache License 2.0
565 stars 71 forks source link

Refactor: Test Framework and Update Docker Compose Configuration #701

Open rohansx opened 3 months ago

rohansx commented 3 months ago

Key Changes:

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

rohansx commented 3 months ago

@Phoenix500526 Pleaase review this PR and let me know the changes and then I'll proceed with the documentation

codecov[bot] commented 3 months ago

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 ```diff @@ 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.

rohansx commented 3 months ago

@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.

rohansx commented 3 months ago

@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

Phoenix500526 commented 3 months ago

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.

rohansx commented 3 months ago

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.

Phoenix500526 commented 3 months ago

There are several issues in this pr:

  1. please add a signed-off-by information in your commits.
  2. please format the commit message. The commit message "[200~Refactor Test Framework and Update..." is invalid.
  3. The validation CI is still not pass. It seems the relevant container created by docker-compose named "ci-client-1", not client.
rohansx commented 3 months ago

@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 commented 3 months ago

@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:

  1. 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, not client. Hence, the validation test will get an error like "No such container named client"
  2. In this pr, you changed the subnet from 172.20.0.0/16 to 172.22.0.0/16, but you forgot to update the ip address in the validation_test.sh.
  3. The original quick_start.sh mounts ./scripts to /mnt and the validation_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 😄

Phoenix500526 commented 2 months ago

Hi, @rohansx ! This pr has been stalled for 3 weeks. Would you like to update it? 😄

rohansx commented 2 months ago

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..

Phoenix500526 commented 1 month ago

@Mergifyio rebase

mergify[bot] commented 1 month ago

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 ", 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 ```
mergify[bot] commented 1 month ago

@rohansx Your PR is in conflict and cannot be merged.