pycloudlib.openstack.cloud module¶
Openstack cloud type.
-
class
pycloudlib.openstack.cloud.
Openstack
(tag: str, timestamp_suffix: bool = True, config_file: Union[pathlib.Path, _io.StringIO, None] = None, *, network: Optional[str] = None)[source]¶ Bases:
pycloudlib.cloud.BaseCloud
Openstack cloud class.
-
__init__
(tag: str, timestamp_suffix: bool = True, config_file: Union[pathlib.Path, _io.StringIO, None] = None, *, network: Optional[str] = None)[source]¶ Initialize the connection to openstack.
Requires valid pre-configured environment variables or clouds.yaml. See https://docs.openstack.org/python-openstackclient/pike/configuration/index.html
Parameters: - tag – Name of instance
- timestamp_suffix – bool set True to append a timestamp suffix to the tag
- config_file – path to pycloudlib configuration file
- network – Name of the network to use (from openstack network list)
-
create_key_pair
()¶ Create and set a ssh key pair for a cloud instance.
Returns: A tuple containing the public and private key created
-
delete_image
(image_id, **kwargs)[source]¶ Delete an image.
Parameters: image_id – string, id of the image to delete
-
get_instance
(instance_id, **kwargs) → pycloudlib.openstack.instance.OpenstackInstance[source]¶ Get an instance by id.
Parameters: instance_id – ID of instance to get Returns: An instance object to use to manipulate the instance further.
-
image_serial
(image_id)[source]¶ Find the image serial of the latest daily image for a particular release.
Parameters: image_id – string, Ubuntu image id Returns: string, serial of latest image
-
launch
(image_id, instance_type='m1.small', user_data='', wait=True, **kwargs) → pycloudlib.openstack.instance.OpenstackInstance[source]¶ Launch an instance.
Parameters: - image_id – string, image ID to use for the instance
- instance_type – string, type (flavor) of instance to create
- user_data – used by cloud-init to run custom scripts/configuration
- wait – wait for instance to be live
- **kwargs – dictionary of other arguments to pass to launch
Returns: An instance object to use to manipulate the instance further.
Raises: ValueError on invalid image_id
-
list_keys
()¶ List ssh key names present on the cloud for accessing instances.
Returns: A list of strings of key pair names accessible to the cloud.
-