The cinder.volume.drivers.hitachi.vsp_utils Module

The cinder.volume.drivers.hitachi.vsp_utils Module

Utility module for Hitachi VSP Driver.

MSG

alias of VSPMsg

class VSPMsg(error_info)

Bases: enum.Enum

messages for Hitachi VSP Driver.

ADD_HBA_WWN_FAILED = {'loglevel': 30, 'msg': 'Failed to assign the WWN. (port: %(port)s, gid: %(gid)s, wwn: %(wwn)s)', 'msg_id': 317, 'suffix': 'W'}
ADD_PAIR_TARGET_FAILED = {'loglevel': 40, 'msg': 'Failed to add the pair target.', 'msg_id': 638, 'suffix': 'E'}
CONNECT_VOLUME_FAILED = {'loglevel': 40, 'msg': 'Failed to attach the logical device. (LDEV: %(ldev)s, reason: %(reason)s)', 'msg_id': 634, 'suffix': 'E'}
CREATE_HORCM_CONF_FILE_FAILED = {'loglevel': 40, 'msg': 'Failed to open a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)', 'msg_id': 632, 'suffix': 'E'}
CREATE_HOST_GROUP_FAILED = {'loglevel': 30, 'msg': 'A host group could not be added. (port: %(port)s)', 'msg_id': 308, 'suffix': 'W'}
CREATE_ISCSI_TARGET_FAILED = {'loglevel': 30, 'msg': 'An iSCSI target could not be added. (port: %(port)s)', 'msg_id': 309, 'suffix': 'W'}
CREATE_LDEV_FAILED = {'loglevel': 40, 'msg': 'Failed to add the logical device.', 'msg_id': 636, 'suffix': 'E'}
DELETE_DEVICE_GRP_FAILED = {'loglevel': 30, 'msg': 'Failed to delete the configuration of full copy pair. (P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 327, 'suffix': 'W'}
DELETE_LDEV_FAILED = {'loglevel': 30, 'msg': 'Failed to delete a logical device. (LDEV: %(ldev)s)', 'msg_id': 313, 'suffix': 'W'}
DELETE_SI_PAIR_FAILED = {'loglevel': 30, 'msg': 'Failed to delete full copy pair. (P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 324, 'suffix': 'W'}
DELETE_TARGET_FAILED = {'loglevel': 30, 'msg': 'A host group or an iSCSI target could not be deleted. (port: %(port)s, gid: %(id)s)', 'msg_id': 306, 'suffix': 'W'}
DELETE_TI_PAIR_FAILED = {'loglevel': 30, 'msg': 'Failed to delete thin copy pair. (P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 325, 'suffix': 'W'}
DISCARD_ZERO_PAGE_FAILED = {'loglevel': 30, 'msg': 'Failed to perform a zero-page reclamation. (LDEV: %(ldev)s)', 'msg_id': 315, 'suffix': 'W'}
DISCONNECT_VOLUME_FAILED = {'loglevel': 30, 'msg': 'Failed to detach the logical device. (LDEV: %(ldev)s, reason: %(reason)s)', 'msg_id': 329, 'suffix': 'W'}
DRIVER_INITIALIZATION_START = {'loglevel': 20, 'msg': 'Initialization of %(driver)s %(version)s started.', 'msg_id': 4, 'suffix': 'I'}
DRIVER_READY_FOR_USE = {'loglevel': 20, 'msg': 'The storage backend can be used. (config_group: %(config_group)s)', 'msg_id': 3, 'suffix': 'I'}
HORCM_LOGIN_FAILED = {'loglevel': 30, 'msg': 'Failed to perform user authentication of HORCM. (user: %(user)s)', 'msg_id': 323, 'suffix': 'W'}
HORCM_RESTART_FAILED = {'loglevel': 40, 'msg': 'Failed to restart HORCM. (inst: %(inst)s)', 'msg_id': 609, 'suffix': 'E'}
HORCM_RESTART_FOR_SI_FAILED = {'loglevel': 30, 'msg': 'Failed to reload the configuration of full copy pair. (inst: %(inst)s)', 'msg_id': 322, 'suffix': 'W'}
HORCM_SHUTDOWN_FAILED = {'loglevel': 40, 'msg': 'Failed to shutdown HORCM. (inst: %(inst)s)', 'msg_id': 608, 'suffix': 'E'}
HORCM_START_FAILED = {'loglevel': 30, 'msg': 'Failed to start HORCM. (inst: %(inst)s)', 'msg_id': 320, 'suffix': 'W'}
INVALID_LDEV_ATTR_FOR_MANAGE = {'loglevel': 40, 'msg': 'Failed to manage the specified LDEV (%(ldev)s). The LDEV must be an unpaired %(ldevtype)s.', 'msg_id': 702, 'suffix': 'E'}
INVALID_LDEV_FOR_CONNECTION = {'loglevel': 40, 'msg': 'The volume %(volume_id)s to be mapped was not found.', 'msg_id': 619, 'suffix': 'E'}
INVALID_LDEV_FOR_DELETION = {'loglevel': 30, 'msg': 'Failed to specify a logical device to be deleted. (method: %(method)s, id: %(id)s)', 'msg_id': 304, 'suffix': 'W'}
INVALID_LDEV_FOR_EXTENSION = {'loglevel': 40, 'msg': 'The volume %(volume_id)s to be extended was not found.', 'msg_id': 613, 'suffix': 'E'}
INVALID_LDEV_FOR_MANAGE = {'loglevel': 40, 'msg': 'No valid value is specified for "source-id". A valid LDEV number must be specified in "source-id" to manage the volume.', 'msg_id': 707, 'suffix': 'E'}
INVALID_LDEV_FOR_UNMAPPING = {'loglevel': 30, 'msg': 'Failed to specify a logical device for the volume %(volume_id)s to be unmapped.', 'msg_id': 302, 'suffix': 'W'}
INVALID_LDEV_FOR_VOLUME_COPY = {'loglevel': 40, 'msg': 'The %(type)s %(id)s source to be replicated was not found.', 'msg_id': 624, 'suffix': 'E'}
INVALID_LDEV_PORT_FOR_MANAGE = {'loglevel': 40, 'msg': 'Failed to manage the specified LDEV (%(ldev)s). The LDEV must not be mapped.', 'msg_id': 704, 'suffix': 'E'}
INVALID_LDEV_SIZE_FOR_MANAGE = {'loglevel': 40, 'msg': 'Failed to manage the specified LDEV (%(ldev)s). The LDEV size must be expressed in gigabytes.', 'msg_id': 703, 'suffix': 'E'}
INVALID_LDEV_STATUS_FOR_COPY = {'loglevel': 40, 'msg': 'The source logical device to be replicated does not exist in the storage system. (LDEV: %(ldev)s)', 'msg_id': 612, 'suffix': 'E'}
INVALID_LDEV_TYPE_FOR_UNMANAGE = {'loglevel': 40, 'msg': 'Failed to unmanage the volume %(volume_id)s. The volume type must be %(volume_type)s.', 'msg_id': 706, 'suffix': 'E'}
INVALID_PARAMETER = {'loglevel': 40, 'msg': 'A parameter is invalid. (%(param)s)', 'msg_id': 601, 'suffix': 'E'}
INVALID_PARAMETER_VALUE = {'loglevel': 40, 'msg': 'A parameter value is invalid. (%(meta)s)', 'msg_id': 602, 'suffix': 'E'}
INVALID_VOLUME_SIZE_FOR_COPY = {'loglevel': 40, 'msg': 'Failed to create a volume from a %(type)s. The size of the new volume must be equal to or greater than the size of the original %(type)s. (new volume: %(volume_id)s)', 'msg_id': 617, 'suffix': 'E'}
INVALID_VOLUME_SIZE_FOR_TI = {'loglevel': 40, 'msg': 'Failed to create a volume from a %(type)s. The size of the new volume must be equal to the size of the original %(type)s when the new volume is created by %(copy_method)s. (new volume: %(volume_id)s)', 'msg_id': 621, 'suffix': 'E'}
INVALID_VOLUME_TYPE_FOR_EXTEND = {'loglevel': 40, 'msg': 'The volume %(volume_id)s could not be extended. The volume type must be Normal.', 'msg_id': 618, 'suffix': 'E'}
LDEV_CREATION_WAIT_TIMEOUT = {'loglevel': 40, 'msg': 'The creation of a logical device could not be completed. (LDEV: %(ldev)s)', 'msg_id': 653, 'suffix': 'E'}
LDEV_DELETION_WAIT_TIMEOUT = {'loglevel': 40, 'msg': 'Failed to delete a logical device. (LDEV: %(ldev)s)', 'msg_id': 652, 'suffix': 'E'}
LDEV_NOT_EXIST = {'loglevel': 30, 'msg': 'The logical device does not exist in the storage system. (LDEV: %(ldev)s)', 'msg_id': 319, 'suffix': 'W'}
MAP_LDEV_FAILED = {'loglevel': 30, 'msg': 'Failed to map a logical device. (LDEV: %(ldev)s, port: %(port)s, id: %(id)s, lun: %(lun)s)', 'msg_id': 314, 'suffix': 'W'}
METHOD_END = {'loglevel': 20, 'msg': '%(method)s ended. (config_group: %(config_group)s)', 'msg_id': 2, 'suffix': 'I'}
METHOD_START = {'loglevel': 20, 'msg': '%(method)s starts. (config_group: %(config_group)s)', 'msg_id': 0, 'suffix': 'I'}
NO_AVAILABLE_MIRROR_UNIT = {'loglevel': 40, 'msg': 'A pair could not be created. The maximum number of pair is exceeded. (copy method: %(copy_method)s, P-VOL: %(pvol)s)', 'msg_id': 615, 'suffix': 'E'}
NO_AVAILABLE_RESOURCE = {'loglevel': 40, 'msg': 'There are no resources available for use. (resource: %(resource)s)', 'msg_id': 648, 'suffix': 'E'}
NO_CONNECTED_TARGET = {'loglevel': 40, 'msg': 'The host group or iSCSI target was not found.', 'msg_id': 649, 'suffix': 'E'}
NO_HBA_WWN_ADDED_TO_HOST_GRP = {'loglevel': 40, 'msg': 'No WWN is assigned. (port: %(port)s, gid: %(gid)s)', 'msg_id': 614, 'suffix': 'E'}
NO_MAPPING_FOR_LDEV = {'loglevel': 40, 'msg': 'Failed to map a logical device to any pair targets. (LDEV: %(ldev)s)', 'msg_id': 639, 'suffix': 'E'}
OBJECT_CREATED = {'loglevel': 20, 'msg': 'Created %(object)s. (%(details)s)', 'msg_id': 6, 'suffix': 'I'}
OUTPUT_PARAMETER_VALUES = {'loglevel': 20, 'msg': 'The parameter of the storage backend. (config_group: %(config_group)s)', 'msg_id': 1, 'suffix': 'I'}
POOL_INFO_RETRIEVAL_FAILED = {'loglevel': 40, 'msg': 'Failed to provide information about a pool. (pool: %(pool)s)', 'msg_id': 620, 'suffix': 'E'}
POOL_NOT_FOUND = {'loglevel': 40, 'msg': 'A pool could not be found. (pool: %(pool)s)', 'msg_id': 640, 'suffix': 'E'}
RESOURCE_NOT_FOUND = {'loglevel': 40, 'msg': 'The resource %(resource)s was not found.', 'msg_id': 650, 'suffix': 'E'}
SET_CONFIG_VALUE = {'loglevel': 20, 'msg': 'Set %(object)s to %(value)s.', 'msg_id': 5, 'suffix': 'I'}
SI_PAIR_STATUS_WAIT_TIMEOUT = {'loglevel': 40, 'msg': 'The status change of full copy pair could not be completed. (S-VOL: %(svol)s)', 'msg_id': 610, 'suffix': 'E'}
STORAGE_COMMAND_FAILED = {'loglevel': 40, 'msg': 'The command %(cmd)s failed. (ret: %(ret)s, stdout: %(out)s, stderr: %(err)s)', 'msg_id': 600, 'suffix': 'E'}
TI_PAIR_STATUS_WAIT_TIMEOUT = {'loglevel': 40, 'msg': 'The status change of thin copy pair could not be completed. (S-VOL: %(svol)s)', 'msg_id': 611, 'suffix': 'E'}
UNABLE_TO_DELETE_PAIR = {'loglevel': 40, 'msg': 'A pair cannot be deleted. (P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 616, 'suffix': 'E'}
UNMAP_LDEV_FAILED = {'loglevel': 30, 'msg': 'Failed to unmap a logical device. (LDEV: %(ldev)s)', 'msg_id': 310, 'suffix': 'W'}
VOLUME_COPY_FAILED = {'loglevel': 40, 'msg': 'Failed to copy a volume. (copy method: %(copy_method)s, P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 722, 'suffix': 'E'}
WAIT_SI_PAIR_STATUS_FAILED = {'loglevel': 30, 'msg': 'Failed to change the status of full copy pair. (P-VOL: %(pvol)s, S-VOL: %(svol)s)', 'msg_id': 326, 'suffix': 'W'}
output_log(**kwargs)

Output the message to the log file and return the message.

build_initiator_target_map(connector, target_wwns, lookup_service)

Return a dictionary mapping server-wwns and lists of storage-wwns.

check_ignore_error(ignore_error, stderr)

Return True if ignore_error is in stderr, False otherwise.

check_opt_value(conf, names)

Check if the parameter names and values are valid.

check_opts(conf, opts)

Check if the specified configuration is valid.

check_timeout(start_time, timeout)

Return True if the specified time has passed, False otherwise.

execute(*cmd, **kwargs)

Run the specified command and return its results.

get_ldev(obj)

Get the LDEV number from the given object and return it as integer.

get_volume_metadata(volume)

Return a dictionary of the metadata of the specified volume.

import_object(conf, driver_info, db)

Import a class and return an instance of it.

mask_password(cmd)

Return a string in which the password is masked.

output_log(msg_enum, **kwargs)

Output the specified message to the log file and return the message.

output_opt_info(conf, names)

Output parameter names and values to the log file.

output_opts(conf, opts)

Output parameter names and values to the log file.

output_start_end_log(func)

Output the log of the start and the end of the method.

output_storage_cli_info(name, version)

Output storage CLI info to the log file.

require_target_existed(targets)

Check if the target list includes one or more members.

update_conn_info(conn_info, connector, lookup_service)

Set wwn mapping list to the connection info.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.