# Copyright (C) 2005-2025 Splunk Inc. All Rights Reserved. from itsi.upgrade.constants import LAST_SUPPORTED_VERSION, NEW_VERSION from itsi.upgrade.precheck.migration_precheck_ea import EAPrechecks from itsi.upgrade.precheck.migration_precheck_si import SIMigrationPreCheck from itsi.upgrade.precheck.migration_precheck_im import IMPrechecks """ List of precheck specs. Each spec consists of the following: * old_version: applicability of this precheck spec given the current version of ITSI. Value can be a string or tuple denoting source version range. If a string, it is treated as the range [string, None). If a tuple, then is represents the range [, ) * new_version: applicability of this precheck spec given the version of ITSI to migrate to. Value can be a string or tuple denoting target version range. If a string, it is treated as the range [string, None). If a tuple, then is represents the range [, ) * type: the prechecker class that extends MigrationPreCheck * pre_checks: list of objects that denote the precheck to run in the prechecker class * id: Name of precheck. This string will be appended to the string: precheck_ which then will be used to call the method by that name in the prechecker class * title: description for the precheck """ MIGRATION_PRECHECK_REGISTRY = [ { 'old_version': (LAST_SUPPORTED_VERSION, NEW_VERSION), 'new_version': NEW_VERSION, 'type': EAPrechecks, 'pre_checks': [ { "id": "KVSIZECHK", "title": "KV store size precheck" }, { "id": "EACONFIG", "title": "EA configuration precheck" } ] }, { 'old_version': (LAST_SUPPORTED_VERSION, NEW_VERSION), 'new_version': NEW_VERSION, 'type': SIMigrationPreCheck, 'pre_checks': [ { 'id': 'SVC_SVCTMPL', 'title': 'Service and service templates precheck' }, { 'id': 'KPI', 'title': 'KPIs precheck' } ] }, { 'old_version': (LAST_SUPPORTED_VERSION, NEW_VERSION), 'new_version': NEW_VERSION, 'type': IMPrechecks, 'pre_checks': [ { 'id': 'DBOARD_DRILLDOWN', 'title': 'Entity type dashboard precheck' } ] } ]