The purpose of this page is to help new projects understand the OPNFV release process and associated milestones so that they may be successful.
Don't Attempt To Do Too Much
In their enthusiasm, new projects sometimes take on more than they should in their first OPNFV release, such as attempting to deploy with multiple installers, or implementing advanced features before basic functionality is established. If you have a large, experienced development team and technical lead, these things may well be possible. However, very often, project teams are composed of just a few developers, so they must make careful choices about what they attempt to do in a given release.
A Suggested Conservative Roadmap for New Projects
The following is a high-level, conservative roadmap that new projects may wish to consider when starting a new project:
- Phase I (first OPNFV release)
- Integrate with 1 installer
- Integrate with OPNFV CI
- Implement basic software functionality
- Implement basic testing through OPNFV test frameworks (e.g. Functest)
- Implement a simple demo
- Phase II (second OPNFV release)
- Add one or two advanced features
- Deepen test coverage
- Create a more advanced demo
- Phase III (third OPNFV release)
- Add another installer
- More features
- More demos
Don't Neglect CI and Test
There is also a tendency to focus so much on project functionality that project integration with OPNFV CI becomes an afterthought, resulting in projects missing their Milestone 5 (scenario integration) and Milestone 6 (test case implementation) requirements. New projects tend to fail because they wait too long to start, or they do not put enough effort into, CI integration and test.
Before joining a release, projects must complete two important tasks:
- Submit a project proposal and be approved by the TSC
- State your intent to participate in the release, prior to Milestone 1.
Milestone descriptions are published for each release. For example, for Euphrates the milestone descriptions are here. However, at a high level, the milestones are very similar. The following is intended to provide some guidance to new projects on how to meet the general requirements for each milestone. However, be sure to review the milestone descriptions for the current release to be aware of unique requirements.
MS 0 marks the start of the intent-to-participate process. Note that your project must be approved by the TSC before you may join a release. See the requirements under "Prerequisites" above for details.
MS 1 marks the close of the intent-to-participate process. No projects will be accepted as part of the release after this date without an approved exception request. In addition, MS1 is the deadline for release planning.