You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.5 KiB

# 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 [<min version, inclusive>, <max version, exclusive>)
* 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 [<min version, inclusive>, <max version, exclusive>)
* 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'
}
]
}
]