Developer Documentation
Architecture
Jenkins is used for CI/CD, jobs are being created with JJB: (https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=tree;f=jjb/kni;h=6a3b8e1dbc7468a9075f30859694ff727e7c78a6;hb=refs/heads/master).
In the future additional builds with OpenShift with third party labs can be considered.
Deploys will be executed in PODs . Different types of PODs are going to be considered:
virtualized deploy (libvirt) for initial testing
baremetal deploy for merges and tagging testing
The bootstrap node of each POD will be connected to Jenkins as an slave.
Pipelines
Three diferent types of testing are proposed:
check: when a new change is being sent, it will perform lightweight tests such as lint, syntax or virtual deployments
gate: when a change is going to be merged, it will perform more extensive testing, including deployments in all affected platforms
tag: when a new stable version is being tagged, it will run the gate tests + some additional tests including the ones in validation lab, stress testing, etc...
Artifacts
Documentation
Installation scripts
Test logs and results
Gerrit
https://gerrit.akraino.org/r/admin/repos/q/filter:kni
Please ensure that all the submitted patches are properly signed. You need to use Signed-off-by: <email_address> in the footer of your commit messages.
Jenkins Jobs
Daily: https://jenkins.akraino.org/view/kni/
Validation Lab Setup
https://docs.google.com/presentation/d/1uk-DW2b6f1bv8-k5o0zqqmdQxTAnGeFFwKA1JQRgbH8/edit#slide=id.p1