Thoughts on automating Lustre Client module builds.

  • Keep a copy of the current lustre package under /opt/services/lustre-client on usno-serv-1t. (Had to install the RPM, which is just source, and move it to /opt/services/lustre-client).
  • On usno-serv-1t first do the normal patching that results in an updated diskless kernel (otherwise lustre client modules are good).
  • Insure that the updated kernel headers are available under the /opt/services/diskless_boot/RHEL-xxx. Looks like they're installed in our 6.9.0.10 distro, so probably it comes as part of the kernel update(?).
  • Using mount --bind /opt/services/lustre-client/ /opt/services/diskless_boot/RHEL-xxx/usno-corr/lustre-client # Or somewhere else. The point of this mount it to make the lustre directory available in the chroot jail.
  • Set up the chroot jail as is done in usno_patch.sh just before calling usno_patch-client.sh. Probably this should be a new script (e.g., usno_lustre-client-update.sh).
  • From within the jail, configure, clean and build the lustre client rpms (see lustre build instructions link on the main patch page).
  • Apply the appropriate lustre rpms (lustre-client-${version}-*rpm and lustre-client-modules-${version}*rpm). The version is the lustre version (x.y.z) followed by the Red Hat kernel version: for example, with Lustre v2.4.3 the version would be 2.4.3-2.6.32_696.3.2.el6.x86_64.x86_64.
  • Exit the chroot jail
  • Copy the needed lustre rpms (a few of them are unneeded) into the /home/usno-serv/updates/yum/RHEL-xxx/lustre. This should make them available when they're copied over to the production server later in the patch process. The patch script running on the production server should see these as normal updates and apply them automatically.

-- JimJacobs - 2017-07-07
Topic revision: r2 - 2017-07-13, JimJacobs
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback