Clustering service for managing homogeneous objects in OpenStack
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.
 
 
 
senlin/senlin/common/consts.py

362 lines
9.4 KiB

# 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.
from oslo_log import log as logging
RPC_ATTRS = (
CONDUCTOR_TOPIC,
ENGINE_TOPIC,
HEALTH_MANAGER_TOPIC,
RPC_API_VERSION_BASE,
RPC_API_VERSION,
) = (
'senlin-conductor',
'senlin-engine',
'senlin-health-manager',
'1.0',
'1.1',
)
RPC_PARAMS = (
PARAM_LIMIT, PARAM_MARKER, PARAM_GLOBAL_PROJECT,
PARAM_SHOW_DETAILS, PARAM_SORT,
) = (
'limit', 'marker', 'global_project',
'show_details', 'sort',
)
SUPPORT_STATUSES = (
EXPERIMENTAL, SUPPORTED, DEPRECATED, UNSUPPORTED,
) = (
'EXPERIMENTAL', 'SUPPORTED', 'DEPRECATED', 'UNSUPPORTED',
)
ACTION_CAUSES = (
CAUSE_RPC, CAUSE_DERIVED, CAUSE_DERIVED_LCH
) = (
'RPC Request',
'Derived Action',
'Derived Action with Lifecycle Hook'
)
CLUSTER_ACTION_NAMES = (
CLUSTER_CREATE, CLUSTER_DELETE, CLUSTER_UPDATE,
CLUSTER_ADD_NODES, CLUSTER_DEL_NODES, CLUSTER_RESIZE,
CLUSTER_CHECK, CLUSTER_RECOVER, CLUSTER_REPLACE_NODES,
CLUSTER_SCALE_OUT, CLUSTER_SCALE_IN,
CLUSTER_ATTACH_POLICY, CLUSTER_DETACH_POLICY, CLUSTER_UPDATE_POLICY,
CLUSTER_OPERATION,
) = (
'CLUSTER_CREATE', 'CLUSTER_DELETE', 'CLUSTER_UPDATE',
'CLUSTER_ADD_NODES', 'CLUSTER_DEL_NODES', 'CLUSTER_RESIZE',
'CLUSTER_CHECK', 'CLUSTER_RECOVER', 'CLUSTER_REPLACE_NODES',
'CLUSTER_SCALE_OUT', 'CLUSTER_SCALE_IN',
'CLUSTER_ATTACH_POLICY', 'CLUSTER_DETACH_POLICY', 'CLUSTER_UPDATE_POLICY',
'CLUSTER_OPERATION',
)
CLUSTER_SCALE_ACTIONS = [CLUSTER_SCALE_IN, CLUSTER_SCALE_OUT]
NODE_ACTION_NAMES = (
NODE_CREATE, NODE_DELETE, NODE_UPDATE,
NODE_JOIN, NODE_LEAVE,
NODE_CHECK, NODE_RECOVER, NODE_OPERATION,
) = (
'NODE_CREATE', 'NODE_DELETE', 'NODE_UPDATE',
'NODE_JOIN', 'NODE_LEAVE',
'NODE_CHECK', 'NODE_RECOVER', 'NODE_OPERATION',
)
ADJUSTMENT_PARAMS = (
ADJUSTMENT_TYPE, ADJUSTMENT_NUMBER, ADJUSTMENT_MIN_STEP,
ADJUSTMENT_MIN_SIZE, ADJUSTMENT_MAX_SIZE, ADJUSTMENT_STRICT,
) = (
'adjustment_type', 'number', 'min_step',
'min_size', 'max_size', 'strict',
)
ADJUSTMENT_TYPES = (
EXACT_CAPACITY, CHANGE_IN_CAPACITY, CHANGE_IN_PERCENTAGE,
) = (
'EXACT_CAPACITY', 'CHANGE_IN_CAPACITY', 'CHANGE_IN_PERCENTAGE',
)
CLUSTER_ATTRS = (
CLUSTER_NAME, CLUSTER_PROFILE, CLUSTER_DESIRED_CAPACITY,
CLUSTER_MIN_SIZE, CLUSTER_MAX_SIZE, CLUSTER_ID,
CLUSTER_DOMAIN, CLUSTER_PROJECT, CLUSTER_USER,
CLUSTER_INIT_AT, CLUSTER_CREATED_AT, CLUSTER_UPDATED_AT,
CLUSTER_STATUS, CLUSTER_STATUS_REASON, CLUSTER_TIMEOUT,
CLUSTER_METADATA, CLUSTER_CONFIG,
) = (
'name', 'profile_id', 'desired_capacity',
'min_size', 'max_size', 'id',
'domain', 'project', 'user',
'init_at', 'created_at', 'updated_at',
'status', 'status_reason', 'timeout',
'metadata', 'config',
)
CLUSTER_PARAMS = (
CLUSTER_PROFILE_ONLY, CLUSTER_DELETE_FORCE
) = (
'profile_only', 'force',
)
CLUSTER_STATUSES = (
CS_INIT, CS_ACTIVE, CS_CREATING, CS_UPDATING, CS_RESIZING, CS_DELETING,
CS_CHECKING, CS_RECOVERING, CS_CRITICAL, CS_ERROR, CS_WARNING,
CS_OPERATING,
) = (
'INIT', 'ACTIVE', 'CREATING', 'UPDATING', 'RESIZING', 'DELETING',
'CHECKING', 'RECOVERING', 'CRITICAL', 'ERROR', 'WARNING',
'OPERATING',
)
NODE_STATUSES = (
NS_INIT, NS_ACTIVE, NS_ERROR, NS_WARNING, NS_CREATING, NS_UPDATING,
NS_DELETING, NS_RECOVERING, NS_OPERATING,
) = (
'INIT', 'ACTIVE', 'ERROR', 'WARNING', 'CREATING', 'UPDATING',
'DELETING', 'RECOVERING', 'OPERATING',
)
CLUSTER_SORT_KEYS = [
CLUSTER_NAME, CLUSTER_STATUS,
CLUSTER_INIT_AT, CLUSTER_CREATED_AT, CLUSTER_UPDATED_AT,
]
NODE_ATTRS = (
NODE_INDEX, NODE_NAME, NODE_PROFILE_ID, NODE_CLUSTER_ID,
NODE_INIT_AT, NODE_CREATED_AT, NODE_UPDATED_AT,
NODE_STATUS, NODE_ROLE, NODE_METADATA, NODE_TAINTED,
) = (
'index', 'name', 'profile_id', 'cluster_id',
'init_at', 'created_at', 'updated_at',
'status', 'role', 'metadata', 'tainted',
)
NODE_SORT_KEYS = [
NODE_INDEX, NODE_NAME, NODE_STATUS,
NODE_INIT_AT, NODE_CREATED_AT, NODE_UPDATED_AT,
]
NODE_PARAMS = (
NODE_DELETE_FORCE,
) = (
'force',
)
PROFILE_ATTRS = (
PROFILE_ID, PROFILE_NAME, PROFILE_TYPE,
PROFILE_CREATED_AT, PROFILE_UPDATED_AT,
PROFILE_SPEC, PROFILE_METADATA, PROFILE_CONTEXT,
) = (
'id', 'name', 'type',
'created_at', 'updated_at',
'spec', 'metadata', 'context',
)
PROFILE_SORT_KEYS = [
PROFILE_TYPE, PROFILE_NAME, PROFILE_CREATED_AT, PROFILE_UPDATED_AT,
]
POLICY_ATTRS = (
POLICY_ID, POLICY_NAME, POLICY_TYPE, POLICY_SPEC,
POLICY_CREATED_AT, POLICY_UPDATED_AT,
) = (
'id', 'name', 'type', 'spec',
'created_at', 'updated_at',
)
POLICY_SORT_KEYS = [
POLICY_TYPE, POLICY_NAME,
POLICY_CREATED_AT, POLICY_UPDATED_AT,
]
CLUSTER_POLICY_ATTRS = (
CP_POLICY_ID, CP_ENABLED, CP_PRIORITY,
CP_POLICY_NAME, CP_POLICY_TYPE,
) = (
'policy_id', 'enabled', 'priority',
'policy_name', 'policy_type',
)
CLUSTER_POLICY_SORT_KEYS = [
CP_ENABLED,
]
EVENT_ATTRS = (
EVENT_TIMESTAMP, EVENT_OBJ_ID, EVENT_OBJ_NAME, EVENT_OBJ_TYPE,
EVENT_USER, EVENT_ACTION, EVENT_STATUS, EVENT_STATUS_REASON,
EVENT_LEVEL, EVENT_CLUSTER_ID,
) = (
'timestamp', 'oid', 'oname', 'otype',
'user', 'action', 'status', 'status_reason',
'level', 'cluster_id',
)
EVENT_SORT_KEYS = [
EVENT_TIMESTAMP, EVENT_LEVEL, EVENT_OBJ_TYPE, EVENT_OBJ_NAME,
EVENT_ACTION, EVENT_STATUS, EVENT_OBJ_ID, EVENT_CLUSTER_ID,
]
ACTION_ATTRS = (
ACTION_NAME, ACTION_CLUSTER_ID, ACTION_TARGET, ACTION_ACTION, ACTION_CAUSE,
ACTION_INTERVAL, ACTION_START_TIME, ACTION_END_TIME,
ACTION_TIMEOUT, ACTION_STATUS, ACTION_STATUS_REASON,
ACTION_INPUTS, ACTION_OUTPUTS, ACTION_DEPENDS_ON, ACTION_DEPENDED_BY,
ACTION_CREATED_AT, ACTION_UPDATED_AT,
) = (
'name', 'cluster_id', 'target', 'action', 'cause',
'interval', 'start_time', 'end_time',
'timeout', 'status', 'status_reason',
'inputs', 'outputs', 'depends_on', 'depended_by',
'created_at', 'updated_at',
)
ACTION_SORT_KEYS = [
ACTION_NAME, ACTION_TARGET, ACTION_ACTION, ACTION_CREATED_AT,
ACTION_STATUS,
]
RECEIVER_TYPES = (
RECEIVER_WEBHOOK, RECEIVER_MESSAGE,
) = (
'webhook', 'message',
)
RECEIVER_ATTRS = (
RECEIVER_NAME, RECEIVER_TYPE, RECEIVER_CLUSTER, RECEIVER_CLUSTER_ID,
RECEIVER_CREATED_AT, RECEIVER_UPDATED_AT, RECEIVER_USER_ID,
RECEIVER_ACTOR, RECEIVER_ACTION, RECEIVER_PARAMS, RECEIVER_CHANNEL,
) = (
'name', 'type', 'cluster', 'cluster_id',
'created_at', 'updated_at', 'user',
'actor', 'action', 'params', 'channel',
)
RECEIVER_SORT_KEYS = [
RECEIVER_NAME, RECEIVER_TYPE, RECEIVER_ACTION, RECEIVER_CLUSTER_ID,
RECEIVER_CREATED_AT, RECEIVER_USER_ID,
]
CLUSTER_DEFAULT_VALUE = (
CLUSTER_DEFAULT_MIN_SIZE, CLUSTER_DEFAULT_MAX_SIZE
) = (
0, -1
)
# Note: This is a copy of action status definition defined in
# senlin.engine.actions.base module.
ACTION_STATUSES = (
ACTION_INIT, ACTION_WAITING, ACTION_READY, ACTION_RUNNING,
ACTION_SUCCEEDED, ACTION_FAILED, ACTION_CANCELLED,
ACTION_WAITING_LIFECYCLE_COMPLETION, ACTION_SUSPENDED,
) = (
'INIT', 'WAITING', 'READY', 'RUNNING',
'SUCCEEDED', 'FAILED', 'CANCELLED', 'WAITING_LIFECYCLE_COMPLETION',
'SUSPENDED',
)
ACTION_PARAMS = (
ACTION_UPDATE_FORCE,
) = (
'force',
)
EVENT_LEVELS = {
'CRITICAL': logging.CRITICAL,
'ERROR': logging.ERROR,
'WARN': logging.WARNING,
'INFO': logging.INFO,
'DEBUG': logging.DEBUG,
}
DETECTION_TYPES = (
LIFECYCLE_EVENTS, NODE_STATUS_POLLING, NODE_STATUS_POLL_URL,
HYPERVISOR_STATUS_POLLING,
# LB_STATUS_POLLING,
) = (
'LIFECYCLE_EVENTS', 'NODE_STATUS_POLLING', 'NODE_STATUS_POLL_URL',
'HYPERVISOR_STATUS_POLLING',
# 'LB_STATUS_POLLING',
)
HEALTH_CHECK_TYPES = (
EVENTS, POLLING,
) = (
'EVENTS', 'POLLING'
)
RECOVERY_ACTIONS = (
RECOVER_REBOOT, RECOVER_REBUILD, RECOVER_RECREATE,
) = (
'REBOOT', 'REBUILD', 'RECREATE',
)
RECOVERY_CONDITIONAL = (
ALL_FAILED, ANY_FAILED,
) = (
'ALL_FAILED', 'ANY_FAILED',
)
NOTIFICATION_PRIORITIES = (
PRIO_AUDIT, PRIO_CRITICAL, PRIO_ERROR, PRIO_WARN, PRIO_INFO, PRIO_DEBUG,
PRIO_SAMPLE,
) = (
'audit', 'critical', 'error', 'warn', 'info', 'debug', 'sample',
)
NOTIFICATION_PHASES = (
PHASE_START, PHASE_END, PHASE_ERROR,
) = (
'start', 'end', 'error',
)
LIFECYCLE_TRANSITION_TYPE = (
LIFECYCLE_NODE_TERMINATION,
) = (
'termination',
)
VM_STATUS = (
VS_ACTIVE, VS_ERROR, VS_SUSPENDED, VS_SHUTOFF, VS_PAUSED, VS_RESCUE,
VS_DELETED,
) = (
'ACTIVE', 'ERROR', 'SUSPENDED', 'SHUTOFF', 'PAUSED', 'RESCUE', 'DELETED',
)
HEALTH_CHECK_MESSAGE = (
POLL_STATUS_PASS, POLL_STATUS_FAIL, POLL_URL_PASS, POLL_URL_FAIL,
) = (
'Poll Status health check passed',
'Poll Status health check failed',
'Poll URL health check passed',
'Poll URL health check failed',
)
CONFLICT_BYPASS_ACTIONS = [
CLUSTER_DELETE, NODE_DELETE, NODE_OPERATION,
]
LOCK_BYPASS_ACTIONS = [
CLUSTER_DELETE, NODE_DELETE, NODE_OPERATION,
]
REBOOT_TYPE = 'type'
REBOOT_TYPES = (
REBOOT_SOFT, REBOOT_HARD
) = (
'SOFT', 'HARD'
)