Skip to content

Run CI on one Incus cluster across emi and commons - #175

Merged
LucaCappelletti94 merged 2 commits into
mainfrom
ci/emi-capacity
Oct 18, 2026
Merged

LucaCappelletti94 merged 2 commits into
mainfrom
ci/emi-capacity

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

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-light and emi-heavy scale sets and every workflow stay as they are.

host-setup.sh now takes the member name, emi or commons. 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_squash refused, breaking the cp -a in put-files.

Both hosts already run this script.

@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You'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.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 39498e39-ae6b-46a6-b0fc-814c11b07b76
📥 Commits

Reviewing files that changed from the base of the PR and between 026f852 and f835c50.

📒 Files selected for processing: 1
  • ci/emi/host-setup.sh
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.80%. Comparing base (026f852) to head (f835c50).

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     
Flag Coverage Δ
client 60.49% <ø> (-0.06%) ⬇️
rest 55.63% <ø> (+<0.01%) ⬆️
server 51.83% <ø> (+4.41%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud

Copy link
Copy Markdown

@LucaCappelletti94
LucaCappelletti94 merged commit 978972c into main Oct 18, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant