OPNFV CI Process Proposal for Brahmaputra
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.
Current CI Process
As highlighted in the previous section, current CI process is driven by the installers. All installers have installer specific daily jobs that run jobs in certain order; build, deploy, and test as shown on below diagram. Build and deploy jobs are also installer specific and test jobs execute same tests for all installers.
- installer-build: Checkout the latest version of the installer repo, build the ISO, and store the ISO on OPNFV Artifact repository as latest.
- Installer metadata gets stored in a file named latest.properties in OPNFV Artifact Repository.
- If installer is not ISO based, this step does not exist.
- installer-deploy: Checkout the latest version of the installer, download the latest ISO using latest.properties file and start the deployment.
- If installer is not ISO based, the deployment is done using the latest version of the scripts located in installer repo.
- test-projects: Jobs of test projects get triggered by installer-daily job if the deployment is successful.
As seen above, the deployment may fail, resulting in not running the testing. This is due to 2 main reasons
- Always latest versions of installers are used for deploying the platform without knowing if the latest version works
- Low number of resources causes us to have installer build and deploys done together with the tests.
CI Process Proposal for Brahmaputra
Previous proposal will not be possible to realize due to time and resource constraints so Brahmaputra CI process will be quite same to Arno if not the same. This subject will be revisited after Brahmaputra is released.