iRODS Build and Test - History

July 2011

  • Python → Node.js → RabbitMQ → Celery → Eucalyptus

October 2012

  • Python → Node.js → ssh → OpenStack

January 2013

  • Hudson → Python → OpenStack

October 2013

  • Hudson → Python → vSphere long-running VMs

Spring 2015

  • Jenkins → Python → Ansible → vSphere dynamic VMs

Spring 2015 - onwards (Current)

  • Jenkins → Python → Ansible → zone_bundles → vSphere dynamic VMs

 

 

 

iRODS Build and Test - 2018 Promises

  • Increase coverage                                         (more plugins in CI)

 

  • Move pipeline scripts to GitHub                 (no logic in Jenkins)

 

  • Address inconsistency                                  (false reds / pyvmomi errors)

 

  • Containerize Jenkins                                     (easier to test / update / redeploy)

 

  • Possibly move from VMs to containers     (speed / fewer moving parts)

iRODS Build and Test - Architecture

iRODS Build and Test - Containers

Operating Systems Databases iRODS Core Tests Plugins Federation Topology
2 1 2 2 1 (2 providers) 1
Containers Launched 4 4 4 8
  • Total Containers Launched = 20
  • Addition of another OS will add 10 more containers during testing
  • Number of Containers Launched is Multiplicative

 

 

iRODS Build and Test - Future


  • Make Jenkins Public
  • Increase Coverage
  • Use Kubernetes for scaling purposes


UGM2019_BuildAndTest

By jkgill

UGM2019_BuildAndTest

  • 744