Internship Projects/Mentors
Description
OpenDaylight's CI [1.] jobs are presently using Jenkins-job-builder (JJB) [2.] with the entire job configuration maintained as code in the releng/builder [3.], releng/global-jjb [4.] and common-packer [5.] repositories. The CI infrastructure has around 2k+ jobs that are written using yaml/shell/python many of which need to migrate to CI pipelines. The pipeline job prototype should be able to do a complete lifecycle (from code changes picked up from merged/staged job to be deployed and tested on containers images (these images are equivalent of VM image instance - mininet, devstack, etc presently built on the infrastructure). The work requires updating the packer files to build containers and converting the JJB/yaml code to CI pipelines.
Additional Information
[1.] https://jenkins.opendaylight.org/releng/
[2.] https://jenkins-job-builder.readthedocs.io/en/latest/
[3.] https://github.com/opendaylight/releng-builder/
[4.] https://github.com/lfit/releng-global-jjb
[5.] https://github.com/lfit/releng-common-packer
[6.] https://github.com/lfit/releng-pipelines
Learning Objectives
The intern will gain experience contributing to OSS and OpenDaylight CI tools (not limited to Jenkins, pipelines, CI/CD, packer. etc).
Expected Outcome
Buildable container images using the packer files used for Opendaylight and migrating existing jobs to Jenkins pipeline jobs.
Relation to LF Networking
ODL
Education Level
Undergraduate
Skills
- Bash
- Python Programming
- JJB (bonus)
- Jenkins CI / Pipelines (bonus)
- packer (bonus points)
- Understanding of git/gerrit workflow and fix trivial issues (bonus)
Future plans
These prototypes will be reviewed and releng/builder jobs and packer files would be updated.
Preferred Hours and Length of Internship
20 hours a week for 24 weeks
Mentor(s) Names and Contact Info
Click here to apply
Please read all instructions before applying. Include Resume, proof of school enrollment, and participation permission from school/employer
Anil Belur abelur@linux.com