BiLD-Dev
Bi-Weekly "Loyal" DIRAC developers meeting. And, following, the LHCbDIRAC developers meeting.
Zoom: BiLD
https://cern.zoom.us/j/62504856418?pwd=TU1kb01SOFFpSDBJeWVBdU9qemVXQT09
Meeting ID: 62504856418
Passcode: 12345678
BiLD – 18/12/2025
At CERN: Federico, Christophe (later), Christopher, Ryun, Alexandre
On Zoom: Andrei, Daniela, Hideki, Alexei, Mazen, Xiaomei, Simon
Apologies:
Previous meetings
- Last BiLD was 3 weeks ago
- 1 week ago we planned a certification hackathon, that effectively did not happen as we started discussing the merging strategy (main topic for today, see below)
DIRAC communities roundtable
LHCb:
Federico+Christopher+Christophe+Alexandre+Ryun
- NTR
- 550K running jobs record

Belle2
Hideki, Ueda
- Records are sent both in accounting and monitoring
- Also asked about future, pointed to DiracX ticket
Juno+BES3:
Xiaomei
- from previous meeting Wants to clean VOMS- discussion to be open
- from previous meeting Forced to use Multi-hop. Mostly successfull, but issues reported
- PR 8386 has been created, to be tried.
- for 9.0
- PR 8386 has been created, to be tried.
EGI
Andrei, Mazen
- Fighthing for pilots’ acceptance by site
- Setting up new service for IN2P3 supported VOs
- from previous meeting Created GreenDIRAC extension for keeping related developments: GreenReportingAgent, energy consumption by jobs tool (Mazen)
- Submitting energy metrics for each job into the DB
- investigating the data obtained, also for its visualization. Data kept in OpenSearch together with the Job Parameters
- from previous meeting Started a GreenSiteDirector
- work in progress, for submitting to sites that have a lower energy footprint
- from previous meeting Got functional D9/Dx0.0.1 certification installation (Bertrand):
- DIRAC9 host + 2 hosts k3s cluster for DiracX + S3/minIO
- Chris+Federico should not run on 2. Better 1 or 3
- Opensearch with certificate authentication
- will contribute to DiracX for this
- IAM dev IdP, failed with dteam IAM, Check-In in progress
- wants to add also a MQ
- DIRAC9 host + 2 hosts k3s cluster for DiracX + S3/minIO
GridPP:
Daniela, Simon
- NTR
Topics from GitHub discussions and bots
- DIRAC and DiracX topics with discussion updates:
- Support for stored URL in the FileCatalog #8400
- seems like everyone answered, only missing CTAO
- Support for stored URL in the FileCatalog #8400
Releases
DIRAC
- v8.0.77
- still the last
- v9.0.14
- NEW: (#8382) Attempt to set the xrd checksum attribute when copying files localy
- needs the latest DIRACOS release
- NEW: (#8392) handle adding user AffiliationEnds section in the CS when modifying the user from CSAPI
- NEW: (#8382) Attempt to set the xrd checksum attribute when copying files localy
Issues (still there?):
- from previous meeting https://github.com/conda-forge/dirac-grid-feedstock/issues/170 https://github.com/conda-forge/dirac-grid-feedstock/issues/169
- 18/12/2025 SOLVED by cburr
DiracX
- v0.0.2
- created weeks ago
DIRAC merging strategy
At the previous hackathon, we ended up discussing https://codimd.web.cern.ch/CKFZsVZ9TSy40sUiqGZV0w which contained few notes about: what to merge, what to test in certif, how to go forward in general.
GitFlow vs TBD
We used GitFlow (or sort-of) for several years
- the
integrationbranch has been ourdevelopbranch - creating pre-releases from
integration, and releases fromrel-vXrYbranch - using “sweeper” for creating PRs for “upper” branches
- pros:
- clear separation between pre- and production releases
- cons:
- slow pacing
TBD just means “no branching”, so basically there’s only the main (for us the integration) branch. Question is if this can work for us. From https://medium.com/yield-studio/trunk-based-development-tbd-vs-git-flow-b73bb110452d:
With TBD, this means that all code modifications are introduced and merged directly into the main branch. Each developer must therefore merge their changes regularly, several times a day.
… code reviews should be handled quickly (within half a day)
TBD requires rigorous testing, vastly automated.
Proposals
Given that:
- for client, server and pilot we have always the option of installing a branch, instead of a (pre)release
- we distinguish between “easy fix PRs” and “risky PRs”:
- we can merge/release “easy fix PRs”
- “risky PRs” have the need to be tested in the certification setup
3 options for TBD adoption:
1. The “dirty” integration branch
- always install
integrationin certification

pros:
- easy and strightforward
cons:
- we can’t make a release until we fixed the
integrationbranch, by fixing the code introduced by the risky PR, or by reverting it
2. The certif branch
- branch off a temporary
certifbranch that will be installed in certification

pros:
- we can create fix releases while keeping the
integrationbranch clean
cons:
- more combersome
- The
certifbranch needs to be kept up-to-date
3. The PR branch
- install un updated
PR branchin certification (git+https://github.com/fstagni/DIRAC.git@my_risky_PR)

pros:
- we can create fix releases while keeping the
integrationbranch clean (as per option 2) - still easy, but for extensions needs care
cons: - one PR at a time (probably OK)
- the
PR branchneeds to be kept up-to-date (as per option 2)
Considerations
In all cases:
- we can (should) rename
integrationtomain - there are no more pre-releases (ever!)
- the pilot that we run in certification will effectively always install DIRAC (not setting up DIRAC from CVMFS)
- we can create only patches of v9.0 from now on, but we also can create minor releases, and in this case, we either:
- “maintain” the minor releses (this would require cherry-picking going backward)
- once we created, say, v9.1, there’s no more v9.0 patching (much simpler, and more “semantic”)
- we should avoid creating PRs with breaking changes, meaning that DB changes should be behind settings – developers work!
- if we go for TBD, we are putting in question the certification hackathons (which become much more developer-centric)
Conclusion
- There is general support for option 3 (use the the PR branch)
- The same thing can also for be done for diracx
- instructions to update diracx to branch “inside” DIRAC would need to be provided
Release planning, tests and certification
-
Upgrade to v9+0.0.1:
- No news
-
Certification machines
- from previous meeting Federico added the diracx_admin VO. Somehow not working fully …?
-
Next hackathon(s)
- not planned
DIRAC projects
DIRAC:
Issues by milestone:
- v8.0:
- from previous meeting
- Add config option to prevent some groups from cleaning transformations
- Federico assigned to me, can I assign to someone from Juno?
- Don’t block the transformation system if owner is removed
- Xiaomei to give more details: getUsernameForDN(t_ownerDN) failed when user is not exist
- It was fixed in Dirac9.0: https://github.com/DIRACGrid/DIRAC/commit/1bd1c7f9c61f367330a635ab8068af5771e77456
- RucioFileCatalogClient.setMetadata returns empty result on success
- Add config option to prevent some groups from cleaning transformations
- from previous meeting
- v9.0:
- NTR
- v9.1:
- NTR
- Get infos from CRIC
- any volunteer?
- Replacement for BDII2CSAgent #8194
- 13th Nov New updates in https://helpdesk.ggus.eu/#ticket/zoom/3427
- Andrè (enthusiastically?) volunteered ;-)
- GOCDB has agreed to implement the scopes as we originally asked for.
- As a test, we implented scopes for ilc and t2k.org, that the sites can set for their services.
- Once Andre S has finished his DIRAC side tests, we can submit a GGUS ticket and they will generated scopes for all the VOs we give them.
- Then we just need to find a way to diplomatically phrase an EGI broadcast, so we hopefully don’t have to contact all sites individually.
- 13th Nov New updates in https://helpdesk.ggus.eu/#ticket/zoom/3427
PRs discussed:
- from previous meeting [9.0] Avoid endless loop in MonitoringReporter #8363
- just a question to answer in there
- from previous meeting [9.0] Use DIRACX_CA_PATH to communicate to diracx and S3 #8364
- from previous meeting PoolCE and RAM (issue raised in https://github.com/DIRACGrid/DIRAC/issues/7853#issuecomment-2948565279): https://github.com/DIRACGrid/DIRAC/pull/8232
- 18/12/2025 merged. 2 fix PRs followed after the
integrationbranch has been installed.
- 18/12/2025 merged. 2 fix PRs followed after the
- [9.0] JobWrapper: call jobReport.commit() at job finalize() #8395
- “blocked” as maybe there’s a better way – will try directly by installing the branch in certification setup
WebApp:
- NTR
Pilot:
- PR for removing Python2 support re-created (previous one introduced a bug)
- Tested in hackathon, will be merged into
masterwhen all tests pass (pending RAL support @@) - from previous meeting if you really want to keep py2 support, there’a tag
- Tested in hackathon, will be merged into
DIRACOS:
- New releases: https://github.com/DIRACGrid/DIRACOS2/releases/tag/2.56 and https://github.com/DIRACGrid/DIRACOS2/releases/tag/2.55
Documentation:
- from previous meeting tasks: https://github.com/search?q=org%3ADIRACGrid is%3Aissue state%3Aopen label%3Adocumentation &type=issues
- including some for diracx-charts and diracx-web
- from previous meeting Andrei Need documentation on how releases are made
management
- Having again issues for
/cvmfs/dirac.egi.eu(the syncing was not happening, ticketed, etc.). No monitoring on their side, urgent need to move out. - from previous meeting new
/cvmfs/dirac.cern.chrepository created – CERN ticket- action on cburr to populate it (using LHCb “machinery”)
DB12
- NTR
- from previous meeting Federico “I asked Igor if he wanted to become one if not the main maintainer”
- revived https://github.com/DIRACGrid/DB12/issues/9
- create https://github.com/DIRACGrid/DB12/issues/15 and made a suggestion that can be accepted
- PR https://github.com/DIRACGrid/DB12/pull/16 created – will wait for Alexandre for review
- from previous meeting We should agree on a strategy on how to do things here, as PRs can’t just be merged:
- there are reports created that depend from it, merging/releasing on a random Tuesday is not the way to go
- can we have parallel benchmarks? not clear actually if that’s doable
- Federico maybe create a “2026” release?
- we should see if there would be time for that
Rucio
- from previous meeting CTAO submitted draft PR https://github.com/DIRACGrid/DIRAC/pull/8327 and issue https://github.com/DIRACGrid/dirac/issues/8331
- 23 Oct 25 Federico I asked Cedric to review these and other Rucio issues/PRs, but “no time”.
Tests
- NTR
DiracX:
Issues and Discussions
- Support of ISB in jobs submit CLI
- but the main question here is where to code “submit_job (with a ISB)”
- developed into PR InputSB support #711
- some issues in there, e.g. the “assignement” should be done eventually by the tasks
- CS repo directory problems in container deployment #700
- How to use
LocalGitConfigSource? - needs follow-up
- How to use
- Problems running a “development” diracx container #704
- needs follow-up
PRs discussed:
CWL prototype
- “moving” with full plan in https://codimd.web.cern.ch/tUL0IUMKT56tsNv3dAf65w?view.
- will give a report at hackathon in January
DiracX-charts:
- from previous meeting Moved to fixed versions in diracx/values.yaml and added automatic chart version bumping on DiracX releases
- Similarly should be done for diracx-web
DiracX-web:
- NTR, but many “bumps” PRs
Next appointments
-
Meetings:
- TBD (we’ll discuss what to do at the coming hackathon)
-
WS/hackathons/conferences:
- DiracX hackathon 21st-22nd January 2026: https://indico.cern.ch/event/1582395/
AOB
-
It’s again CHEP abstract submission time, deadline 19th December
- Federico wrote a short one: https://codimd.web.cern.ch/ErBx4tqjSV-VC5zHMq1OXw
- will submit now even if there was an extension
- Alexandre wrote one specific for CWL
- Federico wrote a short one: https://codimd.web.cern.ch/ErBx4tqjSV-VC5zHMq1OXw
-
ISIMA:
- Federico+ChrisB+Alexandre wrote down a proposal for a new Jobs Matching mechanism for DiracX: https://codimd.web.cern.ch/eOU4kV3jRTSSJq43FXvhwg#, https://codimd.web.cern.ch/bCva5aa3SpWELiox3_yq9w#
- idea would be that student prepares a prototype for stress tests (e.g. 10M jobs in queue, how fast can we match?)
- (new) description of job requirements to be used will need your suggestion
- Federico+ChrisB+Alexandre wrote down a proposal for a new Jobs Matching mechanism for DiracX: https://codimd.web.cern.ch/eOU4kV3jRTSSJq43FXvhwg#, https://codimd.web.cern.ch/bCva5aa3SpWELiox3_yq9w#
-
from previous meeting DIRAC as an “HSF affiliated project” : https://hepsoftwarefoundation.org/projects/affiliated.html
- 13th Nov 2025 no news, but in the meantime this was presented at few forums (…). In the meantime Ruslan restarted the evaluation.
LHCbDIRAC
- CHEP abstracts in https://codimd.web.cern.ch/4mOg3RgsT1eVTnb4KT3Tuw?edit
- ISIMA interview?
- Bookkeeping
- PRs:
- Merged BK service cleanup
- add materialized view for processing paths optimization
- this should be merged first and the next ones use it
- Alexey it does not work for me, see comment in MR
- reworked addProcessing
- reworked getproductionporcpassname
- PRs:
- mc submit: Alexandre starting development for fully getting out of “templates”
- PoolCE should be interpreting a signal for stopping to process jobs.