Reorganize USM constants

This commit reorganize the USM constants in logical groups.

Test Plan:
PASS: Build/Install.
PASS: Check software commands.

Story: 2010676
Task: 51643

Change-Id: If705ab604f24f4caaa628c56c92a106c80900480
Signed-off-by: Luis Eduardo Bonatti <luizeduardo.bonatti@windriver.com>
This commit is contained in:
Luis Eduardo Bonatti 2025-02-03 10:44:55 -03:00
parent 00feeb4d20
commit 88758c800d
3 changed files with 109 additions and 82 deletions

View File

@ -1,47 +1,50 @@
#
# Copyright (c) 2023-2024 Wind River Systems, Inc.
# Copyright (c) 2023-2025 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# Network
ADDRESS_VERSION_IPV4 = 4
ADDRESS_VERSION_IPV6 = 6
CONTROLLER_FLOATING_HOSTNAME = "controller"
LOOPBACK_INTERFACE_NAME = "lo"
SOFTWARE_STORAGE_DIR = "/opt/software"
# USM state and Patch status
DEPLOYED = 'deployed'
DEPLOYING = 'deploying'
FAILED = 'failed'
PENDING = 'pending'
PATCH_AGENT_STATE_IDLE = "idle"
PATCH_AGENT_STATE_INSTALLING = "installing"
PATCH_AGENT_STATE_INSTALL_FAILED = "install-failed"
PATCH_AGENT_STATE_INSTALL_REJECTED = "install-rejected"
# Status
STATUS_DEVELOPEMENT = 'DEV'
STATUS_OBSOLETE = 'OBS'
STATUS_RELEASED = 'REL'
LOOPBACK_INTERFACE_NAME = "lo"
# Semantic
SEMANTIC_PREAPPLY = 'pre-apply'
SEMANTIC_PREREMOVE = 'pre-remove'
SEMANTIC_ACTIONS = [SEMANTIC_PREAPPLY, SEMANTIC_PREREMOVE]
# Deployment status
DEPLOYMENT_STATE_ACTIVE = "Active"
DEPLOYMENT_STATE_INACTIVE = "Inactive"
DEPLOYMENT_STATE_PRESTAGING = "Prestaging"
DEPLOYMENT_STATE_PRESTAGED = "Prestaged"
# Upload
ISO_EXTENSION = ".iso"
SIG_EXTENSION = ".sig"
PATCH_EXTENSION = ".patch"
SUPPORTED_UPLOAD_FILE_EXT = [ISO_EXTENSION, SIG_EXTENSION, PATCH_EXTENSION]
SCRATCH_DIR = "/scratch"
# host deploy state
DEPLOYING = 'deploying'
FAILED = 'failed'
PENDING = 'pending'
DEPLOYED = 'deployed'
# Authorization modes of software cli
KEYSTONE = 'keystone'
TOKEN = 'token'

View File

