CSEP Distribution

From SCECpedia
Jump to navigationJump to search

Here is the summary how we distribute CSEP software.

INFRASTRUCTURE AND ENVIRONMENT

  • Virtual machines required to maintain environment consistency while allowing flexibility on hardware specifications.
  • We use KVM, but any preferred methods will work.
  • Install a VM instance of preferred OS.
  • Install necessary dependencies (compilers, libraries, etc).
  • Testing codes isolated single directory (ie /usr/local/csep).
  • Once codes are developed, clone the VM instance (minus /usr/local/csep)
  • Cloned images can now be used for more DEVELopment, CERTification,Operation or other testing centers.
  • Codes maintained by either SVN or YUM (rpm).

OUR TYPICAL PROCESS DISTRIBUTING CSEP RELEASE

  • Tag release in SVN
  • Check out code base from SVN to "development" VM image
  • Build RPMs for 'generic' and testing regions specific ('csep-ca', 'csep-wpacific', 'csep-global', 'csep-oceanic', 'csep-eu', 'csep-nz', 'csep-japan') packages for easy installation on VMs.
  • CSEP YUM repository is updated with RPMs for the release
  • RPMs on "operational" SCEC VM are updated with new release.
  • VM images for each testing center (EU, NZ, Japan) are updated with corresponding to the center RPMs
  • Permissions of codes are controlled by separate RPM packages or subdirectories in SVN.
  • RPMs are an extra step but much appreciated by the system admins for ease of installation.