Beefier Forgejo actions machines #13
Labels
No labels
0 points
0.5 points
1 point
13 points
2 points
21 points
3 points
34 points
5 points
55 points
8 points
api service
blocked
component: fediversity panel
component: nixops4
documentation
estimation high: >3d
estimation low: <2h
estimation mid: <8h
infinite points
productisation
project-management
question
role: application developer
role: application operator
role: hosting provider
role: maintainer
security
technical debt
testing
type unclear
type: bug
type: deliverable
type: key result
type: objective
type: task
type: user story
user experience
No milestone
No project
4 participants
Notifications
Due date
No due date set.
Blocks
#224 automated dev-ops workflows
fediversity/fediversity
Reference
fediversity/fediversity#13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
from #7 (comment):
It was discussed today in the stand-up that this wouldn't be so easy to provide.
@koen and @kevin are supposed to look into providing faster machines (I think they had i3 cores?), or seeing if something can be made faster without changing the machines (maybe CPU options in Proxmox? no idea about any of this)
I am supposed to look into making Selenium more lenient. The problem is that I know how to tell Selenium to wait potentially hours between each step, but I don't know how to tell it to wait for the browser to start at the very beginning.
It was mentioned to look at using the Firefox driver instead of the Chrome driver. I don't think that this would change anything about the situation, and we initially switched to Chrome driver because the Firefox one was missing a feature (probably JS console logs extraction, we're not quite sure anymore). Still, I will have a look.
@Niols What exactly does Selenium need to wait for here? You can
server.wait_for_unit()and the like, but that seems to already happen. Or is it supposed to wait for the browser engine itself to start up?I think that's it, yes: Selenium probably starts the browser and then waits for it to answer to a certain API on a certain port. I suppose this operation reaches a timeout if things are too slow.
our runner seems Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz i.e. i3 range - @Niols did you mean i3 as desired or current?
We had chased this a while back with @kevin and concluded that the runners were fine but the layer of virtualisation was quite costly. Also, IIRC, the problem wasn't actually CPU but IO. @kevin had managed to find some flags to QEMU that would boost the CPU of the VMs and made some difference, but the performance were never near the runner in terms of IO.
This information is probably lost deep in the Matrix history, but maybe some stand-up notes for back when still have some of that information?
not sure i could read old matrix messages, but the notes contain:
Sounds quite vague. IIRC we did try with a beefier Proxmox node, but it made little difference. At some point, we tried with a bare metal machine and that was very efficient, but obviously a bit more annoying to maintain than VMs, and less robust.
@niols some digging in our dms and the here is bit of a summery
the og ci machine was very slow and running on our old vm env
we made a new one the the proxmox and it was faster ish after some tweaking and tuning for nested vm/container is got a bit better but still not good enough ci was like 15-20 min
this was the testing from then and the io compared to a physical node was huge the cpu and vm stats were simular
this is the test on the phyiscal ci machine
and after you ran the ci on on those machines we noticed the higher the iomix was the faster the ci ran
hope that this helps a bit
It does help very much!
given we are on the physical CI runner now, is this ticket still relevant?