Skip to content
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

Inclusion of spline tables in container #166

Open
mlincett opened this issue Apr 3, 2023 · 11 comments
Open

Inclusion of spline tables in container #166

mlincett opened this issue Apr 3, 2023 · 11 comments
Labels
CI / Testing About CI and/or testing container/image About docker / singularity / apptainer

Comments

@mlincett
Copy link
Collaborator

mlincett commented Apr 3, 2023

Currently, only the spline tables used by millipede_original are included in the Skymap Scanner docker image and I believe there are a few points that should be sorted out:

  • the spline tables for millipede_original are fetched upstream, as prescribed by the Dockerfile of IceTray. It would make more sense to fetch them as part of the Dockerfile of Skymap Scanner;
  • millipede_wilks and splinempe require additional spline tables; right now for millipede_wilks we override $I3_DATA in the client starter script so it points to CVMFS, however this does not work in CI;
  • there is a Dockerfile no_cvmfs: shouldn't this become the default, at least for CI purposes?
@ric-evans ric-evans added container/image About docker / singularity / apptainer CI / Testing About CI and/or testing labels Apr 4, 2023
@ric-evans
Copy link
Member

ric-evans commented Apr 4, 2023

see #148 (comment)

Preferably, I'd like to see a no-CVMFS pattern for all our use cases if possible.

@mlincett
Copy link
Collaborator Author

mlincett commented Apr 4, 2023

see #148 (comment)

Preferably, I'd like to see a no-CVMFS pattern for all our use cases if possible.

I guess by "no-CVFMS" you mean an image not including data from CVMFS? Because the current "no-CVFMS" Dockerfile is the opposite: a container that does not need CVMFS access at runtime.

So I guess we would be fetching the spline data at runtime and mount their location as a volume, right? I agree with making the "code-only" image the default (also because it is then trivial to add data on top of that if there are special requirements).

@ric-evans
Copy link
Member

ric-evans commented Apr 4, 2023

Right, I believe we agree--a dataless image.

We either mount as a volume or have the container's process fetch the data and write within the container. Then following processes would look inside the container instead of refetching.

@mlincett
Copy link
Collaborator Author

mlincett commented Apr 5, 2023

Side note: since we are going to clean up the Dockerfile, there is a bunch of commented out import statements for pieces of realtime that are no longer required and can be safely removed.

@mlincett
Copy link
Collaborator Author

mlincett commented Apr 6, 2023

After a brief chat with @ric-evans , maybe we could reconsider IceTray filestagers on the client side.

It seems to be the path of least resistance.

@mlincett
Copy link
Collaborator Author

Now that #174 is merged I suggest we make the upstream IceTray image "dataless", what do you think @dsschult ?

@dsschult
Copy link
Member

Now that #174 is merged I suggest we make the upstream IceTray image "dataless", what do you think @dsschult ?

I agree.

WIPACrepo/docker-icecube-icetray#10

That look good?

@mlincett
Copy link
Collaborator Author

Now that #174 is merged I suggest we make the upstream IceTray image "dataless", what do you think @dsschult ?

I agree.

WIPACrepo/docker-icecube-icetray#10

That look good?

Seems fine to me!

@dsschult
Copy link
Member

Just checking, but how do we handle the base gcd lookups? Some similar principle? Or do we even do those anymore?

@mlincett
Copy link
Collaborator Author

Just checking, but how do we handle the base gcd lookups? Some similar principle? Or do we even do those anymore?

I have not touched that part anymore but the DataStager was designed with this also in mind. For now we still expect them to be inside the container, but the staging can/will be implemented (are GCD files on prod-exe?)

@dsschult
Copy link
Member

Just checking, but how do we handle the base gcd lookups? Some similar principle? Or do we even do those anymore?

I have not touched that part anymore but the DataStager was designed with this also in mind. For now we still expect them to be inside the container, but the staging can/will be implemented (are GCD files on prod-exe?)

One helping thing is #150 , and then we don't need the base gcds in the client container, just at the server. That has CVMFS available for most scenarios.

I don't think the base GCD files are on prod-exe, as they are in /data/user/followup/baseline_gcds/, but that could be fixed fairly easily for a fallback stager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI / Testing About CI and/or testing container/image About docker / singularity / apptainer
Projects
None yet
Development

No branches or pull requests

3 participants