Compute API
For details on how to use compute, see Using OpenStack Compute
The Compute Class
The compute high-level interface is available through the compute
member of a Connection object. The
compute member will only be added if the service is detected.
-
class openstack.compute.v2._proxy.Proxy(session)
-
find_extension(name_or_id, ignore_missing=True)
Find a single extension
| Parameters: |
- name_or_id – The name or ID of an extension.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One Extension or
None
|
-
extensions()
Retrieve a generator of extensions
| Returns: | A generator of extension instances. |
| Return type: | Extension |
-
find_flavor(name_or_id, ignore_missing=True)
Find a single flavor
| Parameters: |
- name_or_id – The name or ID of a flavor.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One Flavor or None
|
-
create_flavor(**attrs)
Create a new flavor from attributes
| Parameters: | attrs (dict) – Keyword arguments which will be used to create
a Flavor,
comprised of the properties on the Flavor class. |
| Returns: | The results of flavor creation |
| Return type: | Flavor |
-
delete_flavor(flavor, ignore_missing=True)
Delete a flavor
| Parameters: |
- flavor – The value can be either the ID of a flavor or a
Flavor instance.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the flavor does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent flavor.
|
| Returns: | None
|
-
get_flavor(flavor)
Get a single flavor
| Parameters: | flavor – The value can be the ID of a flavor or a
Flavor instance. |
| Returns: | One Flavor |
| Raises: | ResourceNotFound
when no resource can be found. |
-
flavors(details=True, **query)
Return a generator of flavors
| Parameters: |
- details (bool) – When True, returns
FlavorDetail objects,
otherwise Flavor.
Default: ``True``
- **query (kwargs) – Optional query parameters to be sent to limit
the flavors being returned.
|
| Returns: | A generator of flavor objects
|
-
delete_image(image, ignore_missing=True)
Delete an image
| Parameters: |
- image – The value can be either the ID of an image or a
Image instance.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the image does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent image.
|
| Returns: | None
|
-
find_image(name_or_id, ignore_missing=True)
Find a single image
| Parameters: |
- name_or_id – The name or ID of a image.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One Image or None
|
-
get_image(image)
Get a single image
| Parameters: | image – The value can be the ID of an image or a
Image instance. |
| Returns: | One Image |
| Raises: | ResourceNotFound
when no resource can be found. |
-
images(details=True, **query)
Return a generator of images
| Parameters: |
- details (bool) – When True, returns
ImageDetail objects,
otherwise Image.
Default: ``True``
- **query (kwargs) – Optional query parameters to be sent to limit
the resources being returned.
|
| Returns: | A generator of image objects
|
-
get_image_metadata(image)
Return a dictionary of metadata for an image
| Parameters: | image – Either the ID of an image or a
Image or
ImageDetail
instance. |
| Returns: | A Image with only the
image’s metadata. All keys and values are Unicode text. |
| Return type: | Image |
-
set_image_metadata(image, **metadata)
Update metadata for an image
| Parameters: |
- image – Either the ID of an image or a
Image or
ImageDetail
instance.
- metadata (kwargs) – Key/value pairs to be updated in the image’s
metadata. No other metadata is modified
by this call. All keys and values are stored
as Unicode.
|
| Returns: | A Image with only the
image’s metadata. All keys and values are Unicode text.
|
| Return type: | Image
|
-
delete_image_metadata(image, keys)
Delete metadata for an image
Note: This method will do a HTTP DELETE request for every key in keys.
| Parameters: |
- image – Either the ID of an image or a
Image or
ImageDetail
instance.
- keys – The keys to delete.
|
| Return type: | None
|
-
create_keypair(**attrs)
Create a new keypair from attributes
| Parameters: | attrs (dict) – Keyword arguments which will be used to create
a Keypair,
comprised of the properties on the Keypair class. |
| Returns: | The results of keypair creation |
| Return type: | Keypair |
-
delete_keypair(keypair, ignore_missing=True)
Delete a keypair
| Parameters: |
- keypair – The value can be either the ID of a keypair or a
Keypair
instance.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the keypair does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent keypair.
|
| Returns: | None
|
-
get_keypair(keypair)
Get a single keypair
| Parameters: | keypair – The value can be the ID of a keypair or a
Keypair
instance. |
| Returns: | One Keypair |
| Raises: | ResourceNotFound
when no resource can be found. |
-
find_keypair(name_or_id, ignore_missing=True)
Find a single keypair
| Parameters: |
- name_or_id – The name or ID of a keypair.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One Keypair or None
|
-
keypairs()
Return a generator of keypairs
| Returns: | A generator of keypair objects |
| Return type: | Keypair |
-
get_limits()
Retrieve limits that are applied to the project’s account
-
create_server(**attrs)
Create a new server from attributes
| Parameters: | attrs (dict) – Keyword arguments which will be used to create
a Server,
comprised of the properties on the Server class. |
| Returns: | The results of server creation |
| Return type: | Server |
-
delete_server(server, ignore_missing=True, force=False)
Delete a server
| Parameters: |
- server – The value can be either the ID of a server or a
Server instance.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the server does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent server
- force (bool) – When set to True, the server deletion will be
forced immediatly.
|
| Returns: | None
|
-
find_server(name_or_id, ignore_missing=True)
Find a single server
| Parameters: |
- name_or_id – The name or ID of a server.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One Server or None
|
-
get_server(server)
Get a single server
| Parameters: | server – The value can be the ID of a server or a
Server instance. |
| Returns: | One Server |
| Raises: | ResourceNotFound
when no resource can be found. |
-
servers(details=True, **query)
Retrieve a generator of servers
| Parameters: |
|
| Returns: | A generator of server instances.
|
-
update_server(server, **attrs)
Update a server
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Attrs kwargs: | The attributes to update on the server represented
by server. |
| Returns: | The updated server |
| Return type: | Server |
-
change_server_password(server, new_password)
Change the administrator password
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- new_password (str) – The new password to be set.
|
| Returns: | None
|
-
reset_server_state(server, state)
Reset the state of server
| Parameters: |
- server – The server can be either the ID of a server or a
Server.
- state – The state of the server to be set, active or
error are valid.
|
| Returns: | None
|
-
reboot_server(server, reboot_type)
Reboot a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- reboot_type (str) – The type of reboot to perform.
“HARD” and “SOFT” are the current options.
|
| Returns: | None
|
-
rebuild_server(server, name, admin_password, **attrs)
Rebuild a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- name (str) – The name of the server
- admin_password (str) – The administrator password
- preserve_ephemeral (bool) – Indicates whether the server
is rebuilt with the preservation of the ephemeral partition.
Default: False
- image (str) – The id of an image to rebuild with. Default: None
- access_ipv4 (str) – The IPv4 address to rebuild with.
Default: None
- access_ipv6 (str) – The IPv6 address to rebuild with.
Default: None
- metadata (dict) – A dictionary of metadata to rebuild with.
Default: None
- personality – A list of dictionaries, each including a
path and contents key, to be injected
into the rebuilt server at launch.
Default: None
|
| Returns: | The rebuilt Server
instance.
|
-
resize_server(server, flavor)
Resize a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- flavor – Either the ID of a flavor or a
Flavor instance.
|
| Returns: | None
|
-
confirm_server_resize(server)
Confirm a server resize
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
revert_server_resize(server)
Revert a server resize
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
create_server_image(server, name, metadata=None)
Create an image from a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- name (str) – The name of the image to be created.
- metadata (dict) – A dictionary of metadata to be set on the image.
|
| Returns: | None
|
-
add_security_group_to_server(server, security_group)
Add a security group to a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- security_group – Either the ID of a security group or a
SecurityGroup
instance.
|
| Returns: | None
|
-
remove_security_group_from_server(server, security_group)
Add a security group to a server
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- security_group – Either the ID of a security group or a
SecurityGroup
instance.
|
| Returns: | None
|
-
add_fixed_ip_to_server(server, network_id)
Adds a fixed IP address to a server instance.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- network_id – The ID of the network from which a fixed IP address
is about to be allocated.
|
| Returns: | None
|
-
remove_fixed_ip_from_server(server, address)
Removes a fixed IP address from a server instance.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- address – The fixed IP address to be disassociated from the
server.
|
| Returns: | None
|
-
add_floating_ip_to_server(server, address, fixed_address=None)
Adds a floating IP address to a server instance.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- address – The floating IP address to be added to the server.
- fixed_address – The fixed IP address to be associated with the
floating IP address. Used when the server is
connected to multiple networks.
|
| Returns: | None
|
-
remove_floating_ip_from_server(server, address)
Removes a floating IP address from a server instance.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- address – The floating IP address to be disassociated from the
server.
|
| Returns: | None
|
-
pause_server(server)
Pauses a server and changes its status to PAUSED.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
unpause_server(server)
Unpauses a paused server and changes its status to ACTIVE.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
suspend_server(server)
Suspends a server and changes its status to SUSPENDED.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
resume_server(server)
Resumes a suspended server and changes its status to ACTIVE.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
lock_server(server)
Locks a server.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
unlock_server(server)
Unlocks a locked server.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
rescue_server(server, admin_pass=None, image_ref=None)
Puts a server in rescue mode and changes it status to RESCUE.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- admin_pass – The password for the rescued server. If you omit
this parameter, the operation generates a new
password.
- image_ref – The image reference to use to rescue your server.
This can be the image ID or its full URL. If you
omit this parameter, the base image reference will
be used.
|
| Returns: | None
|
-
unrescue_server(server)
Unrescues a server and changes its status to ACTIVE.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
evacuate_server(server, host=None, admin_pass=None, force=None)
Evacuates a server from a failed host to a new host.
| Parameters: |
- server – Either the ID of a server or a
Server instance.
- host – An optional parameter specifying the name or ID of the
host to which the server is evacuated.
- admin_pass – An optional parameter specifying the administrative
password to access the evacuated or rebuilt server.
- force – Force an evacuation by not verifying the provided
destination host by the scheduler. (New in API version
2.29).
|
| Returns: | None
|
-
start_server(server)
Starts a stopped server and changes its state to ACTIVE.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
stop_server(server)
Stops a running server and changes its state to SHUTOFF.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
shelve_server(server)
Shelves a server.
All associated data and resources are kept but anything still in
memory is not retained. Policy defaults enable only users with
administrative role or the owner of the server to perform this
operation. Cloud provides could change this permission though.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
unshelve_server(server)
Unselves or restores a shelved server.
Policy defaults enable only users with administrative role or the
owner of the server to perform this operation. Cloud provides could
change this permission though.
| Parameters: | server – Either the ID of a server or a
Server instance. |
| Returns: | None |
-
create_server_interface(server, **attrs)
Create a new server interface from attributes
| Parameters: |
- server – The server can be either the ID of a server or a
Server instance
that the interface belongs to.
- attrs (dict) – Keyword arguments which will be used to create
a ServerInterface,
comprised of the properties on the ServerInterface class.
|
| Returns: | The results of server interface creation
|
| Return type: | ServerInterface
|
-
delete_server_interface(server_interface, server=None, ignore_missing=True)
Delete a server interface
| Parameters: |
- server_interface – The value can be either the ID of a server interface or a
ServerInterface
instance.
- server – This parameter need to be specified when ServerInterface
ID is given as value. It can be either the ID of a
server or a Server
instance that the interface belongs to.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the server interface does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent server interface.
|
| Returns: | None
|
-
get_server_interface(server_interface, server=None)
Get a single server interface
| Parameters: |
- server_interface – The value can be the ID of a server interface or a
ServerInterface
instance.
- server – This parameter need to be specified when ServerInterface
ID is given as value. It can be either the ID of a
server or a Server
instance that the interface belongs to.
|
| Returns: | One
ServerInterface
|
| Raises: | ResourceNotFound
when no resource can be found.
|
-
server_interfaces(server)
Return a generator of server interfaces
| Parameters: | server – The server can be either the ID of a server or a
Server. |
| Returns: | A generator of ServerInterface objects |
| Return type: | ServerInterface |
-
server_ips(server, network_label=None)
Return a generator of server IPs
| Parameters: |
- server – The server can be either the ID of a server or a
Server.
- network_label – The name of a particular network to list
IP addresses from.
|
| Returns: | A generator of ServerIP objects
|
| Return type: | ServerIP
|
-
availability_zones(details=False)
Return a generator of availability zones
| Parameters: | details (bool) – Return extra details about the availability
zones. This defaults to False as it generally
requires extra permission. |
| Returns: | A generator of availability zone |
| Return type: | :class:`~openstack.compute.v2.availability_zone. |
AvailabilityZone`
-
get_server_metadata(server)
Return a dictionary of metadata for a server
| Parameters: | server – Either the ID of a server or a
Server or
ServerDetail
instance. |
| Returns: | A Server with only the
server’s metadata. All keys and values are Unicode text. |
| Return type: | Server |
-
set_server_metadata(server, **metadata)
Update metadata for a server
| Parameters: |
- server – Either the ID of a server or a
Server or
ServerDetail
instance.
- metadata (kwargs) – Key/value pairs to be updated in the server’s
metadata. No other metadata is modified
by this call. All keys and values are stored
as Unicode.
|
| Returns: | A Server with only the
server’s metadata. All keys and values are Unicode text.
|
| Return type: | Server
|
-
delete_server_metadata(server, keys)
Delete metadata for a server
Note: This method will do a HTTP DELETE request for every key in keys.
| Parameters: |
- server – Either the ID of a server or a
Server or
ServerDetail
instance.
- keys – The keys to delete
|
| Return type: | None
|
-
create_server_group(**attrs)
Create a new server group from attributes
| Parameters: | attrs (dict) – Keyword arguments which will be used to create
a ServerGroup,
comprised of the properties on the ServerGroup class. |
| Returns: | The results of server group creation |
| Return type: | ServerGroup |
-
delete_server_group(server_group, ignore_missing=True)
Delete a server group
| Parameters: |
- server_group – The value can be either the ID of a server group
or a ServerGroup
instance.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the server group does not exist.
When set to True, no exception will be set when
attempting to delete a nonexistent server group.
|
| Returns: | None
|
-
find_server_group(name_or_id, ignore_missing=True)
Find a single server group
| Parameters: |
- name_or_id – The name or ID of a server group.
- ignore_missing (bool) – When set to False
ResourceNotFound will be
raised when the resource does not exist.
When set to True, None will be returned when
attempting to find a nonexistent resource.
|
| Returns: | One ServerGroup object
or None
|
-
get_server_group(server_group)
Get a single server group
| Parameters: | server_group – The value can be the ID of a server group or a
ServerGroup
instance. |
| Returns: | A ServerGroup object. |
| Raises: | ResourceNotFound
when no resource can be found. |
-
server_groups(**query)
Return a generator of server groups
| Parameters: | **query (kwargs) – Optional query parameters to be sent to limit
the resources being returned. |
| Returns: | A generator of ServerGroup objects |
| Return type: | ServerGroup |
-
hypervisors()
Return a generator of hypervisor
| Returns: | A generator of hypervisor |
| Return type: | class: ~openstack.compute.v2.hypervisor.Hypervisor |
-
find_hypervisor(name_or_id, ignore_missing=True)
Find a hypervisor from name or id to get the corresponding info
| Parameters: | name_or_id – The name or id of a hypervisor |
| Returns: | One: class:~openstack.compute.v2.hypervisor.Hypervisor object
or None |
-
get_hypervisor(hypervisor)
Get a single hypervisor
| Parameters: | hypervisor – The value can be the ID of a hypervisor or a
Hypervisor
instance. |
| Returns: | A Hypervisor object. |
| Raises: | ResourceNotFound
when no resource can be found. |
-
get_service(service)
Get a single service
| Parameters: | service – The value can be the ID of a serivce or a
Service
instance. |
| Returns: | A Service object. |
| Raises: | ResourceNotFound
when no resource can be found. |
-
force_service_down(service, host, binary)
Force a service down
| Parameters: |
- service – Either the ID of a service or a
Service instance.
- host (str) – The host where service runs.
- binary (str) – The name of service.
|
| Returns: | None
|
-
disable_service(service, host, binary, disabled_reason=None)
Disable a service
| Parameters: |
- service – Either the ID of a service or a
Service instance.
- host (str) – The host where service runs.
- binary (str) – The name of service.
- disabled_reason (str) – The reason of force down a service.
|
| Returns: | None
|
-
enable_service(service, host, binary)
Enable a service
| Parameters: |
- service – Either the ID of a service or a
Service instance.
- host (str) – The host where service runs.
- binary (str) – The name of service.
|
| Returns: | None
|
-
services()
Return a generator of service
| Returns: | A generator of service |
| Return type: | class: ~openstack.compute.v2.service.Service |