Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 3 jobs: golang verify job, shell verify job and e2e test job.

...

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

Image RemovedImage Added

...

CD job detail

We have the following steps for e2e testCD job:

  1. On our private Jenkins slave node: git clone icnProvision VM(s) 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 network information: mac address, ip address for each nicVM hostname
    • VM memory 64G, cpu 16, disk
  2. 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.
  3. 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)

...

    • 300GB
  1. Login to the VM and run 'make verifier' which installs the components in the VM
  2. 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

...