Part of libcloud.compute.drivers.openstack View Source View In Hierarchy
Known subclasses: libcloud.compute.drivers.rackspace.RackspaceNodeDriver
OpenStack node driver. Extra node attributes: - password: root password, available after create. - hostId: represents the host your cloud server runs on - imageId: id of image - flavorId: id of flavor
Method | __init__ | @param key: API key or username to be used (required) @type key: C{str} |
Method | create_node | Create a new node |
Method | ex_set_password | Sets the Node's root password. |
Method | ex_set_server_name | Sets the Node's name. |
Method | ex_resize | Change an existing server flavor / scale the server up or down. |
Method | ex_confirm_resize | Confirm a resize request which is currently in progress. If a resize request is not explicitly confirmed or reverted it's automatically confirmed after 24 hours. |
Method | ex_revert_resize | Revert a resize request which is currently in progress. All resizes are automatically confirmed after 24 hours if they have not already been confirmed explicitly or reverted. |
Method | ex_rebuild | Rebuilds the specified server. |
Method | ex_create_ip_group | Creates a shared IP group. |
Method | ex_list_ip_groups | Lists IDs and names for shared IP groups. If details lists all details for shared IP groups. |
Method | ex_delete_ip_group | Deletes the specified shared IP group. |
Method | ex_share_ip | Shares an IP address to the specified server. |
Method | ex_unshare_ip | Removes a shared IP address from the specified server. |
Method | ex_list_ip_addresses | List all server addresses. |
Method | ex_limits | No summary |
Method | ex_save_image | Create an image for node. |
Method | ex_delete_image | Delete an image for node. |
Method | _to_images | Undocumented |
Method | _to_image | Undocumented |
Method | _change_password_or_name | Undocumented |
Method | _metadata_to_xml | Undocumented |
Method | _files_to_xml | Undocumented |
Method | _reboot_node | Undocumented |
Method | _node_action | Undocumented |
Method | _to_nodes | Undocumented |
Method | _to_node_from_obj | Undocumented |
Method | _to_node | Undocumented |
Method | _to_sizes | Undocumented |
Method | _to_size | Undocumented |
Method | _to_shared_ip_group | Undocumented |
Method | _to_ip_addresses | Undocumented |
Method | _get_size_price | Undocumented |
Inherited from OpenStackNodeDriver:
Method | __new__ | Undocumented |
Method | destroy_node | Destroy a node. |
Method | reboot_node | Reboot a node. |
Method | list_nodes | List all nodes @return: list of node objects @rtype: C{list} of L{Node} |
Method | list_images | @inherits: L{NodeDriver.list_images} |
Method | list_sizes | List sizes on a provider |
Method | list_locations | List data centers for a provider |
Method | ex_get_node_details | Lists details of the specified server. |
Method | ex_soft_reboot_node | Soft reboots the specified server |
Method | ex_hard_reboot_node | Hard reboots the specified server |
Method | _ex_connection_class_kwargs | Return extra connection keyword arguments which are passed to the Connection class constructor. |
Inherited from NodeDriver (via OpenStackNodeDriver):
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 | _run_deployment_script | Run the deployment script on the provided node. At this point it is assumed that SSH connection has already been established. |
Inherited from OpenStackDriverMixin (via OpenStackNodeDriver):
Method | openstack_connection_kwargs | @rtype: C{dict} |
@param key: API key or username to be used (required) @type key: C{str} @param secret: Secret password to be used (required) @type secret: C{str} @param secure: Weither to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default. @type secure: C{bool} @param host: Override hostname used for connections. @type host: C{str} @param port: Override port used for connections. @type port: C{int} @param api_version: Optional API version. Only used by drivers which support multiple API versions. @type api_version: C{str} @rtype: C{None}
Create a new node @inherits: L{NodeDriver.create_node} @keyword ex_metadata: Key/Value metadata to associate with a node @type ex_metadata: C{dict} @keyword ex_files: File Path => File contents to create on the node @type ex_files: C{dict} @keyword ex_shared_ip_group_id: The server is launched into that shared IP group @type ex_shared_ip_group_id: C{str}
Sets the Node's root password. This will reboot the instance to complete the operation. L{Node.extra['password']} will be set to the new value if the operation was successful. @param node: node to set password @type node: L{Node} @param password: new password. @type password: C{str} @rtype: C{bool}
Sets the Node's name. This will reboot the instance to complete the operation. @param node: node to set name @type node: L{Node} @param name: new name @type name: C{str} @rtype: C{bool}
Change an existing server flavor / scale the server up or down. @param node: node to resize. @type node: L{Node} @param size: new size. @type size: L{NodeSize} @rtype: C{bool}
Confirm a resize request which is currently in progress. If a resize request is not explicitly confirmed or reverted it's automatically confirmed after 24 hours. For more info refer to the API documentation: http://goo.gl/zjFI1 @param node: node for which the resize request will be confirmed. @type node: L{Node} @rtype: C{bool}
Revert a resize request which is currently in progress. All resizes are automatically confirmed after 24 hours if they have not already been confirmed explicitly or reverted. For more info refer to the API documentation: http://goo.gl/AizBu @param node: node for which the resize request will be reverted. @type node: L{Node} @rtype: C{bool}
Rebuilds the specified server. @param node_id: ID of the node which should be used @type node_id: C{str} @param image_id: ID of the image which should be used @type image_id: C{str} @rtype: C{bool}
Creates a shared IP group. @param group_name: group name which should be used @type group_name: C{str} @param node_id: ID of the node which should be used @type node_id: C{str} @rtype: C{bool}
Lists IDs and names for shared IP groups. If details lists all details for shared IP groups. @param details: True if details is required @type details: C{bool} @rtype: C{list} of L{OpenStack_1_0_SharedIpGroup}
Deletes the specified shared IP group. @param group_id: group id which should be used @type group_id: C{str} @rtype: C{bool}
Shares an IP address to the specified server. @param group_id: group id which should be used @type group_id: C{str} @param node_id: ID of the node which should be used @type node_id: C{str} @param ip: ip which should be used @type ip: C{str} @param configure_node: configure node @type configure_node: C{bool} @rtype: C{bool}
Removes a shared IP address from the specified server. @param node_id: ID of the node which should be used @type node_id: C{str} @param ip: ip which should be used @type ip: C{str} @rtype: C{bool}
List all server addresses. @param node_id: ID of the node which should be used @type node_id: C{str} @rtype: C{bool}
Extra call to get account's limits, such as rates (for example amount of POST requests per day) and absolute limits like total amount of available RAM to be used by servers. @return: dict with keys 'rate' and 'absolute' @rtype: C{dict}
Create an image for node. @param node: node to use as a base for image @type node: L{Node} @param name: name for new image @type name: C{str} @rtype: L{NodeImage}
Delete an image for node. @param image: the image to be deleted @type image: L{NodeImage} @rtype: C{bool}