The oct(open container testing) project aims to promote the Open Container Initiative by providing a universal testing framework for all the container projects. The testing includes: oci specs, container function and container performance.
The oct-engine provides the framework for the open container testing.
-
OCTD
:
OCTD acts as a container pool or test sever, up to the configuration file. When configurated as 'container pool', it uses 'Harbour' to run the testing inside containers. When configurated as a 'test server', it simplely run the testing. -
Testing Scheduler
:
As the main scheduler, the Test Case Scheduler will:- Parse the testing request
- Apply hardware resources from the Open Test Server
- Register container images from the Open Container Pool
- Deploy the testing environment
- Run the test
- Collect and publish the testing report
-
Case Manager
:
The Case Manager provides RESTful API for user to list/get the test cases, and send testing request to theScheduler
. It uses the github as the static test case database.
Refers to cases/spec
- Container project developer
- Operating system distributor
- Hardware company
- IASS provider
- PASS provider
- Any container user
- Fork the repository on GitHub
- Read the APIs to test each service
- Play with the project, submit bugs, submit patches!
If any issues are encountered while using the oct-engine project, several avenues are available for support:
Issue Tracker | https://github.com/huawei-openlab/oct-engine/issues |
---|---|
Google Groups | https://groups.google.com/forum/#!forum/oci-testing |
OCT-engine support multiple servers, testserver
will manage all the end-node machines
with octd
deployed.
But We can run testserver
and octd
on a single machine with the default configuration (ip/port)
to get a first impression of the OCT-engine.
Also, we provide a scheduler client to test single case, as a demo, you can try this:
## Prepare
go get github.com/Sirupsen/logrus
go get github.com/drone/routes
git clone https://github.com/huawei-openlab/oct-engine.git
cd oct-engine/services
make
cd scheduler
./scheduler &
cd ../octd
./octd &
cd ../scheduler/client
./client --path=case01
The testing report will keep updating.