1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # TODO: Temporarily disabled due to importing old code into openshift-ansible
- # repo. We will work on these over time.
- # pylint: disable=bad-continuation,missing-docstring,no-self-use,invalid-name,too-few-public-methods
- """
- Defines the supported variants and versions the installer supports, and metadata
- required to run Ansible correctly.
- This module needs to be updated for each major release to allow the new version
- to be specified by the user, and to point the generic variants to the latest
- version.
- """
- class Version(object):
- def __init__(self, name, ansible_key):
- self.name = name # i.e. 3.0, 3.1
- self.ansible_key = ansible_key
- class Variant(object):
- def __init__(self, name, description, versions):
- # Supported variant name:
- self.name = name
- # Friendly name for the variant:
- self.description = description
- self.versions = versions
- def latest_version(self):
- return self.versions[0]
- # WARNING: Keep the versions ordered, most recent last:
- OSE = Variant('openshift-enterprise', 'OpenShift Enterprise',
- [
- Version('3.1', 'openshift-enterprise'),
- Version('3.0', 'enterprise')
- ]
- )
- AEP = Variant('atomic-enterprise', 'Atomic Enterprise Platform',
- [
- Version('3.1', 'atomic-enterprise')
- ]
- )
- # Ordered list of variants we can install, first is the default.
- SUPPORTED_VARIANTS = (OSE, AEP)
- def find_variant(name, version=None):
- """
- Locate the variant object for the variant given in config file, and
- the correct version to use for it.
- Return (None, None) if we can't find a match.
- """
- prod = None
- for prod in SUPPORTED_VARIANTS:
- if prod.name == name:
- if version is None:
- return (prod, prod.latest_version())
- for v in prod.versions:
- if v.name == version:
- return (prod, v)
- return (None, None)
- def get_variant_version_combos():
- combos = []
- for variant in SUPPORTED_VARIANTS:
- for ver in variant.versions:
- combos.append((variant, ver))
- return combos
|