You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Jenkins Information

ICN project leverages Akriano Jenkins to run CI jobs. But we run the CD jobs in our private Jenkins cluster. We have the following Jenkins slave nodes joined Akriano Jenkins. ICN CI jobs are supposed to be scheduled to our slave nodes by label icn-dev.

Slave InfomationServer Infomation
Slave NameLabelsSlave RootServer Info
prd-ubuntu-dev-44c-64gicn-dev/home/jenkins/akraino/slave_rootpod14-node1

To add more Jenkins slave nodes, please follow the akriano jenkins guide

To setup private jenkins, please refer to the README.md under icn/ci/

The private jenkins cluster is setup on pod14-node2. We can visit the jenkins with the node ip address: http://10.10.140.22:8080/

Test Architecture

We support the following  jobs

CI job for golang
  • triggered by gerrit patch creation/update. 
  • Run a make command, which builds golang pkg
  • Post +1/-1 for gerrit patch if the build succeeds/fails
CI job for shell
  • triggered by gerrit patch creation/update. 
  • Run a make command, which runs bashate to check shell scripts
  • Post +1/-1 for gerrit patch if the check passes/fails
CD job for test
  • triggered daily automatically
  • Run a make command, which creates VM(s) and deploys ICN components on the VM(s)
  • Send daily report to mailing list

CI jobs detail

CD job detail

We have the following steps for CD job:

  1. On our private Jenkins node, we provision a VM by vagrant. A Vagrantfile which defines the VMs properties is needed. We can define many VM properties in the Vagrantfile:
    • VM hostname
    • VM memory 64G, cpu 16, disk 300GB
  2. Login to the VM and run 'make verifier' which installs the components in the VM
  3. We destroy the VM as the last step of the job

CI Testing<WIP>:

Please explain, how you CI testing for your project, Not more than 3 points

Bashate: Kuralamudhan Ramakrishnan Cheng Li

BPA Operator: Itohan Ukponmwan ramamani yeleswarapu

BPA Rest Agent: Enyinna Ochulor Tingjie Chen

CD Verifier<WIP>:

Please explain, how you verifiy your deployment, Not more than 3 points

Metal3: Kuralamudhan Ramakrishnan

BPA Operator: Itohan Ukponmwan ramamani yeleswarapu

BPA Rest Agent: Enyinna Ochulor Tingjie Chen

KUD: Akhila Kishore

SDWAN controller:

  • Create SDWAN CNF and a normal pod with additional interfaces created by OVN CNI plugin, and verify ping is workable between these 2 pods through the OVN interfaces
  • Disable Allow-Ping rule of SDWAN CNF through Command Rest API call, then verify ping is not work between these 2 pods through the OVN interfaces
  • Enable Allow-Ping rule of SDWAN CNF through Command Rest API call, then verify ping is workable again between these 2 pods through the OVN interfaces

CI logs: 

The gerrit comments contains the CI log url. All the CI logs are under this folder https://logs.akraino.org/production/vex-yul-akraino-jenkins-prod-1/

CD Logs:

https://logs.akraino.org/intel/ICN_CD_logs/

Patches for Test

bashate verify job:

  • No labels