rexray
rexray copied to clipboard
Automated ScaleIO Testing (Offline)
PR codedellemc/libstorage#410
A user can invoke a process or script to automate the testing of ScaleIO. The test will cover the following:
- [x] volume ls
- [x] volume status
- [x] volume create
- [x] volume delete
- [x] volume attach
- [x] volume mount
- [x] volume unmount
- [x] volume detach
- [x] local device mapping
- [x] attachment filters
- [x] docker volume create
- [x] docker volume inspect
- [x] docker volume mount
- [x] docker volume unmount
- [x] docker volume delete
- [x] docker volume mount preempt
- [ ] docs
PR https://github.com/codedellemc/libstorage/pull/410: Verified on 2 environments (Chris' config and AWS). You can run on bare metal or stand up a test environment in AWS using a provided CloudFormation template.
To run on bare metal You can use the test-run-metal.sh. It requires 3 nodes running the ScaleIO sdc, go, and jq packages. Will execute the test cases above on those nodes.
To run in AWS The test-env-up.sh sets up the environment in AWS. AWS was chosen because the entire scaleio environment can be propped up quickly (in under a minute). An AWS key/secret will be required with sufficient permissions. A uniquely identifiable stack-name must be given which allows for the process to stand up multiple environments concurrently.
The test-run.sh pushes over required files, the test script containing multiple tests, and then executes the test script. Once the test cases are completed, an output file containing the test results are copied back to the system.
The test-env-down.sh script is run last and removes all artifacts in Amazon.
I will have another PR to include these manual triggered testing.
New PR https://github.com/codedellemc/libstorage/pull/470