Managing a Cray supercomputer as a git branch. (27th December 2018) - Jacobsen, Douglas M.; Kleinman, Randy; Longley, Harold
Summary: Modern software engineering/DevOps techniques applied to Cray XC Series systems management enable higher fidelity translation from test to production environments, reduce administration costs by avoiding duplicate efforts, and increase reliability. This can be done by using a git repository to track and manage all system configurations on the SMW(s) (System Management Workstation) and then adapt a gitflow‐like development methodology. Using git improves change management with peer review of changes, identification of who made a change, knowing why a change was made, facilitating easier reversion of bad changes, and enables a workflow using the ideas from gitflow with individual branches for preparing, maintaining, and recording releases. Using branches enables multiple contributors to work on different types of changes without getting unexpected changes from another feature area. We will describe a process similar to that used at NERSC (National Energy Research Scientific Computing Center) to extract/abstract configuration data, manage it using git, and then re‐apply changes to the SMW(s).