Repository navigation
Run CI on one Incus cluster across emi and commons - #175
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 1 minute. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #175 +/- ##
==========================================
+ Coverage 85.07% 87.80% +2.73%
==========================================
Files 188 188
Lines 50326 50326
Branches 50326 50326
==========================================
+ Hits 42813 44190 +1377
+ Misses 5414 4050 -1364
+ Partials 2099 2086 -13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|



CI jobs spent about three times as long queued as running, because emi was capped at 16 runner VMs. This raises emi's CI share to 440 GiB and 28 VMs and adds commons_server as a second host. The two machines form one Incus cluster, so the existing
emi-lightandemi-heavyscale sets and every workflow stay as they are.host-setup.shnow takes the member name,emiorcommons. A WireGuard link between the two hosts carries the cluster traffic, GARM's API for VMs on commons, and the handoff folder and action archives that emi exports over NFS. A placement scriptlet sends each new VM to the host with the most of its CI share left, 440 GiB and 28 VMs on emi, 200 GiB and 16 VMs on commons, which shares its machine with other users.The shares are NFSv3 with every commons uid squashed to the runner. incus starts virtiofsd with POSIX ACLs, which NFSv4 cannot serve, so any access by someone other than a file's owner failed. virtiofsd also sets timestamps as root, which
root_squashrefused, breaking thecp -ainput-files.Both hosts already run this script.