/
Developer Documentation

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

Related content

ELIOT CI/CD
ELIOT CI/CD
More like this
IEC CI/CD
IEC CI/CD
More like this
CI & CD Process
CI & CD Process
More like this
CI Process
CI Process
More like this
ICN R5 Test Document
ICN R5 Test Document
More like this
ICN R6 Test Document
ICN R6 Test Document
More like this