How to handle updates?
@chrisburr is already working on this.
Since Jun 18, 2026.
Assessment
This issue has not been assessed yet.
Description
Yes, I think it's early enough that you can bump the version in DIRACOS2 in the next patch release (I would not do it so > easily if it was production code, but as of now it's still experimental)
Originally posted by @fstagni in https://github.com/DIRACGrid/DIRAC/pull/5000#discussion_r601676688
It doesn't need to be solved now but at some point we will have to decide how to handle "riskier" updates as in DIRACOS 1 we didn't have to care too much given how static CentOS 6 was. For example:
- Updating the middleware XRootD/ARC/...
- Updating other dependencies, gsoap/boost/...
- Updating minor Python versions (these should be stable and fairly low risk)
- Major updates, I have nothing specific in mind but imagine a siltation like Python 2 to Python 3
My initial thoughts:
-
We should avoid having active releases which cannot be used with the latest DIRACOS 2 version, especially considering there could be something like an "urgent" OpenSSL bug which requires everyone to update at short notice regardless of the DIRAC version they're running. I think this can be handled relatively by making sure that bug fixes for changes in dependencies target an appropriate branch.
-
As there aren't many downstream dependencies of things like XRootD (and I'm responsible for most of them) we can fairly easily control the versions we're given and rebuild older ones like XRootD 4.x if needed
-
Here we basically need to follow the "global pinning" in conda-forge but I don't expect this to be a problem. We might need to be careful with things like OpenSSL 3 when it's release but that migration will be relatively slow with both OpenSSL 1.1.1 and OpenSSL 3 being build for months so we will have time to run certifications with the new version.
-
Since Python 3.4ish these have been fairly stable. We might want to run a certification with the latest version but I don't think we should be too afraid of updates.
-
This would become DIRACOS 3 and we would likely need to support both DIRACOS 2 and 3 for a reasonably long time. Conda-forge would also likely support both variants for a long time so it wouldn't be a problem (this already happened for updating the C++ ABI and Python 2 -> 3).
- Dominant language
- Python
- Stars
- 0
- Forks
- 11
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DIRACGrid/DIRACOS2
-
Updating M2Crypto? Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Dependency Dashboard Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Remove boto Open
Difficulty 3/5 1-2 days Newbie friendliness 25/100
All issues in DIRACGrid/DIRACOS2
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
use-agent-os/agent-os#3314 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
BasedHardware/omi#15662 · 1 comment ·
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
AiursoftWeb/AnduinOS-2#19 ·