lustre build system overhaul (LU-1199)

[LU-3464] Create lustre-client and lustre-server binary rpms Created: 12/Jun/13  Updated: 16/Sep/13  Resolved: 16/Sep/13

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.5.0
Fix Version/s: None

Type: Technical task Priority: Minor
Reporter: Christopher Morrone Assignee: Minh Diep
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Related
is related to LU-3957 Create separate server and client bin... Open
is related to LU-3492 Lustre 2.4 SRPM Re-Build Fails Resolved
Rank (Obsolete): 8661

 Description   

I think it would be advantageous to start building separate lustre-client and lustre-server binary rpms as part of our normal build process. There are a couple of reasons why I think this is the way to go, despite the fact that the rpm count is certainly growing large.

  1. Current lustre-client-* vs lustre-* package names are confusing. lustre-* actually contains client code as well. lustre-client-* binary rpms are just lacking the server code. And the lustre-client-<version>.src.rpm is not lacking the server code, which is more confusing still!
  2. A Linux distro can contain one version of lustre, and allow admins to select client and/or server components at install time. Our current build does not allow that. This means that places like LLNL wind up with server init scripts installed on client nodes. Less than optimal.

This would also be a great opportunity to fix the terribly bad "is_client" macro in the lustre spec file. "is_client" does not really control whether client code is built, instead it controls whether server code is build. And even more confusingly, it shouldn't really be set directly; the proscribed method of selecting a client-only build of lustre is to change the package name to a special string. Not a good design.

That should be cleaned up as part of the modifications to create the lustre-client- and lustre-server- rpms.



 Comments   
Comment by Peter Jones [ 13/Jun/13 ]

Minh can you please review this suggestion to understand what would be required? thanks Peter

Comment by Minh Diep [ 14/Aug/13 ]

Hi Chris,

Should we use two lustre.spec files? each for server, client?

Comment by Christopher Morrone [ 14/Aug/13 ]

I think a single spec file is the way to go on this. The client and server code is built at the same time as part of the same autoconf system on the same software package. So I think one spec file is appropriate. We would need to re-architect the build system quite a bit to use two spec files, I think.

Comment by Jodi Levi (Inactive) [ 16/Sep/13 ]

Duplicate of LU-3957

Generated at Sat Feb 10 01:34:08 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.