Illumos Integration Process
Smoothing the illumos integration process.
Compared to other platforms, it is relatively more difficult to set up a build environment and test ZFS changes on illumos. We are working to make this easier, so that changes from Linux, FreeBSD, etc. can be pushed to illumos, thus reducing the diffs they need to maintain, and making these improvements available to all platforms.
Our specific goals are:
- Make it possible to build illumos ZFS on OmniOS. OmniOS is a modern server OS with virtual machine images available for all the major platforms.
- Make it possible to build just ZFS on illumos, without having to build the entire codebase. This willl reduce build time from several hours to just minutes.
- Finish porting all the ZFS test cases from the STF framework to the TestRunner framework, which lives in the illumos gate.
- Create a script that will run on OmniOS and set up a build environment, get the ZFS code, apply a patch, build it, install it, run the TestRunner test suite, and generate a webrev which can be used to review the code on the firstname.lastname@example.org mailing list.
The current illumos development process
- For large or controversial changes, consider getting design review on email@example.com
- Set up OpenIndiana-based development environment
- Clone repo from github
- Make code changes
- Run a full build with nightly (runs lint)
- Test with ztest and TestRunner
- consider if you need to add a new test case
- Check code style with cstyle tool
- Get your code reviewed on firstname.lastname@example.org
- Submit a “Request to Integrate” (RTI) email to email@example.com
- Advocate will integrate (push) your code to github
- Chris Siden is the most active ZFS advocate
- Author, code reviewer, advocate should be different people