kgeisz opened a new pull request, #8714:
URL: https://github.com/apache/hbase/pull/8714

   https://issues.apache.org/jira/browse/HBASE-30437
   
   ## Summary
   
   The changes in the pull request make it so the Read-Replica integration 
tests are run within a Docker container test environment. The Docker container 
environment is build using the Dockerfile at `dev-support/docker/Dockerfile`.  
With this new setup, the user should be able to checkout the HBase repo (or 
this branch) and start the Read-Replica integration tests with: `bash 
dev-support/read-replica/hbase_nightly_read_replica_test.sh`. The goal is for 
this to work both with Jenkins and on a user's local machine. The following is 
done when this script is run:
   
   1. Build a Docker image using `dev-support/docker/Dockerfile`. This will be 
the test environment.
   2. Start the env container, which invokes 
`dev-support/read-replica/run_read_replica_integration_tests.sh`. This script 
then executed the original integration test flow, which includes the following 
steps:
   3. Clone the HBase repo to `dev-support/read-replica` so it can be used to 
build a read-replica image.
   4. Copy protobuf
   5. Create Python env and install dependencies
   6. Compile protobuf
   7. Build hbase-docker image for the HBase Read-Replica container setup
   8. Run the integration tests with `pytest`
   
   ## Change Details
   
   1. Adds `docker`, `docker compose` and `python-venv` to 
`dev-support/docker/Dockerfile`
   2. Adds `run_read_replica_integration_tests.sh`, which runs the integration 
tests. It is meant to be run within the test env container. (This is what 
`hbase_nightly_read_replica_test.sh` was originally doing).
   3. Refactors `hbase_nightly_read_replica_test.sh` to build a test 
environment Docker image using `dev-support/docker/Dockerfile`. After, it calls 
`run_read_replica_integration_tests.sh`. 
   4. Adds a `-d|--dev` option to `hbase_nightly_read_replica_test.sh`. With 
this, the image is built and the container is run, but 
`run_read_replica_integration_tests.sh` is not executed. This allows the user 
to explore the container and/or run `run_read_replica_integration_tests.sh` 
multiple times or in specific ways.
   5. Adds `-k` option to both `run_read_replica_integration_tests.sh` and 
`hbase_nightly_read_replica_test.sh`. With this, users can run specific tests 
in a `pytest` style. (See [pytest 
docs](https://docs.pytest.org/en/stable/example/markers.html#using-k-expr-to-select-tests-based-on-their-name)).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to