Part of libcloud.compute.drivers.ibm_sce View Source View In Hierarchy
Node driver for IBM SmartCloud Enterprise
Method | create_node | Creates a node in the IBM SmartCloud Enterprise. |
Method | create_volume | Create a new block storage volume (virtual disk) |
Method | create_image | Create a new node image from an existing volume or image. |
Method | destroy_node | Destroy a node. |
Method | destroy_volume | Destroys a storage volume. |
Method | ex_destroy_image | Destroys an image. |
Method | attach_volume | Attaches volume to node. |
Method | detach_volume | Detaches a volume from 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 | List images on a provider |
Method | list_volumes | List storage volumes. |
Method | list_sizes | No summary |
Method | list_locations | List data centers for a provider |
Method | ex_list_storage_offerings | List the storage center offerings |
Method | ex_allocate_address | Allocate a new reserved IP address |
Method | ex_list_addresses | List the reserved IP addresses |
Method | ex_copy_to | Copies a node image to a storage volume |
Method | ex_delete_address | Delete a reserved IP address |
Method | ex_wait_storage_state | Block until storage volume state changes to the given value |
Method | _to_nodes | Undocumented |
Method | _to_node | Undocumented |
Method | _to_images | Undocumented |
Method | _to_image | Undocumented |
Method | _to_locations | Undocumented |
Method | _to_location | Undocumented |
Method | _to_node_sizes | Undocumented |
Method | _to_node_size | Undocumented |
Method | _to_volumes | Undocumented |
Method | _to_volume | Undocumented |
Method | _to_volume_offerings | Undocumented |
Method | _to_volume_offering | Undocumented |
Method | _to_addresses | Undocumented |
Method | _to_address | Undocumented |
Inherited from NodeDriver:
Method | __init__ | @param key: API key or username to be used (required) @type key: C{str} |
Method | deploy_node | Create a new node, and start deployment. |
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 NodeDriver):
Method | _ex_connection_class_kwargs | Return extra connection keyword arguments which are passed to the Connection class constructor. |
Creates a node in the IBM SmartCloud Enterprise. See L{NodeDriver.create_node} for more keyword args. @inherits: L{NodeDriver.create_node} @keyword auth: Name of the pubkey to use. When constructing C{NodeAuthSSHKey} instance, 'pubkey' argument must be the name of the public key to use. You chose this name when creating a new public key on the IBM server. @type auth: L{NodeAuthSSHKey} @keyword ex_configurationData: Image-specific configuration parameters. Configuration parameters are defined in the parameters .xml file. The URL to this file is defined in the NodeImage at extra[parametersURL]. Note: This argument must be specified when launching a Windows instance. It must contain 'UserName' and 'Password' keys. @type ex_configurationData: C{dict}
Create a new block storage volume (virtual disk) @param size: Size of volume in gigabytes (required). Find out the possible sizes from the offerings/storage REST interface @type size: C{int} @keyword name: Name of the volume to be created (required) @type name: C{str} @keyword location: Which data center to create a volume in. If empty, it will fail for IBM SmartCloud Enterprise (required) @type location: L{NodeLocation} @keyword snapshot: Not supported for IBM SmartCloud Enterprise @type snapshot: C{str} @keyword kwargs.format: Either RAW or EXT3 for IBM SmartCloud Enterprise (optional) @type kwargs.format: C{str} @keyword kwargs.offering_id: The storage offering ID for IBM SmartCloud Enterprise Find this from the REST interface storage/offerings. (optional) @type kwargs.offering_id: C{str} @keyword kwargs.source_disk_id: If cloning a volume, the storage disk to make a copy from (optional) @type kwargs.source_disk_id: C{str} @keyword kwargs.storage_area_id: The id of the storage availability area to create the volume in (optional) @type kwargs.storage_area_id: C{str} @keyword kwargs.target_location_id: If cloning a volume, the storage disk to make a copy from (optional) @type kwargs.target_location_id: C{str} @return: The newly created L{StorageVolume}. @rtype: L{StorageVolume}
Create a new node image from an existing volume or image. @param name: Name of the image to be created (required) @type name: C{str} @param description: Description of the image to be created @type description: C{str} @keyword image_id: The ID of the source image if cloning the image @type image_id: C{str} @keyword volume_id: The ID of the storage volume if importing the image @type volume_id: C{str} @return: The newly created L{NodeImage}. @rtype: L{NodeImage}
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}
Destroys a storage volume. @param volume: Volume to be destroyed @type volume: L{StorageVolume} @rtype: C{bool}
Destroys an image. @param image: Image to be destroyed @type image: L{NodeImage} @return: C{bool}
Attaches volume to node. @param node: Node to attach volume to @type node: L{Node} @param volume: Volume to attach @type volume: L{StorageVolume} @rtype: C{bool}
Detaches a volume from a node. @param node: Node which should be used @type node: L{Node} @param volume: Volume to be detached @type volume: L{StorageVolume} @rtype: C{bool}
Reboot a node. @param node: The node to be rebooted @type node: L{Node} @return: True if the reboot was successful, otherwise False @rtype: C{bool}
List all nodes @return: list of node objects @rtype: C{list} of L{Node}
List images on a provider @keyword location: The location at which to list images @type location: L{NodeLocation} @return: list of node image objects @rtype: C{list} of L{NodeImage}
Returns a generic list of sizes. See list_images() for a list of supported sizes for specific images. In particular, you need to have a size that matches the architecture (32-bit vs 64-bit) of the virtual machine image operating system. @inherits: L{NodeDriver.list_sizes}
List data centers for a provider @return: list of node location objects @rtype: C{list} of L{NodeLocation}
List the storage center offerings @rtype: C{list} of L{VolumeOffering}
Allocate a new reserved IP address @param location_id: Target data center @type location_id: C{str} @param offering_id: Offering ID for address to create @type offering_id: C{str} @param vlan_id: ID of target VLAN @type vlan_id: C{str} @return: L{Address} object @rtype: L{Address}
List the reserved IP addresses @param resource_id: If this is supplied only a single address will be returned (optional) @type resource_id: C{str} @rtype: C{list} of L{Address}
Copies a node image to a storage volume @param image: source image to copy @type image: L{NodeImage} @param volume: Target storage volume to copy to @type volume: L{StorageVolume} @return: C{bool} The success of the operation @rtype: C{bool}
Delete a reserved IP address @param resource_id: The address to delete (required) @type resource_id: C{str} @rtype: C{bool}
Block until storage volume state changes to the given value @param volume: Storage volume. @type volume: L{StorageVolume} @param state: The target state to wait for @type state: C{int} @param wait_period: How many seconds to between each loop iteration (default is 3) @type wait_period: C{int} @param timeout: How many seconds to wait before timing out (default is 1200) @type timeout: C{int} @rtype: L{StorageVolume}