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 Infomation | Server Infomation | ||
---|---|---|---|
Slave Name | Labels | Slave Root | Server Info |
prd-ubuntu-dev-44c-64g | icn-dev | /home/jenkins/akraino/slave_root | pod14-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:
- 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
- Login to the VM and run 'make verifier' which installs the components in the VM
- 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
Metal3: Kuralamudhan Ramakrishnan (Deactivated)
BPA Operator: Itohan Ukponmwan (Deactivated) Ramamani Yeleswarapu (Deactivated)
BPA Rest Agent: Enyinna Ochulor Tingjie Chen (Deactivated)
CD Verifier<WIP>:
Please explain, how you verifiy your deployment, Not more than 3 points
Metal3: Kuralamudhan Ramakrishnan (Deactivated)
BPA Operator: Itohan Ukponmwan (Deactivated) Ramamani Yeleswarapu (Deactivated)
BPA Rest Agent: Enyinna Ochulor Tingjie Chen (Deactivated)
KUD: Akhila Kishore (Deactivated)
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: