Skip to content

Component Deprecation Process

Karl W. Schulz edited this page Apr 3, 2018 · 1 revision

Purpose:

OpenHPC relies on a growing number of open-source projects to provide a variety of pre-built binaries and libraries common in HPC environments for multiple Linux distributions. While OpenHPC strives to maintain the entire set of selected components for each release, the purpose of this policy is to cover situations where a particular component cannot be maintained and outlines the OpenHPC deprecation procedure.

Outline:

Existing components within OpenHPC may be flagged for deprecation consideration for the following general reasons:

  • build failures encountered using current OpenHPC development toolchain(s)
  • runtime test failures encountered in OpenHPC integration test suite
  • incompatibility with other component changes (e.g. API changes, etc)
  • component functionality superseded by newer stable development project availability of component in binary form from other community repositories that are sufficient for use with OpenHPC
  • incompatible license change
  • unresolved security issues
  • introduction of incompatible dependency requirements
  • upstream source removal/deprecation
  • community resource constraints
  • other miscellaneous issues that prevent component from being used as desired in OpenHPC environment

If any of the issues outlined are encountered, OpenHPC maintainers will first try to resolve the problems directly through creation of patches and interaction with the relevant upstream development parties. Generic patches devised for use within the OpenHPC build process will be submitted upstream for consideration. In cases where a particular problem cannot be resolved in time for the next planned OpenHPC release (herein referred to as the Nth release), the following process will be triggered:

  • relevant component(s) will be demarcated with a “stalled” flag in the Important Highlights section of the Release Notes with a brief summary of the issue(s) encountered
  • relevant component(s) that are stalled will not be included in the Nth release

Deprecation:

Components flagged as stalled during the Nth release will continue to be analyzed during the development cycle for the subsequent OpenHPC release (referred to here as the Nth+1 release). If a component issue cannot be satisfactorily resolved via changes by upstream community or OpenHPC maintainers in time for the (Nth+1) release, the relevant component(s) will be deprecated.

Once deprecated, the relevant component(s) will not be included for any future releases unless they are selected for re-inclusion via the standard OpenHPC component submission process.


Version 1.0 (March 2018)

Clone this wiki locally