-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates for EL9 and Apptainer #31
base: master
Are you sure you want to change the base?
Conversation
Do we want to update the os to Ubuntu 24 rather Ubuntu 20 in the container so we don't find it's not supported in a couple of years? Or is there an issue with Ubuntu 24? |
Also, do we want to add grid downloading support into the standard image rather than having people create their own using the rat-tools Apptainer file? |
Also, for the naming convention, I'm not sure el9 means. If my comment on having the ability to download grid data, it may make sense, as it would use epel9, but at the moment I'm not sure it describes anything and in fact, it's confusing as someone may presume it has epel options when it doesn't. |
Thanks a lot for looking at this David! I don't think there's any reason not to use Ubuntu 24, that was just an oversight by me. I'm rebuilding it now with 24.04. I won't commit the change just yet as I'll let it build and test it on Cedar first just to be sure. I could be persuaded either way on including the Grid access in this container. On the one hand if people would often be using one but not the other maybe it makes sense to keep them separate, but on the other hand maybe there isn't any downside to joining them together and it saves people a bit of time not getting two different containers. Maybe a middle ground solution is to push the Grid tools container to the snoplus Docker organisation, then people can just pull it rather than have to build it themselves? @tsengj10 do you have any thoughts on this? As for the name, EL9 was just because I was rebuilding it after the upgrade to dependencies following our move to Enterprise Linux/Alma 9. It also could be considered a misnomer as the recipe uses Ubuntu (we could change it to use EL/Alma9, but some of the commands and syntax would change. Given this runs fine on EL9 I thought that would be wasted effort changing it). So the name was just representing the reason for the new tag more than anything else. But the more I think about it the more I think we should just call this Main or something neutral and deprecate the ROOT5/6 versions, as anyone using it now would only be using this one version |
The grid capabilities are Fedora Linux family only. As this is a Ubuntu build which is Debian so probably best to keep the grid uploads separate. I think I like Main for the name. On a separate issue do we still want python2 compatibility? I just suggest that maybe we don't want to encourage people to use python2 but wouldn't fight you saying you don't want to spend x hours recompiling just to get rid of it. |
I was wondering if the instructions should say about on cedar before running apptainer it's best to module load apptainer. Loading interatively it's not too important as you can choose whichever version you want but if you are running in a batch job it won't run unless it knows which version of apptainer you want to use. module load apptainer loads the default apptainer |
I tried using Ubuntu 24, but something was going wrong with the Geant4 install. And there was less information printed out than just running straight on the terminal. I'm sure there's a way of getting it to print more info and get our version of Geant4 installed on there, but given we know it works on Cedar and other Alma9 machines I'm inclined to just stick with Ubuntu 20 for now to get it rolled out sooner. We had a discussion in the CIC call today where we agreed long term we should build the container with Alma9. But given we know this works, for now we'll push the Ubuntu 20 version so we get something out that people can use quicker. I'll make the Alma 9 recipe in a different PR, without the time pressure of needing to get something pushed asap In trying that though I was recompiling anyway so have taken out the python2 options. And that's definitely a good idea on having module load apptainer in the instructions, I've added that now I've also removed the ROOT5 directory, and renamed the ROOT6 one MAIN, rather than adding a separate new directory |
I have an Alma 9 for just grid upload in apptainer script in rat-tools. I have the image on cedar in /project/def-ckrauss/djauty/snopl9.img if that's helpful. |
On the M3 mac you have to be in the folder of thisroot.sh to source it. I don't know if you want to change the set-env.sh to
|
ah interesting! There's no downside to doing that for all so I'll change it |
Could we change the this line to the following?
I think this will prevent the user being dropped into |
GENIE+geo2gdml container
Updating documentation to use "apptainer" instead of "singularity" commands.
Also added new dockerfile under new EL9 directory to use later version of ROOT 6
I used this dockerfile to push a new tag called "el9" (and included this in documentation)
But there's an argument that this could just be an update to the ROOT6 version. But then as we no longer formally support ROOT 5, do we deprecate the ROOT5 version, but if so should the ROOT6 version then be renamed as the use of ROOT 6 would not make it distinct. Maybe to something like MAIN? I am very open to suggestions