216 lines
6.6 KiB
Python
216 lines
6.6 KiB
Python
# Copyright (c) 2020-2023 Wind River Systems, Inc.
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
|
|
SECONDS_IN_HOUR = 3600
|
|
|
|
KS_ENDPOINT_ADMIN = "admin"
|
|
KS_ENDPOINT_INTERNAL = "internal"
|
|
KS_ENDPOINT_PUBLIC = "public"
|
|
KS_ENDPOINT_DEFAULT = KS_ENDPOINT_ADMIN
|
|
|
|
KS_ENDPOINT_USER_DOMAIN_DEFAULT = "Default"
|
|
KS_ENDPOINT_PROJECT_DEFAULT = "admin"
|
|
KS_ENDPOINT_PROJECT_DOMAIN_DEFAULT = "Default"
|
|
|
|
ENDPOINT_TYPE_IDENTITY_OS = "identity_openstack"
|
|
|
|
# openstack endpoint types
|
|
ENDPOINT_TYPES_LIST_OS = [ENDPOINT_TYPE_IDENTITY_OS]
|
|
|
|
# distributed Cloud constants
|
|
CLOUD_0 = "RegionOne"
|
|
VIRTUAL_MASTER_CLOUD = "SystemController"
|
|
|
|
SW_UPDATE_DEFAULT_TITLE = "all clouds default"
|
|
ANSIBLE_OVERRIDES_PATH = '/opt/dc-vault/ansible'
|
|
LOAD_VAULT_DIR = '/opt/dc-vault/loads'
|
|
DEPLOY_DIR = '/opt/platform/deploy'
|
|
|
|
USER_HEADER_VALUE = "distcloud"
|
|
USER_HEADER = {'User-Header': USER_HEADER_VALUE}
|
|
|
|
ADMIN_USER_NAME = "admin"
|
|
ADMIN_PROJECT_NAME = "admin"
|
|
SYSINV_USER_NAME = "sysinv"
|
|
DCMANAGER_USER_NAME = "dcmanager"
|
|
SERVICES_USER_NAME = "services"
|
|
|
|
NOVA_QUOTA_FIELDS = ("metadata_items",
|
|
"cores",
|
|
"instances",
|
|
"ram",
|
|
"key_pairs",
|
|
"injected_files",
|
|
"injected_file_path_bytes",
|
|
"injected_file_content_bytes",
|
|
"server_group_members",
|
|
"server_groups",)
|
|
|
|
CINDER_QUOTA_FIELDS = ("volumes",
|
|
"volumes_iscsi",
|
|
"volumes_ceph",
|
|
"per_volume_gigabytes",
|
|
"groups",
|
|
"snapshots",
|
|
"snapshots_iscsi",
|
|
"snapshots_ceph",
|
|
"gigabytes",
|
|
"gigabytes_iscsi",
|
|
"gigabytes_ceph",
|
|
"backups",
|
|
"backup_gigabytes")
|
|
|
|
NEUTRON_QUOTA_FIELDS = ("network",
|
|
"subnet",
|
|
"subnetpool",
|
|
"rbac_policy",
|
|
"trunk",
|
|
"port",
|
|
"router",
|
|
"floatingip",
|
|
"security_group",
|
|
"security_group_rule",
|
|
)
|
|
|
|
ENDPOINT_TYPE_PLATFORM = "platform"
|
|
ENDPOINT_TYPE_PATCHING = "patching"
|
|
ENDPOINT_TYPE_IDENTITY = "identity"
|
|
ENDPOINT_TYPE_FM = "faultmanagement"
|
|
ENDPOINT_TYPE_NFV = "nfv"
|
|
ENDPOINT_TYPE_SOFTWARE = "usm"
|
|
ENDPOINT_TYPE_LOAD = "load"
|
|
ENDPOINT_TYPE_DC_CERT = 'dc-cert'
|
|
ENDPOINT_TYPE_FIRMWARE = 'firmware'
|
|
ENDPOINT_TYPE_KUBERNETES = 'kubernetes'
|
|
ENDPOINT_TYPE_KUBE_ROOTCA = 'kube-rootca'
|
|
|
|
# All endpoint types
|
|
ENDPOINT_TYPES_LIST = [ENDPOINT_TYPE_PLATFORM,
|
|
ENDPOINT_TYPE_PATCHING,
|
|
ENDPOINT_TYPE_IDENTITY,
|
|
ENDPOINT_TYPE_LOAD,
|
|
ENDPOINT_TYPE_DC_CERT,
|
|
ENDPOINT_TYPE_FIRMWARE,
|
|
ENDPOINT_TYPE_KUBERNETES,
|
|
ENDPOINT_TYPE_KUBE_ROOTCA]
|
|
|
|
ENDPOINT_TYPES_LIST_USM = [ENDPOINT_TYPE_PLATFORM,
|
|
ENDPOINT_TYPE_PATCHING,
|
|
ENDPOINT_TYPE_IDENTITY,
|
|
ENDPOINT_TYPE_LOAD,
|
|
ENDPOINT_TYPE_DC_CERT,
|
|
ENDPOINT_TYPE_FIRMWARE,
|
|
ENDPOINT_TYPE_KUBERNETES,
|
|
ENDPOINT_TYPE_KUBE_ROOTCA,
|
|
ENDPOINT_TYPE_SOFTWARE]
|
|
|
|
# All endpoint audit requests
|
|
ENDPOINT_AUDIT_REQUESTS = {
|
|
ENDPOINT_TYPE_FIRMWARE: 'firmware_audit_requested',
|
|
ENDPOINT_TYPE_KUBERNETES: 'kubernetes_audit_requested',
|
|
ENDPOINT_TYPE_KUBE_ROOTCA: 'kube_rootca_update_audit_requested',
|
|
ENDPOINT_TYPE_LOAD: 'load_audit_requested',
|
|
ENDPOINT_TYPE_PATCHING: 'patch_audit_requested',
|
|
}
|
|
|
|
# Well known region names
|
|
SYSTEM_CONTROLLER_NAME = "SystemController"
|
|
DEFAULT_REGION_NAME = "RegionOne"
|
|
|
|
# Subcloud management state
|
|
MANAGEMENT_UNMANAGED = "unmanaged"
|
|
MANAGEMENT_MANAGED = "managed"
|
|
|
|
# Subcloud availability status
|
|
AVAILABILITY_OFFLINE = "offline"
|
|
AVAILABILITY_ONLINE = "online"
|
|
|
|
# Subcloud sync status
|
|
SYNC_STATUS_UNKNOWN = "unknown"
|
|
SYNC_STATUS_IN_SYNC = "in-sync"
|
|
SYNC_STATUS_OUT_OF_SYNC = "out-of-sync"
|
|
|
|
# Subcloud deploy configuration status
|
|
DEPLOY_CONFIG_UP_TO_DATE = 'Deployment: configurations up-to-date'
|
|
DEPLOY_CONFIG_OUT_OF_DATE = 'Deployment: configurations out-of-date'
|
|
MONITORED_ALARM_ENTITIES = ['host.starlingx.windriver.com', ]
|
|
|
|
# OS type
|
|
OS_RELEASE_FILE = '/etc/os-release'
|
|
OS_CENTOS = 'centos'
|
|
OS_DEBIAN = 'debian'
|
|
SUPPORTED_OS_TYPES = [OS_CENTOS, OS_DEBIAN]
|
|
|
|
# SSL cert
|
|
CERT_CA_FILE_CENTOS = "ca-cert.pem"
|
|
CERT_CA_FILE_DEBIAN = "ca-cert.crt"
|
|
SSL_CERT_CA_DIR = "/etc/pki/ca-trust/source/anchors/"
|
|
|
|
# RVMC
|
|
RVMC_NAME_PREFIX = 'rvmc'
|
|
RVMC_CONFIG_FILE_NAME = 'rvmc-config.yaml'
|
|
|
|
# Required for GEO-redundancy
|
|
# User-Agent check for subcloud by region_name request.
|
|
DCMANAGER_V1_HTTP_AGENT = 'dcmanager/1.0'
|
|
|
|
# Subcloud installation values
|
|
BMC_INSTALL_VALUES = [
|
|
'bmc_username',
|
|
'bmc_address',
|
|
'bmc_password',
|
|
]
|
|
|
|
MANDATORY_INSTALL_VALUES = [
|
|
'bootstrap_interface',
|
|
'bootstrap_address',
|
|
'bootstrap_address_prefix',
|
|
'install_type',
|
|
] + BMC_INSTALL_VALUES
|
|
|
|
OPTIONAL_INSTALL_VALUES = [
|
|
'nexthop_gateway',
|
|
'network_address',
|
|
'network_mask',
|
|
'console_type',
|
|
'bootstrap_vlan',
|
|
'rootfs_device',
|
|
'boot_device',
|
|
'rd.net.timeout.ipv6dad',
|
|
'no_check_certificate',
|
|
'persistent_size',
|
|
'hw_settle',
|
|
'extra_boot_params',
|
|
]
|
|
|
|
GEN_ISO_OPTIONS = {
|
|
'bootstrap_interface': '--boot-interface',
|
|
'bootstrap_address': '--boot-ip',
|
|
'bootstrap_address_prefix': '--boot-netmask',
|
|
'install_type': '--default-boot',
|
|
'nexthop_gateway': "--boot-gateway",
|
|
'rootfs_device': '--param',
|
|
'boot_device': '--param',
|
|
'rd.net.timeout.ipv6dad': '--param',
|
|
'bootstrap_vlan': '--param',
|
|
'no_check_certificate': '--param',
|
|
'persistent_size': '--param',
|
|
'hw_settle': '--param',
|
|
'extra_boot_params': '--param',
|
|
}
|
|
|
|
SUPPORTED_INSTALL_TYPES = 6
|
|
ANSIBLE_SUBCLOUD_INSTALL_PLAYBOOK = \
|
|
'/usr/share/ansible/stx-ansible/playbooks/install.yml'
|