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
- 863