Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.7.0, Lustre 2.5.3
-
None
-
3
-
16166
Description
The LU-4707 patch was well intentioned, but ultimately has a number of problems. I would like to see those patches reverted, and the problems dealt with in a more appropriate fashion.
Here are the patches in gerrit:
http://review.whamcloud.com/#/c/9940/
http://review.whamcloud.com/#/c/9535/
Here are some of the problems:
The first problem is that it relied on a decade-old macro named LB_CONFIG_INIT_SCRIPTS that uses a sloppy heuristic of checking for the existence of checking for two files under /etc, and assuming that is a good way to identify a Red Hat system. This method doesn't work under mock-based build environments. (Intel really needs to make LU-3956 happen so you can catch these bugs.)
Next, the patches seem to claim that this patch doesn't install init scripts on lustre clients. That isn't really true. It only excludes the scripts from the serverless packages. Clients that use the packages that contain client and server modules will still get the init scripts. So the problem really isn't solved yet.
A better way to address this problem is to do the work in LU-3957. A single build of lustre should create separate client and server rpms, and the init scripts for the servers only go into the correct package.
Next, the "INIT_SCRIPTS" variable name is not a good one. It is too vague. It should have been, at the very least, something along the lines of "REDHAT_INIT_SCRIPT" if the init scripts only apply to redhat-like systems.
But again, the main issue is that those commits broke the build under mock-based environments, and therefore need to be reverted.