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

Package pelican-server binary #1855

Open
matyasselmeci opened this issue Dec 26, 2024 · 2 comments · May be fixed by #1896
Open

Package pelican-server binary #1855

matyasselmeci opened this issue Dec 26, 2024 · 2 comments · May be fixed by #1896
Assignees
Labels
enhancement New feature or request lotman
Milestone

Comments

@matyasselmeci
Copy link
Contributor

Now that we have a separate "pelican-server" binary, we should put it in our packaging (RPMs, Debs, APKs). Awkwardly, we already have a package called "pelican-server", but that just includes systemd files and config files for the individual components (e.g. /etc/pelican/pelican-cache.yaml). Presumably we will be modifying the systemd files to use the pelican-server binary instead of the pelican binary.

I see three options for packaging (I'm using RPM as an example but we should also do Debs):

  1. Put the pelican-server binary in the pelican RPM (same as the pelican binary).

  2. Put the pelican-server binary in the pelican-server RPM (same as the systemd configs).

  3. Put the pelican-server binary in its own RPM (say, "pelican-server-progs").

The advantage of choice 1 is that neither the pelican-server RPM nor the osdf-{cache,origin,director,registry} RPMs will gain any dependencies. The downside is that admins won't be able to upgrade the client and server separately (which was one of the things we were hoping to get from splitting out pelican-server).

The advantage of choice 2 is that it's obvious (pelican-server contains pelican-server), and the pelican-server RPM won't gain any dependencies. Unfortunately, the osdf-{cache,origin,director,registry} RPMs will gain a dependency on pelican-server, which will result in people installing, say, just osdf-cache, but also getting systemd files for pelican-origin, pelican-cache, pelican-director, pelican-registry.

The advantage of choice 3 is that it's a clean separation and doesn't have the previously mentioned downsides. The disadvantage is that it's yet another RPM in our already large list of artifacts. The dependencies of pelican-server and osdf-* will have to be updated.

I personally think 3 is the best choice here.

@matyasselmeci matyasselmeci added the enhancement New feature or request label Dec 26, 2024
@matyasselmeci matyasselmeci self-assigned this Dec 26, 2024
@matyasselmeci
Copy link
Contributor Author

@jhiemstrawisc , @brianhlin , can you weigh in when you have the chance?

@bbockelm
Copy link
Collaborator

I think I'm leaning toward (2). I don't particularly mind the quoted downside of having a few unused systemd units being installed.

The worst case I can come up with is that they are an "attractive nuisance": someone configures the osdf service, forgets the service name, and then tries to start/stop the corresponding pelican service instead.

@matyasselmeci matyasselmeci added this to the v7.13.0 milestone Jan 8, 2025
@matyasselmeci matyasselmeci modified the milestones: v7.13.0, v7.14 Jan 22, 2025
@matyasselmeci matyasselmeci modified the milestones: v7.14, v7.15 Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request lotman
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants