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

Compare with Current View Page History

« Previous Version 4 Next »

Jenkins Information

ICN project leverages Akriano Jenkins. We join our servers into the Akriano Jenkins cluster. We have follow Jenkins slave nodes joined Akriano Jenkins. ICN 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

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:

  • On Jenkins slave node: git clone icn
  • 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
  • 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.
  • Run ansbile playbook against VM-1. 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)

  • No labels