l.c.d.o.OpenNebula_2_0_NodeDriver(OpenNebulaNodeDriver) : class documentation

Part of libcloud.compute.drivers.opennebula View Source View In Hierarchy

Known subclasses: libcloud.compute.drivers.opennebula.OpenNebula_3_0_NodeDriver

OpenNebula.org node driver for OpenNebula.org v2.0 through OpenNebula.org
v2.2.
Method create_node Create a new OpenNebula node.
Method destroy_node Destroy a node.
Method list_sizes Return list of sizes on a provider.
Method _to_images Request a list of images and convert that list to a list of NodeImage objects.
Method _to_image Take XML object containing an image description and convert to NodeImage object.
Method _to_node Take XML object containing a compute node description and convert to Node object.
Method _extract_networks Extract networks from a compute node XML representation.
Method _extract_images Extract image disks from a compute node XML representation.
Method _extract_size Extract size, or node type, from a compute node XML representation.
Method _extract_context Extract size, or node type, from a compute node XML representation.

Inherited from OpenNebulaNodeDriver:

Method __new__ Undocumented
Method list_nodes List all nodes @return: list of node objects @rtype: C{list} of L{Node}
Method list_images List images on a provider
Method list_locations List data centers for a provider
Method ex_list_networks List virtual networks on a provider.
Method ex_node_action Build action representation and instruct node to commit action.
Method _to_networks Request a list of networks and convert that list to a list of OpenNebulaNetwork objects.
Method _to_network Take XML object containing a network description and convert to OpenNebulaNetwork object.
Method _to_nodes Request a list of compute nodes and convert that list to a list of Node objects.

Inherited from NodeDriver (via OpenNebulaNodeDriver):

Method __init__ @param key: API key or username to be used (required) @type key: C{str}
Method reboot_node Reboot a node.
Method deploy_node Create a new node, and start deployment.
Method create_volume Create a new volume.
Method destroy_volume Destroys a storage volume.
Method attach_volume Attaches volume to node.
Method detach_volume Detaches a volume from a node.
Method wait_until_running Block until the given nodes are fully booted and have an IP address assigned.
Method _wait_until_running Undocumented
Method _ssh_client_connect Try to connect to the remote SSH server. If a connection times out or is refused it is retried up to timeout number of seconds.
Method _connect_and_run_deployment_script Undocumented
Method _run_deployment_script Run the deployment script on the provided node. At this point it is assumed that SSH connection has already been established.
Method _get_size_price Undocumented

Inherited from BaseDriver (via OpenNebulaNodeDriver, NodeDriver):

Method _ex_connection_class_kwargs Return extra connection keyword arguments which are passed to the Connection class constructor.
def create_node(self, **kwargs): (source)
Create a new OpenNebula node.

@inherits: L{NodeDriver.create_node}

@keyword networks: List of virtual networks to which this node should
                   connect. (optional)
@type    networks: L{OpenNebulaNetwork} or C{list}
                   of L{OpenNebulaNetwork}

@keyword context: Custom (key, value) pairs to be injected into
                  compute node XML description. (optional)
@type    context: C{dict}

@return: Instance of a newly created node.
@rtype:  L{Node}
def destroy_node(self, node): (source)
Destroy a node.

Depending upon the provider, this may destroy all data associated with
the node, including backups.

@param node: The node to be destroyed
@type node: L{Node}

@return: True if the destroy was successful, otherwise False
@rtype: C{bool}
def list_sizes(self, location=None): (source)
Return list of sizes on a provider.

@inherits: L{NodeDriver.list_sizes}

@return: List of compute node sizes supported by the cloud provider.
@rtype:  C{list} of L{OpenNebulaNodeSize}
def _to_images(self, object): (source)
Request a list of images and convert that list to a list of NodeImage
objects.

Request a list of images from the OpenNebula web interface, and
issue a request to convert each XML object representation of an image
to a NodeImage object.

@rtype:  C{list} of L{NodeImage}
@return: List of images.
def _to_image(self, image): (source)
Take XML object containing an image description and convert to
NodeImage object.

@type  image: L{ElementTree}
@param image: XML representation of an image.

@rtype:  L{NodeImage}
@return: The newly extracted L{NodeImage}.
def _to_node(self, compute): (source)
Take XML object containing a compute node description and convert to
Node object.

Take XML representation containing a compute node description and
convert to Node object.

@type  compute: L{ElementTree}
@param compute: XML representation of a compute node.

@rtype:  L{Node}
@return: The newly extracted L{Node}.
def _extract_networks(self, compute): (source)
Extract networks from a compute node XML representation.

Extract network descriptions from a compute node XML representation,
converting each network to an OpenNebulaNetwork object.

@type  compute: L{ElementTree}
@param compute: XML representation of a compute node.

@rtype:  C{list} of L{OpenNebulaNetwork}
@return: List of virtual networks attached to the compute node.
def _extract_images(self, compute): (source)
Extract image disks from a compute node XML representation.

Extract image disk descriptions from a compute node XML representation,
converting the disks to an NodeImage object.

@type  compute: L{ElementTree}
@param compute: XML representation of a compute node.

@rtype:  L{NodeImage}
@return: First disk attached to a compute node.
def _extract_size(self, compute): (source)
Extract size, or node type, from a compute node XML representation.

Extract node size, or node type, description from a compute node XML
representation, converting the node size to a NodeSize object.

@type  compute: L{ElementTree}
@param compute: XML representation of a compute node.

@rtype:  L{OpenNebulaNodeSize}
@return: Node type of compute node.
def _extract_context(self, compute): (source)
Extract size, or node type, from a compute node XML representation.

Extract node size, or node type, description from a compute node XML
representation, converting the node size to a NodeSize object.

@type  compute: L{ElementTree}
@param compute: XML representation of a compute node.

@rtype:  C{dict}
@return: Dictionary containing (key, value) pairs related to
         compute node context.
API Documentation for libcloud, generated by pydoctor at 2013-07-01 17:02:02.