C&I WIki Portal/OCP Checkbox
OCP Checkbox
Checkbox is a test harness used to execute test cases for OCP Ready and OCP Certification testing. It's a command line driven tool written in Python. OCP checkbox is capable of executing test scripts written in a variety of languages (Python, Bash, Perl, C, etc).
Origins
Checkbox began as a script called hwtest and was written by people at Canonical. As the initial script grew into a more functional test harness, it was renamed "Checkbox" and has been the testing tool used for Ubuntu certification for many years. The upstream checkbox project is fully open sourced as is the OCP branch of Checkbox. Anyone can contribute code to the tool at any time.
At this time, the upstream checkbox code is in maintenance only mode and no new enhancements or features will be added to the code base. Upstream, the background code for the test tools is being replaced with a new tool referred to as Plainbox. Plainbox provides a cleaner interface and several improvements over the older Checkbox code. Work is actively under way to port OCP test tools to the new Plainbox back end.
About the Tools
As of Ubuntu 14.04 LTS, Checkbox has been deprecated in favor of a new generation test harness called Plainbox. Because of this, the last version of OCP Checkbox is 1.17.4. Going forward, this code is in Maintenance/Bug Fix only mode and will not receive any major updates. OCP Checkbox is still perfectly valid for testing use but will be replaced in the future by a plainbox based test tool. The difference to the tester will be minor, though for the developer, the difference will be great.
The development focus going forward is on the new Plainbox based test tool also stored on Launchpad. There are currently two packages necessary:
- plainbox-provider-opencompute-certification
- Provides the whitelists and test scripts, job definitions and other data for testing
- checkbox-ng
- The underlying test harness based on Plainbox
This will change slightly as development progresses.
How to Participate
There are a number of ways you can participate in making this tool better for OCP.
Join the dev team
There is a team set up on Launchpad for people who wish to contribute:
Code!
You can always submit code to the project.
- The source code can be found here: https://code.launchpad.net/~opencompute-developers/opencompute/checkbox
- It is stored on launchpad and uses bzr as it's control system: http://bazaar.canonical.com/en/
Docs
We can always use new documentation, be it user guides, development guides, wiki pages, etc.
Testing
Feel free to install and run Checkbox. It runs well on Ubuntu and should run on Debian. It will also run on CentOS, RHEL and other Linuxes, but the test scripts themselves will need porting as they rely on Ubuntuisms in some cases.
Bug Reporting
Please feel free to file bugs on problems encountered or requests for enhancements:
Questions?
Primarily, we hang out on the opencompute-ci mailing list and IRC Channel #ocp-ci on Freenode.