View Issue Details

IDProjectCategoryView StatusLast Update
0008877Talerdeployment and operationspublic2025-05-10 02:11
Reporterdvn Assigned Todvn Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version1.0Fixed in Version1.0 
Summary0008877: Make CI containers use ramdisk/tmpfs [estimate: 10h]
DescriptionIn order to lessen I/O pressure we want the CI containers to use ramdisks instead of writing to the HDD.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

dvn

2024-05-28 14:19

reporter   ~0022482

Javier recommended passing these arguments to podman: `-d --tmpfs /tmp:rw,size=787448k,mode=1777`

dvn

2024-05-28 15:56

reporter   ~0022484

The most simple and stable way to approach this is to mount a tmpfs into a path inside the container. Podman supports this natively (see previous comment).

This will require some reworking of the way we are using and managing our workspaces inside the container.

Buildbot needs to be able to setup the workspace based on the git checkout associated with a given build. Currently we mount this directory from the host into the container under /workdir. This allows buildbot on the host to manage the workspace. However, if we use a ramdisk for the workspace we will need to either copy over the mounted directory or fetch it from within the container.

dvn

2025-03-11 14:41

reporter   ~0024177

Starting with podman 4.4 there is an option "--transient-storage". This makes all the container metadata state which incurs lots of file locking happen under /run/ which is a tmpfs. I've updated podman on firefly to the version provided by trixie/testing, and made the buildbot container-worker invoke the transient storage option. It's been over 24 hours now, and all of the alerts about high disk read rate and high context switching have not fired again. So I'm closing this as I think the main issue is resolved between the transient metadata storage and the ramdisk for the workspace. Though there are still some disk operations that can happen in containers such as when new packages are installed, for example.

Issue History

Date ModifiedUsernameFieldChange
2024-05-28 14:19dvnNew Issue
2024-05-28 14:19dvnStatusnew => assigned
2024-05-28 14:19dvnAssigned To => javier.sepulveda
2024-05-28 14:19dvnNote Added: 0022482
2024-05-28 15:56dvnNote Added: 0022484
2024-05-29 08:56javier.sepulvedaStatusassigned => acknowledged
2024-05-29 08:56javier.sepulvedaAssigned Tojavier.sepulveda => dvn
2024-06-24 00:49dvnSummaryMake CI containers use ramdisk/tmpfs => Make CI containers use ramdisk/tmpfs [estimate: 5h]
2024-07-28 19:49Christian GrothoffSeverityminor => feature
2024-07-28 20:13Christian GrothoffTarget Version => post-1.0
2025-03-03 12:55dvnSummaryMake CI containers use ramdisk/tmpfs [estimate: 5h] => Make CI containers use ramdisk/tmpfs [estimate: 10h]
2025-03-11 14:41dvnStatusacknowledged => informing
2025-03-11 14:41dvnResolutionopen => fixed
2025-03-11 14:41dvnNote Added: 0024177
2025-03-21 12:02Christian GrothoffProduct Version => git (master)
2025-03-21 12:02Christian GrothoffFixed in Version => 1.0
2025-03-21 12:02Christian GrothoffTarget Versionpost-1.0 => 1.0
2025-05-10 02:11Christian GrothoffStatusinforming => closed