Base classes for storage engines
ironic.db.api.
Connection
[source]¶Bases: object
Base class for storage system connections.
add_node_tag
(node_id, tag)[source]¶Add tag to the node.
If the node_id and tag pair already exists, this should still succeed.
Parameters: |
|
---|---|
Returns: | the NodeTag object. |
Raises: | NodeNotFound if the node is not found. |
add_node_trait
(node_id, trait, version)[source]¶Add trait to the node.
If the node_id and trait pair already exists, this should still succeed.
Parameters: |
|
---|---|
Returns: | the NodeTrait object. |
Raises: | InvalidParameterValue if adding the trait would exceed the per-node traits limit. |
Raises: | NodeNotFound if the node is not found. |
check_node_list
(idents)[source]¶Check a list of node identities and map it to UUIDs.
This call takes a list of node names and/or UUIDs and tries to convert them to UUIDs. It fails early if any identities cannot possible be used as names or UUIDs.
Parameters: | idents – List of identities. |
---|---|
Returns: | A mapping from requests identities to node UUIDs. |
Raises: | NodeNotFound if some identities were not found or cannot be valid names or UUIDs. |
check_versions
(ignore_models=())[source]¶Checks the whole database for incompatible objects.
This scans all the tables in search of objects that are not supported; i.e., those that are not specified in ironic.common.release_mappings.RELEASE_MAPPING.
Parameters: | ignore_models – List of model names to skip. |
---|---|
Returns: | A Boolean. True if all the objects have supported versions; False otherwise. |
create_allocation
(values)[source]¶Create a new allocation.
Parameters: | values – Dict of values to create an allocation with |
---|---|
Returns: | An allocation |
Raises: | AllocationDuplicateName |
Raises: | AllocationAlreadyExists |
create_bios_setting_list
(node_id, settings, version)[source]¶Create a list of BIOSSetting records for a given node.
Parameters: |
|
---|---|
Returns: | A list of BIOSSetting object. |
Raises: | NodeNotFound if the node is not found. |
Raises: | BIOSSettingAlreadyExists if any of the setting records already exists. |
create_deploy_template
(values)[source]¶Create a deployment template.
Parameters: | values – A dict describing the deployment template. For example: {
'uuid': uuidutils.generate_uuid(),
'name': 'CUSTOM_DT1',
}
|
---|---|
Raises: | DeployTemplateDuplicateName if a deploy template with the same name exists. |
Raises: | DeployTemplateAlreadyExists if a deploy template with the same UUID exists. |
Returns: | A deploy template. |
create_node
(values)[source]¶Create a new node.
Parameters: | values – A dict containing several items used to identify and track the node, and several dicts which are passed into the Drivers when managing this node. For example: {
'uuid': uuidutils.generate_uuid(),
'instance_uuid': None,
'power_state': states.POWER_OFF,
'provision_state': states.AVAILABLE,
'driver': 'ipmi',
'driver_info': { ... },
'properties': { ... },
'extra': { ... },
}
|
---|---|
Raises: | InvalidParameterValue if ‘values’ contains ‘tags’ or ‘traits’. |
Returns: | A node. |
create_portgroup
(values)[source]¶Create a new portgroup.
Parameters: | values – Dict of values with the following keys: ‘id’ ‘uuid’ ‘name’ ‘node_id’ ‘address’ ‘extra’ ‘created_at’ ‘updated_at’ |
---|---|
Returns: | A portgroup |
Raises: | PortgroupDuplicateName |
Raises: | PortgroupMACAlreadyExists |
Raises: | PortgroupAlreadyExists |
create_volume_connector
(connector_info)[source]¶Create a new volume connector.
Parameters: | connector_info – Dictionary containing information about the connector. Example: {
'uuid': '000000-..',
'type': 'wwnn',
'connector_id': '00:01:02:03:04:05:06',
'node_id': 2
}
|
---|---|
Returns: | A volume connector. |
Raises: | VolumeConnectorTypeAndIdAlreadyExists If a connector already exists with a matching type and connector_id. |
Raises: | VolumeConnectorAlreadyExists If a volume connector with the same UUID already exists. |
create_volume_target
(target_info)[source]¶Create a new volume target.
Parameters: | target_info – Dictionary containing the information about the volume target. Example: {
'uuid': '000000-..',
'node_id': 2,
'boot_index': 0,
'volume_id': '12345678-...'
'volume_type': 'some type',
}
|
---|---|
Returns: | A volume target. |
Raises: | VolumeTargetBootIndexAlreadyExists if a volume target already exists with the same boot index and node ID. |
Raises: | VolumeTargetAlreadyExists if a volume target with the same UUID exists. |
delete_bios_setting_list
(node_id, names)[source]¶Delete a list of BIOS settings.
Parameters: |
|
---|---|
Raises: | NodeNotFound if the node is not found. |
Raises: | BIOSSettingNotFound if any of BIOS setting name is not found. |
delete_node_tag
(node_id, tag)[source]¶Delete specified tag from the node.
Parameters: |
|
---|---|
Raises: | NodeNotFound if the node is not found. |
Raises: | NodeTagNotFound if the tag is not found. |
delete_node_trait
(node_id, trait)[source]¶Delete specified trait from the node.
Parameters: |
|
---|---|
Raises: | NodeNotFound if the node is not found. |
Raises: | NodeTraitNotFound if the trait is not found. |
destroy_allocation
(allocation_id)[source]¶Destroy an allocation.
Parameters: | allocation_id – Allocation ID |
---|---|
Raises: | AllocationNotFound |
destroy_chassis
(chassis_id)[source]¶Destroy a chassis.
Parameters: | chassis_id – The id or the uuid of a chassis. |
---|
destroy_deploy_template
(template_id)[source]¶Destroy a deployment template.
Parameters: | template_id – ID of the deployment template to destroy. |
---|---|
Raises: | DeployTemplateNotFound if the deploy template does not exist. |
destroy_node
(node_id)[source]¶Destroy a node and its associated resources.
Destroy a node, including any associated ports, port groups, tags, traits, volume connectors, and volume targets.
Parameters: | node_id – The ID or UUID of a node. |
---|
destroy_portgroup
(portgroup_id)[source]¶Destroy a portgroup.
Parameters: | portgroup_id – The UUID or MAC of a portgroup. |
---|---|
Raises: | PortgroupNotEmpty |
Raises: | PortgroupNotFound |
destroy_volume_connector
(ident)[source]¶Destroy a volume connector.
Parameters: | ident – The UUID or integer ID of a volume connector. |
---|---|
Raises: | VolumeConnectorNotFound If a volume connector with the specified ident does not exist. |
destroy_volume_target
(ident)[source]¶Destroy a volume target.
Parameters: | ident – The UUID or integer ID of a volume target. |
---|---|
Raises: | VolumeTargetNotFound if a volume target with the specified ident does not exist. |
get_active_hardware_type_dict
(use_groups=False)[source]¶Retrieve hardware types for the registered and active conductors.
Parameters: | use_groups – Whether to factor conductor_group into the keys. |
---|---|
Returns: | A dict which maps hardware type names to the set of hosts
which support them. For example:{hardware-type-a: set([host1, host2]),
hardware-type-b: set([host2, host3])}
|
get_allocation_by_id
(allocation_id)[source]¶Return an allocation representation.
Parameters: | allocation_id – The id of an allocation. |
---|---|
Returns: | An allocation. |
Raises: | AllocationNotFound |
get_allocation_by_name
(name)[source]¶Return an allocation representation.
Parameters: | name – The logical name of an allocation. |
---|---|
Returns: | An allocation. |
Raises: | AllocationNotFound |
get_allocation_by_uuid
(allocation_uuid)[source]¶Return an allocation representation.
Parameters: | allocation_uuid – The uuid of an allocation. |
---|---|
Returns: | An allocation. |
Raises: | AllocationNotFound |
get_allocation_list
(filters=None, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of allocations.
Parameters: |
|
||||||
---|---|---|---|---|---|---|---|
Returns: | A list of allocations. |
get_bios_setting
(node_id, name)[source]¶Retrieve BIOS setting value.
Parameters: |
|
---|---|
Returns: | The BIOSSetting object. |
Raises: | NodeNotFound if the node is not found. |
Raises: | BIOSSettingNotFound if the BIOS setting is not found. |
get_bios_setting_list
(node_id)[source]¶Retrieve BIOS settings of a given node.
Parameters: | node_id – The node id. |
---|---|
Returns: | A list of BIOSSetting objects. |
Raises: | NodeNotFound if the node is not found. |
get_chassis_by_id
(chassis_id)[source]¶Return a chassis representation.
Parameters: | chassis_id – The id of a chassis. |
---|---|
Returns: | A chassis. |
get_chassis_by_uuid
(chassis_uuid)[source]¶Return a chassis representation.
Parameters: | chassis_uuid – The uuid of a chassis. |
---|---|
Returns: | A chassis. |
get_chassis_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of chassis.
Parameters: |
|
---|
get_conductor
(hostname, online=True)[source]¶Retrieve a conductor’s service record from the database.
Parameters: |
|
---|---|
Returns: | A conductor. |
Raises: | ConductorNotFound if the conductor with given hostname does not exist or doesn’t meet the specified online expectation. |
get_conductor_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of conductors.
Parameters: |
|
---|
get_deploy_template_by_id
(template_id)[source]¶Retrieve a deployment template by ID.
Parameters: | template_id – ID of the deployment template to retrieve. |
---|---|
Raises: | DeployTemplateNotFound if the deploy template does not exist. |
Returns: | A deploy template. |
get_deploy_template_by_name
(template_name)[source]¶Retrieve a deployment template by name.
Parameters: | template_name – name of the deployment template to retrieve. |
---|---|
Raises: | DeployTemplateNotFound if the deploy template does not exist. |
Returns: | A deploy template. |
get_deploy_template_by_uuid
(template_uuid)[source]¶Retrieve a deployment template by UUID.
Parameters: | template_uuid – UUID of the deployment template to retrieve. |
---|---|
Raises: | DeployTemplateNotFound if the deploy template does not exist. |
Returns: | A deploy template. |
get_deploy_template_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Retrieve a list of deployment templates.
Parameters: |
|
---|---|
Returns: | A list of deploy templates. |
get_deploy_template_list_by_names
(names)[source]¶Return a list of deployment templates with one of a list of names.
Parameters: | names – List of names to filter by. |
---|---|
Returns: | A list of deploy templates. |
get_node_by_id
(node_id)[source]¶Return a node.
Parameters: | node_id – The id of a node. |
---|---|
Returns: | A node. |
get_node_by_instance
(instance)[source]¶Return a node.
Parameters: | instance – The instance uuid to search for. |
---|---|
Returns: | A node. |
Raises: | InstanceNotFound if the instance is not found. |
Raises: | InvalidUUID if the instance uuid is invalid. |
get_node_by_name
(node_name)[source]¶Return a node.
Parameters: | node_name – The logical name of a node. |
---|---|
Returns: | A node. |
get_node_by_port_addresses
(addresses)[source]¶Find a node by any matching port address.
Parameters: | addresses – list of port addresses (e.g. MACs). |
---|---|
Returns: | Node object. |
Raises: | NodeNotFound if none or several nodes are found. |
get_node_by_uuid
(node_uuid)[source]¶Return a node.
Parameters: | node_uuid – The uuid of a node. |
---|---|
Returns: | A node. |
get_node_list
(filters=None, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of nodes.
Parameters: |
|
---|
Get node tags based on its id.
Parameters: | node_id – The id of a node. |
---|---|
Returns: | A list of NodeTag objects. |
Raises: | NodeNotFound if the node is not found. |
get_node_traits_by_node_id
(node_id)[source]¶Get node traits based on its id.
Parameters: | node_id – The id of a node. |
---|---|
Returns: | A list of NodeTrait objects. |
Raises: | NodeNotFound if the node is not found. |
get_nodeinfo_list
(columns=None, filters=None, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Get specific columns for matching nodes.
Return a list of the specified columns for all nodes that match the specified filters.
Parameters: |
|
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns: | A list of tuples of the specified columns. |
get_not_versions
(model_name, versions)[source]¶Returns objects with versions that are not the specified versions.
Parameters: |
|
---|---|
Returns: | list of the DB objects |
Raises: | IronicException if there is no class associated with the name |
get_offline_conductors
(field='hostname')[source]¶Get a list conductors that are offline (dead).
Parameters: | field – A field to return, hostname by default. |
---|---|
Returns: | A list of requested fields of offline conductors. |
get_online_conductors
()[source]¶Get a list conductor hostnames that are online and active.
Returns: | A list of conductor hostnames. |
---|
get_port_by_address
(address)[source]¶Return a network port representation.
Parameters: | address – The MAC address of a port. |
---|---|
Returns: | A port. |
get_port_by_id
(port_id)[source]¶Return a network port representation.
Parameters: | port_id – The id of a port. |
---|---|
Returns: | A port. |
get_port_by_uuid
(port_uuid)[source]¶Return a network port representation.
Parameters: | port_uuid – The uuid of a port. |
---|---|
Returns: | A port. |
get_port_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of ports.
Parameters: |
|
---|
get_portgroup_by_address
(address)[source]¶Return a network portgroup representation.
Parameters: | address – The MAC address of a portgroup. |
---|---|
Returns: | A portgroup. |
Raises: | PortgroupNotFound |
get_portgroup_by_id
(portgroup_id)[source]¶Return a network portgroup representation.
Parameters: | portgroup_id – The id of a portgroup. |
---|---|
Returns: | A portgroup. |
Raises: | PortgroupNotFound |
get_portgroup_by_name
(name)[source]¶Return a network portgroup representation.
Parameters: | name – The logical name of a portgroup. |
---|---|
Returns: | A portgroup. |
Raises: | PortgroupNotFound |
get_portgroup_by_uuid
(portgroup_uuid)[source]¶Return a network portgroup representation.
Parameters: | portgroup_uuid – The uuid of a portgroup. |
---|---|
Returns: | A portgroup. |
Raises: | PortgroupNotFound |
get_portgroup_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of portgroups.
Parameters: |
|
---|---|
Returns: | A list of portgroups. |
get_portgroups_by_node_id
(node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the portgroups for a given node.
Parameters: |
|
---|---|
Returns: | A list of portgroups. |
get_ports_by_node_id
(node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the ports for a given node.
Parameters: |
|
---|---|
Returns: | A list of ports. |
get_ports_by_portgroup_id
(portgroup_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the ports for a given portgroup.
Parameters: |
|
---|---|
Returns: | A list of ports. |
get_volume_connector_by_id
(db_id)[source]¶Return a volume connector representation.
Parameters: | db_id – The integer database ID of a volume connector. |
---|---|
Returns: | A volume connector with the specified ID. |
Raises: | VolumeConnectorNotFound If a volume connector with the specified ID is not found. |
get_volume_connector_by_uuid
(connector_uuid)[source]¶Return a volume connector representation.
Parameters: | connector_uuid – The UUID of a connector. |
---|---|
Returns: | A volume connector with the specified UUID. |
Raises: | VolumeConnectorNotFound If a volume connector with the specified UUID is not found. |
get_volume_connector_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of volume connectors.
Parameters: |
|
---|---|
Returns: | A list of volume connectors. |
Raises: | InvalidParameterValue If sort_key does not exist. |
get_volume_connectors_by_node_id
(node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the volume connectors for a given node.
Parameters: |
|
---|---|
Returns: | A list of volume connectors. |
Raises: | InvalidParameterValue If sort_key does not exist. |
get_volume_target_by_id
(db_id)[source]¶Return a volume target representation.
Parameters: | db_id – The database primary key (integer) ID of a volume target. |
---|---|
Returns: | A volume target. |
Raises: | VolumeTargetNotFound if no volume target with this ID exists. |
get_volume_target_by_uuid
(uuid)[source]¶Return a volume target representation.
Parameters: | uuid – The UUID of a volume target. |
---|---|
Returns: | A volume target. |
Raises: | VolumeTargetNotFound if no volume target with this UUID exists. |
get_volume_target_list
(limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶Return a list of volume targets.
Parameters: |
|
---|---|
Returns: | A list of volume targets. |
Raises: | InvalidParameterValue if sort_key does not exist. |
get_volume_targets_by_node_id
(node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the volume targets for a given node.
Parameters: |
|
---|---|
Returns: | A list of volume targets. |
Raises: | InvalidParameterValue if sort_key does not exist. |
get_volume_targets_by_volume_id
(volume_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]¶List all the volume targets for a given volume id.
Parameters: |
|
---|---|
Returns: | A list of volume targets. |
Raises: | InvalidParameterValue if sort_key does not exist. |
list_conductor_hardware_interfaces
(conductor_id)[source]¶List all registered hardware interfaces for a conductor.
Parameters: | conductor_id – Database ID of conductor. |
---|---|
Returns: | List of ConductorHardwareInterfaces objects. |
list_hardware_type_interfaces
(hardware_types)[source]¶List registered hardware interfaces for given hardware types.
This is restricted to only active conductors.
:param hardware_types: list of hardware types to filter by.
:returns: list of ConductorHardwareInterfaces
objects.
migrate_from_iscsi_deploy
(context, max_count)[source]¶Tries to migrate away from the iscsi deploy interface.
Parameters: |
|
---|---|
Returns: | A 2-tuple, 1. the total number of objects that need to be migrated (at the beginning of this call) and 2. the number of migrated objects. |
node_tag_exists
(node_id, tag)[source]¶Check if the specified tag exist on the node.
Parameters: |
|
---|---|
Returns: | True if the tag exists otherwise False. |
Raises: | NodeNotFound if the node is not found. |
node_trait_exists
(node_id, trait)[source]¶Check if the specified trait exists on the node.
Parameters: |
|
---|---|
Returns: | True if the trait exists otherwise False. |
Raises: | NodeNotFound if the node is not found. |
register_conductor
(values, update_existing=False)[source]¶Register an active conductor with the cluster.
Parameters: |
|
---|---|
Returns: | A conductor. |
Raises: | ConductorAlreadyRegistered |
register_conductor_hardware_interfaces
(conductor_id, hardware_type, interface_type, interfaces, default_interface)[source]¶Registers hardware interfaces for a conductor.
Parameters: |
|
---|---|
Raises: | ConductorHardwareInterfacesAlreadyRegistered if at least one of the interfaces in the combination of all parameters is already registered. |
release_node
(tag, node_id)[source]¶Release the reservation on a node.
Parameters: |
|
---|---|
Raises: | NodeNotFound if the node is not found. |
Raises: | NodeLocked if the node is reserved by another host. |
Raises: | NodeNotLocked if the node was found to not have a reservation at all. |
reserve_node
(tag, node_id)[source]¶Reserve a node.
To prevent other ManagerServices from manipulating the given Node while a Task is performed, mark it reserved by this host.
Parameters: |
|
---|---|
Returns: | A Node object. |
Raises: | NodeNotFound if the node is not found. |
Raises: | NodeLocked if the node is already reserved. |
Replace all of the node tags with specified list of tags.
This ignores duplicate tags in the specified list.
Parameters: |
|
---|---|
Returns: | A list of NodeTag objects. |
Raises: | NodeNotFound if the node is not found. |
set_node_traits
(node_id, traits, version)[source]¶Replace all of the node traits with specified list of traits.
This ignores duplicate traits in the specified list.
Parameters: |
|
---|---|
Returns: | A list of NodeTrait objects. |
Raises: | InvalidParameterValue if setting the traits would exceed the per-node traits limit. |
Raises: | NodeNotFound if the node is not found. |
take_over_allocation
(allocation_id, old_conductor_id, new_conductor_id)[source]¶Do a take over for an allocation.
The allocation is only updated if the old conductor matches the provided value, thus guarding against races.
Parameters: |
|
---|---|
Returns: | True if the take over was successful, False otherwise. |
Raises: | AllocationNotFound |
touch_conductor
(hostname)[source]¶Mark a conductor as active by updating its ‘updated_at’ property.
Parameters: | hostname – The hostname of this conductor service. |
---|---|
Raises: | ConductorNotFound |
touch_node_provisioning
(node_id)[source]¶Mark the node’s provisioning as running.
Mark the node’s provisioning as running by updating its ‘provision_updated_at’ property.
Parameters: | node_id – The id of a node. |
---|---|
Raises: | NodeNotFound |
unregister_conductor
(hostname)[source]¶Remove this conductor from the service registry immediately.
Parameters: | hostname – The hostname of this conductor service. |
---|---|
Raises: | ConductorNotFound |
unregister_conductor_hardware_interfaces
(conductor_id)[source]¶Unregisters all hardware interfaces for a conductor.
Parameters: | conductor_id – Database ID of conductor to unregister for. |
---|
Remove all tags of the node.
Parameters: | node_id – The id of a node. |
---|---|
Raises: | NodeNotFound if the node is not found. |
unset_node_traits
(node_id)[source]¶Remove all traits of the node.
Parameters: | node_id – The id of a node. |
---|---|
Raises: | NodeNotFound if the node is not found. |
update_allocation
(allocation_id, values, update_node=True)[source]¶Update properties of an allocation.
Parameters: |
|
---|---|
Returns: | An allocation. |
Raises: | AllocationNotFound |
Raises: | AllocationDuplicateName |
Raises: | InstanceAssociated |
Raises: | NodeAssociated |
update_bios_setting_list
(node_id, settings, version)[source]¶Update a list of BIOSSetting records.
Parameters: |
|
---|---|
Returns: | A list of BIOSSetting objects. |
Raises: | NodeNotFound if the node is not found. |
Raises: | BIOSSettingNotFound if any of the settings is not found. |
update_chassis
(chassis_id, values)[source]¶Update properties of an chassis.
Parameters: |
|
---|---|
Returns: | A chassis. |
update_deploy_template
(template_id, values)[source]¶Update a deployment template.
Parameters: |
|
---|---|
Raises: | DeployTemplateDuplicateName if a deploy template with the same name exists. |
Raises: | DeployTemplateNotFound if the deploy template does not exist. |
Returns: | A deploy template. |
update_node
(node_id, values)[source]¶Update properties of a node.
Parameters: |
|
---|---|
Returns: | A node. |
Raises: | NodeAssociated |
Raises: | NodeNotFound |
update_port
(port_id, values)[source]¶Update properties of an port.
Parameters: |
|
---|---|
Returns: | A port. |
update_portgroup
(portgroup_id, values)[source]¶Update properties of a portgroup.
Parameters: |
|
---|---|
Returns: | A portgroup. |
Raises: | InvalidParameterValue |
Raises: | PortgroupNotFound |
Raises: | PortgroupDuplicateName |
Raises: | PortgroupMACAlreadyExists |
update_to_latest_versions
(context, max_count)[source]¶Updates objects to their latest known versions.
This scans all the tables and for objects that are not in their latest version, updates them to that version.
Parameters: |
|
---|---|
Returns: | A 2-tuple, 1. the total number of objects that need to be migrated (at the beginning of this call) and 2. the number of migrated objects. |
update_volume_connector
(ident, connector_info)[source]¶Update properties of a volume connector.
Parameters: |
|
---|---|
Returns: | A volume connector. |
Raises: | VolumeConnectorTypeAndIdAlreadyExists If another connector already exists with a matching type and connector_id field. |
Raises: | VolumeConnectorNotFound If a volume connector with the specified ident does not exist. |
Raises: | InvalidParameterValue When a UUID is included in connector_info. |
update_volume_target
(ident, target_info)[source]¶Update information for a volume target.
Parameters: |
|
---|---|
Returns: | A volume target. |
Raises: | InvalidParameterValue if a UUID is included in target_info. |
Raises: | VolumeTargetBootIndexAlreadyExists if a volume target already exists with the same boot index and node ID. |
Raises: | VolumeTargetNotFound if no volume target with this ident exists. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.