@ -1,5 +1,5 @@
"""
Copyright (c) 2023-2024 Wind River Systems, Inc.
Copyright (c) 2023-2025 Wind River Systems, Inc.
SPDX-License-Identifier: Apache-2.0
@ -17,64 +17,105 @@ except Exception:
from fm_api import constants as fm_constants
from tsconfig.tsconfig import SW_VERSION
# Network
ADDRESS_VERSION_IPV4 = 4
ADDRESS_VERSION_IPV6 = 6
LOOPBACK_INTERFACE_NAME = "lo"
# Availability and administrative
AVAILABILITY_ONLINE = 'online'
AVAILABILITY_AVAILABLE = 'available'
AVAILABILITY_DEGRADED = 'degraded'
ADMIN_LOCKED = 'locked'
ADMIN_UNLOCKED = 'unlocked'
# Hostnames
CONTROLLER_FLOATING_HOSTNAME = "controller"
CONTROLLER_0_HOSTNAME = '%s-0' % CONTROLLER_FLOATING_HOSTNAME
CONTROLLER_1_HOSTNAME = '%s-1' % CONTROLLER_FLOATING_HOSTNAME
PREBOOTSTRAP_HOSTNAME = 'localhost'
# Personalities
CONTROLLER = 'controller'
STORAGE = 'storage'
WORKER = 'worker'
# Region names
DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER = 'systemcontroller'
SYSTEM_CONTROLLER_REGION = 'SystemController'
# DC
DC_VAULT_DIR = "/opt/dc-vault"
DC_VAULT_PLAYBOOK_DIR = "%s/playbooks" % DC_VAULT_DIR
DC_VAULT_LOADS_DIR = "%s/loads" % DC_VAULT_DIR
# Certificate
ENABLE_DEV_CERTIFICATE_PATCH_IDENTIFIER = 'ENABLE_DEV_CERTIFICATE'
# Software path's
SOFTWARE_STORAGE_DIR = "/opt/software"
SOFTWARE_CONFIG_FILE_LOCAL = "/etc/software/software.conf"
SOFTWARE_DEPLOY_FOLDER = "software-deploy"
SOFTWARE_JSON_FILE = "%s/software.json" % SOFTWARE_STORAGE_DIR
SYNCED_SOFTWARE_JSON_FILE = "%s/synced/software.json" % SOFTWARE_STORAGE_DIR
# Deploy precheck return codes
RC_SUCCESS = 0
RC_UNHEALTHY = 3
PRECHECK_RESULT_VALID_PERIOD = 300
# Script names
DEPLOY_PRECHECK_SCRIPT = "deploy-precheck"
UPGRADE_UTILS_SCRIPT = "upgrade_utils.py"
DEPLOY_START_SCRIPT = "software-deploy-start"
DEPLOY_CLEANUP_SCRIPT = "deploy-cleanup"
USM_LOAD_IMPORT_SCRIPT = "usm_load_import"
PATCH_SCRIPTS_STAGING_DIR = "/var/www/pages/updates/software-scripts"
SEMANTICS_DIR = "%s/semantics" % SOFTWARE_STORAGE_DIR
# Status
STATUS_DEVELOPEMENT = 'DEV'
STATUS_OBSOLETE = 'OBS'
STATUS_RELEASED = 'REL'
# Patch status
PATCH_AGENT_STATE_IDLE = "idle"
PATCH_AGENT_STATE_INSTALLING = "installing"
PATCH_AGENT_STATE_INSTALL_FAILED = "install-failed"
PATCH_AGENT_STATE_INSTALL_REJECTED = "install-rejected"
REBOOT_REQUIRED = "reboot_required"
# Patch
CHECKOUT_FOLDER = "checked_out_commit"
# Feed
DEBIAN_RELEASE = "bullseye"
FEED_DIR = "/var/www/pages/feed/"
FEED_OSTREE_BASE_DIR = "/var/www/pages/feed"
FEED_OSTREE_URL = "http://controller:8080/feed"
OSTREE_BASE_DEPLOYMENT_DIR = "/ostree/deploy/debian/deploy/"
PACKAGE_FEED_DIR = "/var/www/pages/updates/debian"
UPGRADE_FEED_DIR = FEED_DIR
# Ostree
OSTREE_BASE_DEPLOYMENT_DIR = "/ostree/deploy/debian/deploy/"
OSTREE_REF = "starlingx"
SYSROOT_OSTREE_REF = "debian:starlingx"
OSTREE_REMOTE = "debian"
OSTREE_AUX_REMOTE = "controller-feed"
OSTREE_AUX_REMOTE_PATH = "/ostree/repo"
OSTREE_HISTORY_NOT_FETCHED = "<< History beyond this commit not fetched >>"
DEBIAN_RELEASE = "bullseye"
STARLINGX_RELEASE = SW_VERSION
PATCH_SCRIPTS_STAGING_DIR = "/var/www/pages/updates/software-scripts"
OSTREE_REPO = 'ostree_repo'
SYSROOT_OSTREE_REF = "debian:starlingx"
# Sysroot
SYSROOT_OSTREE = "/sysroot/ostree/repo"
STAGING_DIR = "/sysroot/upgrade"
ROOT_DIR = "%s/sysroot" % STAGING_DIR
POSTGRES_PATH = "/var/lib/postgresql"
PLATFORM_PATH = "/opt/platform"
RABBIT_PATH = '/var/lib/rabbitmq'
ETCD_PATH = "/opt/etcd"
PLATFORM_PATH = "/opt/platform"
PLAYBOOKS_PATH = "/usr/share/ansible/stx-ansible/playbooks"
POSTGRES_PATH = "/var/lib/postgresql"
RABBIT_PATH = '/var/lib/rabbitmq'
TMP_DIR = "/tmp"
# Upgrade dirs
ARMADA = "armada"
CONFIG = "config"
DEPLOY = "deploy"
@ -85,68 +126,49 @@ PUPPET = "puppet"
SYSINV = "sysinv"
UPGRADE = "upgrade"
VIM = "nfv/vim"
RELEASE_PREFIX = "rel"
DEPLOY_CLEANUP_FOLDERS_NAME = [ARMADA, CONFIG, DEPLOY, FLUXCD, HELM, KEYRING, PUPPET, SYSINV, VIM]
LOOPBACK_INTERFACE_NAME = "lo"
# Semantic
SEMANTIC_PREAPPLY = 'pre-apply'
SEMANTIC_PREREMOVE = 'pre-remove'
SEMANTIC_ACTIONS = [SEMANTIC_PREAPPLY, SEMANTIC_PREREMOVE]
SEMANTICS_DIR = "%s/semantics" % SOFTWARE_STORAGE_DIR
CHECKOUT_FOLDER = "checked_out_commit"
COMMIT_DEFAULT_VALUE = "xxxBASECOMMITxxx"
FEED_DIR = "/var/www/pages/feed/"
UPGRADE_FEED_DIR = FEED_DIR
TMP_DIR = "/tmp"
OSTREE_REPO = 'ostree_repo'
# Upload
ISO_EXTENSION = ".iso"
SIG_EXTENSION = ".sig"
PATCH_EXTENSION = ".patch"
SUPPORTED_UPLOAD_FILE_EXT = [ISO_EXTENSION, SIG_EXTENSION, PATCH_EXTENSION]
SCRATCH_DIR = "/scratch"
RELEASE_GA_NAME = "starlingx-%s"
MAJOR_RELEASE = "%s.0"
# Release
LOWEST_MAJOR_RELEASE_FOR_PATCH_SUPPORT = "24.09"
MAJOR_RELEASE = "%s.0"
RELEASE_GA_NAME = "starlingx-%s"
RELEASE_PREFIX = "rel"
STARLINGX_RELEASE = SW_VERSION
UNKNOWN_SOFTWARE_VERSION = "0.0.0"
# Precheck constants
LICENSE_FILE = "/etc/platform/.license"
VERIFY_LICENSE_BINARY = "/usr/bin/verify-license"
VERSIONED_SCRIPTS_DIR = "%s/rel-%%s/bin/" % SOFTWARE_STORAGE_DIR
SOFTWARE_JSON_FILE = "%s/software.json" % SOFTWARE_STORAGE_DIR
SYNCED_SOFTWARE_JSON_FILE = "%s/synced/software.json" % SOFTWARE_STORAGE_DIR
# The value "software-deploy" is also used in rule file
SOFTWARE_DEPLOY_FOLDER = "software-deploy"
WORKER_SUMMARY_DIR = "%s/summary" % SOFTWARE_STORAGE_DIR
WORKER_DATETIME_FORMAT = "%Y%m%dT%H%M%S%f"
UNKNOWN_SOFTWARE_VERSION = "0.0.0"
LAST_IN_SYNC = "last_in_sync"
# Sync
ALARM_INSTANCE_ID_OUT_OF_SYNC = "%s=%s" % (fm_constants.FM_ENTITY_TYPE_HOST,
CONTROLLER_FLOATING_HOSTNAME)
LAST_IN_SYNC = "last_in_sync"
TIMEOUT_SYNC_API_CALL = 120
# System type/mode
SYSTEM_TYPE_ALL_IN_ONE = "All-in-one"
SYSTEM_MODE_SIMPLEX = "simplex"
SYSTEM_MODE_DUPLEX = "duplex"
# Personalities
CONTROLLER = 'controller'
STORAGE = 'storage'
WORKER = 'worker'
AVAILABILITY_ONLINE = 'online'
AVAILABILITY_AVAILABLE = 'available'
AVAILABILITY_DEGRADED = 'degraded'
ADMIN_LOCKED = 'locked'
ADMIN_UNLOCKED = 'unlocked'
# Software alarms
SOFTWARE_ALARMS = {
fm_constants.FM_ALARM_ID_SW_UPGRADE_DEPLOY_STATE_OUT_OF_SYNC: {
"entity_type_id": fm_constants.FM_ENTITY_TYPE_HOST,
@ -188,28 +210,24 @@ SOFTWARE_ALARMS = {
}
}
# metadata tags
CONTENTS_TAG = "contents"
OSTREE_TAG = "ostree"
NUMBER_OF_COMMITS_TAG = "number_of_commits"
# Metadata
BASE_TAG = "base"
COMMIT_TAG = "commit"
CHECKSUM_TAG = "checksum"
CONTENTS_TAG = "contents"
COMMIT_DEFAULT_VALUE = "xxxBASECOMMITxxx"
COMMIT_TAG = "commit"
COMMIT1_TAG = "commit1"
NUMBER_OF_COMMITS_TAG = "number_of_commits"
OSTREE_TAG = "ostree"
# flags
# Flags
INSTALL_LOCAL_FLAG = "/opt/software/.install_local"
REBOOT_REQUIRED = "reboot_required"
USM_UPGRADE_IN_PROGRESS_FLAG = os.path.join(tsc.PLATFORM_CONF_PATH, ".usm_upgrade_in_progress")
UPGRADE_DO_NOT_USE_FQDN_FLAG = os.path.join(tsc.PLATFORM_CONF_PATH, ".upgrade_do_not_use_fqdn")
DC_VAULT_DIR = "/opt/dc-vault"
DC_VAULT_PLAYBOOK_DIR = "%s/playbooks" % DC_VAULT_DIR
DC_VAULT_LOADS_DIR = "%s/loads" % DC_VAULT_DIR
PLAYBOOKS_PATH = "/usr/share/ansible/stx-ansible/playbooks"
ENABLE_DEV_CERTIFICATE_PATCH_IDENTIFIER = 'ENABLE_DEV_CERTIFICATE'
TIMEOUT_SYNC_API_CALL = 120
# Host software agent
MAX_OSTREE_DEPLOY_RETRIES = 5
# Precheck timeout
PRECHECK_RESULT_VALID_PERIOD = 300

View File

@ -1,38 +1,44 @@
#
# Copyright (c) 2023 Wind River Systems, Inc.
# Copyright (c) 2023-2025 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# Hostnames
CONTROLLER = 'controller'
CONTROLLER_0_HOSTNAME = 'controller-0'
CONTROLLER_1_HOSTNAME = 'controller-1'
# System type
DUPLEX = 'duplex'
SIMPLEX = 'simplex'
# SW_VERSION should be built-in from build-tools
SW_VERSION = 'xxxPLATFORM_RELEASExxx'
DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER = 'systemcontroller'
WORKER = 'worker'
SERVICE_TYPE_IDENTITY = 'identity'
WORKER = 'worker'
# Platform path
PLATFORM_PATH = "/opt/platform"
PLATFORM_CONFIG_PATH = PLATFORM_PATH + "/config/" + SW_VERSION + "/"
PLATFORM_CONF_FILE = PLATFORM_CONFIG_PATH + "/platform.conf"
CONFIG_PATH = PLATFORM_PATH + "/config/" + SW_VERSION + "/"
PLATFORM_CONFIG_PERMDIR = CONFIG_PATH
# Puppet path
PUPPET_PATH = PLATFORM_PATH + "/puppet/" + SW_VERSION + "/"
HIERADATA_PERMDIR = PUPPET_PATH + 'hieradata'
# Keyring path
KEYRING_WORKDIR = '/tmp/python_keyring'
KEYRING_DIR_PATH = PLATFORM_PATH + "/.keyring"
KEYRING_PATH = PLATFORM_PATH + "/.keyring/" + SW_VERSION
KEYRING_PERMDIR = KEYRING_PATH
VOLATILE_PXEBOOT_PATH = "/var/pxeboot"
# Kubernetes path
KUBERNETES_CONF_PATH = "/etc/kubernetes"
KUBERNETES_ADMIN_CONF_FILE = "admin.conf"
CONTROLLER = 'controller'
CONTROLLER_0_HOSTNAME = 'controller-0'
CONTROLLER_1_HOSTNAME = 'controller-1'
SIMPLEX = 'simplex'
DUPLEX = 'duplex'
VOLATILE_PXEBOOT_PATH = "/var/pxeboot"