heat.engine.clients.os.nova module¶
- class heat.engine.clients.os.nova.FlavorConstraint[source]¶
Bases:
heat.engine.clients.os.nova.NovaBaseConstraint
- expected_exceptions = (<class 'novaclient.exceptions.NotFound'>,)¶
- resource_getter_name = 'find_flavor_by_name_or_id'¶
- class heat.engine.clients.os.nova.HostConstraint[source]¶
Bases:
heat.engine.clients.os.nova.NovaBaseConstraint
- expected_exceptions = (<class 'novaclient.exceptions.NotFound'>,)¶
- resource_getter_name = 'get_host'¶
- class heat.engine.clients.os.nova.KeypairConstraint[source]¶
Bases:
heat.engine.clients.os.nova.NovaBaseConstraint
- resource_getter_name = 'get_keypair'¶
- class heat.engine.clients.os.nova.NovaBaseConstraint[source]¶
Bases:
heat.engine.constraints.BaseCustomConstraint
- resource_client_name = 'nova'¶
- class heat.engine.clients.os.nova.NovaClientPlugin(context)[source]¶
Bases:
heat.engine.clients.microversion_mixin.MicroversionMixin
,heat.engine.clients.client_plugin.ClientPlugin
- COMPUTE = 'compute'¶
- NOVA_API_VERSION = '2.1'¶
- build_userdata(metadata, userdata=None, instance_user=None, user_data_format='HEAT_CFNTOOLS')[source]¶
Build multipart data blob for CloudInit and Ignition.
Data blob includes user-supplied Metadata, user data, and the required Heat in-instance configuration.
- Parameters
resource (heat.engine.Resource) – the resource implementation
userdata (str or None) – user data string
instance_user (string) – the user to create on the server
user_data_format (string) – Format of user data to return
- Returns
multipart mime as a string
- check_detach_volume_complete(server_id, attach_id)[source]¶
Check that nova server lost attachment.
This check is needed for immediate reattachment when updating: there might be some time between cinder marking volume as ‘available’ and nova removing attachment from its own objects, so we check that nova already knows that the volume is detached.
- check_rebuild(server_id)[source]¶
Verify that a rebuilding server is rebuilt.
Raise error if it ends up in an ERROR state.
- check_resize(server_id, flavor)[source]¶
Verify that a resizing server is properly resized.
If that’s the case, confirm the resize, if not raise an error.
- deferred_server_statuses = {'BUILD', 'HARD_REBOOT', 'PASSWORD', 'REBOOT', 'RESCUE', 'RESIZE', 'REVERT_RESIZE', 'SHUTOFF', 'SUSPENDED', 'VERIFY_RESIZE'}¶
- exceptions_module = <module 'novaclient.exceptions' from '/home/zuul/src/opendev.org/openstack/heat/.tox/docs/lib/python3.10/site-packages/novaclient/exceptions.py'>¶
- fetch_server(server_id)[source]¶
Fetch fresh server object from Nova.
Log warnings and return None for non-critical API errors. Use this method in various
check_*_complete
resource methods, where intermittent errors can be tolerated.
- find_flavor_by_name_or_id(flavor)[source]¶
Find the specified flavor by name or id.
- Parameters
flavor – the name of the flavor to find
- Returns
the id of :flavor:
- get_console_urls(server)[source]¶
Return dict-like structure of server’s console urls.
The actual console url is lazily resolved on access.
- get_flavor(flavor_identifier)[source]¶
Get the flavor object for the specified flavor name or id.
- Parameters
flavor_identifier – the name or id of the flavor to find
- Returns
a flavor object with name or id :flavor:
- get_host(hypervisor_hostname)[source]¶
Gets list of matching hypervisors by specified name.
- Parameters
hypervisor_hostname – the name of host to find
- Returns
list of matching hypervisor hosts
- Raises
nova client exceptions.NotFound –
- get_keypair(key_name)[source]¶
Get the public key specified by :key_name:
- Parameters
key_name – the name of the key to look for
- Returns
the keypair (name, public_key) for :key_name:
- Raises
- get_server(server)[source]¶
Return fresh server object.
Substitutes Nova’s NotFound for Heat’s EntityNotFound, to be returned to user as HTTP error.
- get_status(server)[source]¶
Return the server’s status.
- Parameters
server – server object
- Returns
status as a string
- max_microversion = None¶
- rebuild(server_id, image_id, password=None, preserve_ephemeral=False, meta=None, files=None)[source]¶
Rebuild the server and call check_rebuild to verify.
- refresh_server(server)[source]¶
Refresh server’s attributes.
Also log warnings for non-critical API errors.
- service_types = ['compute']¶
- class heat.engine.clients.os.nova.ServerConstraint[source]¶
Bases:
heat.engine.clients.os.nova.NovaBaseConstraint
- resource_getter_name = 'get_server'¶