Skip to content

Package manifests for the LiveCD (pit) and Non-Compute Node (NCN).

License

Notifications You must be signed in to change notification settings

kazuya-hpe/csm-rpms

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cray System Management - Package & Repository Manifest

This repository serves as a manifest for CSM’s builds of the non-compute node and pre-install toolkit.

Each deliverable is built for multiple mediums, this repository groups manifests by deliverable and the deliverable’s expected mediums.

Packages

Packages are sorted based on content and mediums:

Content

This list denotes the various content deliverables we build at CSM. Each items in this list has its own list of packages:

Mediums

Each content deliverable builds a Google and a Metal artifact: - Google: An artifact delivered to GCP for use in vShasta - Metal: An artifact delivered into Artifactory for use on real hardware

There could be more types of artifacts as time goes on, for now we only build deliverables for Google and Metal.

Each .package file in each of the content deliverable folders listed in Content divide packages up by medium (e.g. Google or Metal).

  • base.packages are common to any build

  • google.packages are only installed into Google builds

  • metal.packages are only installed into Metal builds

Adding Packages

When adding a package, by default any/all packages should go into the base.packages file. This helps keep our artifacts common between each delivery endpoint (preventing divergence from Google and Metal). If the package is specific to a medium, then it should go into one of the other .package files.

Examples

For example, nginx is necessary in Google to server some data to the vShasta deployment from Kubernetes nodes. However CSM does not want nginx installed on metal since it serves no purpose for metal installs and would only add an extra unnecessary service. Therefore nginx is only installed in Google artifacts of node-image-kubernetes.

Another example, dracut-metal-mdsquash handles partitioning disks to serve to a booted Live squashFS image. It is a necessity for Metal artifacts, specificlaly the Non-Compute Nodes. However vShasta handles disks entirely differently, and having this package would complicate vshasta boots. Therefore it dracut-metal-mdsquash is installed in the node-image-non-compute-common layer so any NCN derivative will have this package, and it is specifically listed in the metal.packages file.

An example of a double-inclusion, keepalived and haproxy are both needed in Kubernetes and Storage-CEPH images and are explicitly listed in both instead of being listed in node-image-non-compute-common. This is because if another NCN type were to be created, or if any other node were to import the common layer, that node may not want these two packages. It could be argued that these should exist in ncn-common anyway, but for the sake of not over-specializing the ncn-common layer these remain excluded.

A final example, cray-site-init is used for initializing a system in any context. This package is needed in the pre-install toolkit, that is available during an install before non-compute nodes are deployed. This package is used for both Metal and vShasta (Google), albeit it might not always be used by developers of vShasta the package itself is usable in either context. Therefore cray-site-init is installed into the cray-pre-install-toolkit via the base.packages file, making it available on both Metal and vShasta PITs.


1. packages/cray-pre-install-toolkit could rename itself to packages/node-images-pit-common after the completion of MTL-1476

About

Package manifests for the LiveCD (pit) and Non-Compute Node (NCN).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 80.6%
  • Python 15.9%
  • Makefile 3.5%