The heat.engine.clients.os.nova Module

class heat.engine.clients.os.nova.FlavorConstraint[source]

Bases: heat.engine.constraints.BaseCustomConstraint

expected_exceptions = (<class 'heat.common.exception.FlavorMissing'>,)
validate_with_client(client, flavor)[source]
class heat.engine.clients.os.nova.KeypairConstraint[source]

Bases: heat.engine.constraints.BaseCustomConstraint

expected_exceptions = (<class 'heat.common.exception.UserKeyPairMissing'>,)
validate_with_client(client, key_name)[source]
class heat.engine.clients.os.nova.NetworkConstraint[source]

Bases: heat.engine.constraints.BaseCustomConstraint

expected_exceptions = (<class 'heat.common.exception.NovaNetworkNotFound'>, <class 'heat.common.exception.PhysicalResourceNameAmbiguity'>)
validate_with_client(client, network)[source]
class heat.engine.clients.os.nova.NovaClientPlugin(context)[source]

Bases: heat.engine.clients.client_plugin.ClientPlugin

COMPUTE = 'compute'
absolute_limits()[source]

Return the absolute limits as a dictionary.

attach_volume(server_id, volume_id, device)[source]
build_userdata(metadata, userdata=None, instance_user=None, user_data_format='HEAT_CFNTOOLS')[source]

Build multipart data blob for CloudInit.

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_delete_server_complete(server_id)[source]

Wait for server to disappear from Nova.

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_interface_attach(*args, **kw)[source]
check_interface_detach(*args, **kw)[source]
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_id, flavor)[source]

Verify that a resizing server is properly resized.

If that’s the case, confirm the resize, if not raise an error.

check_verify_resize(server_id)[source]
deferred_server_statuses = ['BUILD', 'HARD_REBOOT', 'PASSWORD', 'REBOOT', 'RESCUE', 'RESIZE', 'REVERT_RESIZE', 'SHUTOFF', 'SUSPENDED', 'VERIFY_RESIZE']
detach_volume(server_id, attach_id)[source]
exceptions_module = <module 'novaclient.exceptions' from '/home/jenkins/workspace/heat-docs-ubuntu-xenial/.tox/venv/local/lib/python2.7/site-packages/novaclient/exceptions.pyc'>
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.

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_id(flavor)[source]

Get the id for the specified flavor name.

If the specified value is flavor id, just return it.

Parameters:flavor – the name of the flavor to find
Returns:the id of :flavor:
Raises:exception.FlavorMissing
get_ip(server, net_type, ip_version)[source]

Return the server’s IP of the given type and version.

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:exception.UserKeyPairMissing
get_net_id_by_label(label)[source]
get_nova_network_id(net_identifier)[source]
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
has_extension(alias)[source]

Check if extension is present.

interface_attach(server_id, port_id=None, net_id=None, fip=None)[source]
interface_detach(server_id, port_id)[source]
is_bad_request(ex)[source]
is_conflict(ex)[source]
is_not_found(ex)[source]
is_over_limit(ex)[source]
is_unprocessable_entity(ex)[source]
meta_serialize(metadata)[source]

Serialize non-string metadata values before sending them to Nova.

meta_update(server, metadata)[source]

Delete/Add the metadata in nova as needed.

rebuild(server_id, image_id, password=None, preserve_ephemeral=False)[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.

rename(server, name)[source]

Update the name for a server.

resize(server_id, flavor_id)[source]

Resize the server.

server_to_ipaddress(server)[source]

Return the server’s IP address, fetching it from Nova.

service_types = ['compute']
verify_resize(server_id)[source]
class heat.engine.clients.os.nova.ServerConstraint[source]

Bases: heat.engine.constraints.BaseCustomConstraint

expected_exceptions = (<class 'heat.common.exception.EntityNotFound'>,)
validate_with_client(client, server)[source]

Previous topic

The heat.engine.clients.os.neutron Module

Next topic

The heat.engine.clients.os.sahara Module

Project Source

This Page