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

Compare with Current View Page History

« Previous Version 14 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/

Test Architecture

We support 3 jobs: golang verify job, shell verify job and e2e test job.

golang verify job
  • 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
shell verify job
  • 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
e2e test job
  • 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

E2E test job detail

We have the following steps for e2e test:

  1. On Jenkins slave node: git clone icn
  2. Provision VM(s) by vagrant. A Vagrantfile which defines the VMs properties is needed. We can define many VM properties in the Vagrantfile:
    • VM network information: mac address, ip address for each nic
    • VM hostname
    • VM memory, cpu, disk
  3. Setup virtual IPMI for compute nodes VM-2..n by virtualBMC.  VM-1 can send ipmi command via mnt_net to manage VM-2..n.
  4. Run ansbile playbook against VM-1. We use ansible playbook instead of shell script, because playbook is easier to read and maintain. The playbook calls scripts to setup local-controller services:
    • script for k8s setup? (TODO)
    • script for kud plugin? (TODO)
    • script for metal3 installation? (TODO)
    • script for compute nodes provision?  (TODO)

CI Testing<WIP>:

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

Metal3: Kuralamudhan Ramakrishnan

BPA Operator: Itohan Ukponmwan ramamani yeleswarapu

BPA Rest Agent: Enyinna Ochulor Tingjie Chen

KUD: Akhila Kishore

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: Huifeng Le

CI logs:  <CI log link> Cheng Li

CD Logs: <CD log link> Cheng Li

Patches for Test

bashate verify job:

  • No labels