Skip to content

Install pelican dependencies in final stage container#1959

Merged
jhiemstrawisc merged 1 commit intoPelicanPlatform:mainfrom
jhiemstrawisc:issue-1957
Jan 29, 2025
Merged

Install pelican dependencies in final stage container#1959
jhiemstrawisc merged 1 commit intoPelicanPlatform:mainfrom
jhiemstrawisc:issue-1957

Conversation

@jhiemstrawisc
Copy link
Member

We've run into a lot of issues with the way we install dependencies in our production container, including the inability to determine versions for what's installed, and shared objects that are copied without bringing along their dependencies.

Instead, we should just install whatever we can directly as an RPM into the final-stage container. This solves both issues in one fell swoop of a Pelican's beak.

We've run into a lot of issues with the way we install dependencies in our
production container, including the inability to determine versions for
what's installed, and shared objects that are copied without bringing
along their dependencies.

Instead, we should just install whatever we can directly as an RPM into
the final-stage container. This solves both issues in one fell swoop
of a Pelican's beak.
@jhiemstrawisc jhiemstrawisc added bug Something isn't working dependencies Pull requests that update a dependency file critical High priority for next release cache Issue relating to the cache component container labels Jan 28, 2025
@jhiemstrawisc jhiemstrawisc added this to the v7.13.0 milestone Jan 28, 2025
@jhiemstrawisc jhiemstrawisc linked an issue Jan 28, 2025 that may be closed by this pull request
@jhiemstrawisc
Copy link
Member Author

This also partially addresses some of the concerns raised in #1866.

Copy link
Contributor

@brianaydemir brianaydemir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@brianaydemir
Copy link
Contributor

Brief overview of my testing:

  1. Check out the PR locally.

  2. docker build --target final-stage -t pelican:latest -f images/Dockerfile .

  3. Start my bespoke Docker Compose setup using this image.

  4. In the dev environment container, run pelican serve --module director,registry,origin,cache --config config.yaml.

  5. Log into the Web UI, select the registry, and accept all the pending registrations.

  6. In the user environment container:

    • Try an object ls.
    • Try an object get as a direct read.
    • Try an object get via the cache, using -c. (Cache miss.)
    • Try the same exact thing. (Cache hit.)
    • Try an object get.
    • Try an object put. (Requires a token.)

Files:

@jhiemstrawisc jhiemstrawisc merged commit 64ff6fc into PelicanPlatform:main Jan 29, 2025
28 checks passed
@bbockelm bbockelm mentioned this pull request Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working cache Issue relating to the cache component container critical High priority for next release dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dependency for xrdcl-pelican is missing in production container

2 participants