Base classes for storage engines
Bases: object
Base class for storage system connections.
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.  | 
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': 'pxe_ipmitool',
 'driver_info': { ... },
 'properties': { ... },
 'extra': { ... },
}
 | 
|---|---|
| Returns: | A node. | 
Create a new portgroup.
| Parameters: | values – Dict of values with the the following keys: ‘id’ ‘uuid’ ‘name’ ‘node_id’ ‘address’ ‘extra’ ‘created_at’ ‘updated_at’ | 
|---|---|
| Returns: | A portgroup | 
| Raises: | PortgroupDuplicateName | 
| Raises: | PortgroupMACAlreadyExists | 
| Raises: | PortgroupAlreadyExists | 
Delete specified tag from the node.
| Parameters: | 
  | 
|---|---|
| Raises: | NodeNotFound if the node is not found.  | 
| Raises: | NodeTagNotFound if the tag is not found.  | 
Destroy a chassis.
| Parameters: | chassis_id – The id or the uuid of a chassis. | 
|---|
Destroy a node and all associated interfaces.
| Parameters: | node_id – The id or uuid of a node. | 
|---|
Destroy a portgroup.
| Parameters: | portgroup_id – The UUID or MAC of a portgroup. | 
|---|---|
| Raises: | PortgroupNotEmpty | 
| Raises: | PortgroupNotFound | 
Retrieve drivers for the registered and active conductors.
| Parameters: | interval – Seconds since last check-in of a conductor. | 
|---|---|
| Returns: | A dict which maps driver names to the set of hosts
which support them. For example:{driverA: set([host1, host2]),
 driverB: set([host2, host3])}
 | 
Return a chassis representation.
| Parameters: | chassis_id – The id of a chassis. | 
|---|---|
| Returns: | A chassis. | 
Return a chassis representation.
| Parameters: | chassis_uuid – The uuid of a chassis. | 
|---|---|
| Returns: | A chassis. | 
Return a list of chassis.
| Parameters: | 
  | 
|---|
Retrieve a conductor’s service record from the database.
| Parameters: | hostname – The hostname of the conductor service. | 
|---|---|
| Returns: | A conductor. | 
| Raises: | ConductorNotFound | 
Return a node.
| Parameters: | node_id – The id of a node. | 
|---|---|
| Returns: | A node. | 
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. | 
Return a node.
| Parameters: | node_name – The logical name of a node. | 
|---|---|
| Returns: | A node. | 
Return a node.
| Parameters: | node_uuid – The uuid of a node. | 
|---|---|
| Returns: | A node. | 
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 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 a list conductor hostnames that are offline (dead).
| Returns: | A list of conductor hostnames. | 
|---|
Return a network port representation.
| Parameters: | address – The MAC address of a port. | 
|---|---|
| Returns: | A port. | 
Return a network port representation.
| Parameters: | port_id – The id of a port. | 
|---|---|
| Returns: | A port. | 
Return a network port representation.
| Parameters: | port_uuid – The uuid of a port. | 
|---|---|
| Returns: | A port. | 
Return a list of ports.
| Parameters: | 
  | 
|---|
Return a network portgroup representation.
| Parameters: | address – The MAC address of a portgroup. | 
|---|---|
| Returns: | A portgroup. | 
| Raises: | PortgroupNotFound | 
Return a network portgroup representation.
| Parameters: | portgroup_id – The id of a portgroup. | 
|---|---|
| Returns: | A portgroup. | 
| Raises: | PortgroupNotFound | 
Return a network portgroup representation.
| Parameters: | name – The logical name of a portgroup. | 
|---|---|
| Returns: | A portgroup. | 
| Raises: | PortgroupNotFound | 
Return a network portgroup representation.
| Parameters: | portgroup_uuid – The uuid of a portgroup. | 
|---|---|
| Returns: | A portgroup. | 
| Raises: | PortgroupNotFound | 
Return a list of portgroups.
| Parameters: | 
  | 
|---|---|
| Returns: | A list of portgroups.  | 
List all the portgroups for a given node.
| Parameters: | 
  | 
|---|---|
| Returns: | A list of portgroups.  | 
List all the ports for a given node.
| Parameters: | 
  | 
|---|---|
| Returns: | A list of ports.  | 
List all the ports for a given portgroup.
| Parameters: | 
  | 
|---|---|
| Returns: | A list of ports.  | 
Check if the specified tag exist on the node.
| Parameters: | 
  | 
|---|---|
| Returns: | True if the tag exists otherwise False.  | 
Register an active conductor with the cluster.
| Parameters: | 
  | 
|---|---|
| Returns: | A conductor.  | 
| Raises: | ConductorAlreadyRegistered  | 
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 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.  | 
Mark a conductor as active by updating its ‘updated_at’ property.
| Parameters: | hostname – The hostname of this conductor service. | 
|---|---|
| Raises: | ConductorNotFound | 
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 | 
Remove this conductor from the service registry immediately.
| Parameters: | hostname – The hostname of this conductor service. | 
|---|---|
| Raises: | ConductorNotFound | 
Remove all tags of the node.
| Parameters: | node_id – The id of a node. | 
|---|---|
| Raises: | NodeNotFound if the node is not found. | 
Update properties of an chassis.
| Parameters: | 
  | 
|---|---|
| Returns: | A chassis.  | 
Update properties of a node.
| Parameters: | 
  | 
|---|---|
| Returns: | A node.  | 
| Raises: | NodeAssociated  | 
| Raises: | NodeNotFound  | 
Update properties of an port.
| Parameters: | 
  | 
|---|---|
| Returns: | A port.  | 
Update properties of a portgroup.
| Parameters: | 
  | 
|---|---|
| Returns: | A portgroup.  | 
| Raises: | InvalidParameterValue  | 
| Raises: | PortgroupNotFound  | 
| Raises: | PortgroupDuplicateName  | 
| Raises: | PortgroupMACAlreadyExists  |