This is an old revision of the document!
OPNFV Brahmaputra Release will integrate multiple installers, controllers and artifacts that are produced by feature projects. In order to work with this many combinations and test the platform properly, it is important to make sure that the OPNFV Platform is deployed using known/working versions of installers since the platform itself needs to be tested. Any deployment issues that may be caused by installers could result in loss of hours for testing projects.
Current CI process does not support this since the CI is driven by installers. This means that we always build/use the latest versions of installers, try to deploy the platform using this latest version and then run the testing. Time to time the deployment fails, requiring manual intervention to deploy a known/working version of installer.
In following sections, you will see the current CI process and the proposal for OPNFV Brahmaputra Release.
As highlighted in the previous section, current CI process is driven by the installers. All installers have daily jobs that run jobs in certain order; build, deploy, and test as shown on below diagram.
installer-daily
As seen above, the deployment may fail, resulting in not running the testing. This is due to 2 main reasons
Due to reasons listed above, OPNFV CI process needs to be improved, separating the installer specific build and deploy from testing.
This can be achieved by introducing simple promotion mechanism meaning that installer jobs can identify daily stable versions by running build and deploy as necessary, marking the version that is used as stable and exiting.
When it comes to testing focused CI process, the first thing that needs to be done is choosing the stable version of an installer to do the deployment. If there is a more recent stable version then the deployment can use this version to deploy the platform. If the installer(s) are unable to produce recent stable version then the deployment either can be done using the latest known stable version or can be skipped altogether if the test projects leave the SUT as they found it.
Below diagram shows this in high level.
Here are the steps.
installer-daily
opnfv-daily
Please note that the stability referred here is something that is deployable. There are many details that are not taken into account in this proposal. (such as feature addons and so on)
As expected, above proposal requires additional resources to be available in order to separate the installer specific CI from the OPNFV Platform CI that is used for testing purposes. Infra and test projects are in an agreement regarding this need and have been raising this issue as a risk to the community. It is important to get approval from TSC in order to use community labs for Brahmaputra Release Testing.
Current planning regarding the resources can be seen on below table.
ISO to Deploy | Apex | Compass | Fuel | Joid |
---|---|---|---|---|
Stable | Intel POD2 | Huawei | LF POD2 | Intel POD5 |
Latest | ? | ? | ? | ? |
As explained in the proposal, only "stable" version shall be deployed on the target platforms and the Stable row points to target labs to do this. We still need to identify where to run installer specific CI.