heat.engine.clients.os.nova module¶
- class heat.engine.clients.os.nova.FlavorConstraint[source]¶
-
- expected_exceptions = (<class 'novaclient.exceptions.NotFound'>,)¶
- resource_getter_name = 'find_flavor_by_name_or_id'¶
- class heat.engine.clients.os.nova.HostConstraint[source]¶
-
- expected_exceptions = (<class 'novaclient.exceptions.NotFound'>,)¶
- resource_getter_name = 'get_host'¶
- class heat.engine.clients.os.nova.NovaClientPlugin(context)[source]¶
基类:
MicroversionMixin,ClientPlugin- COMPUTE = 'compute'¶
- NOVA_API_VERSION = '2.1'¶
- build_userdata(metadata, userdata=None, instance_user=None, user_data_format='HEAT_CFNTOOLS')[source]¶
构建 CloudInit 和 Ignition 的多部分数据 blob。
数据 blob 包括用户提供的元数据、用户数据以及所需的 Heat 实例配置。
- 参数:
resource (heat.engine.Resource) – 资源实现
userdata (str 或 None) – 用户数据字符串
instance_user (string) – 要在服务器上创建的用户
user_data_format (string) – 要返回的用户数据格式
- 返回值:
multipart mime 作为字符串
- check_detach_volume_complete(server_id, attach_id)[source]¶
检查 nova 服务器是否已丢失附件。
此检查对于更新时的立即重新附加是必需的:在 cinder 将卷标记为“可用”和 nova 从其自身对象中删除附件之间可能存在一些时间,因此我们检查 nova 是否已经知道卷已分离。
- 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.12/site-packages/novaclient/exceptions.py'>¶
- fetch_server(server_id)[source]¶
从 Nova 获取最新的服务器对象。
对于非关键 API 错误,记录警告并返回 None。 在各种
check_*_complete资源方法中使用此方法,其中可以容忍间歇性错误。
- find_flavor_by_name_or_id(flavor)[source]¶
查找具有指定名称或 ID 的风味。
- 参数:
flavor – 要查找的风味名称
- 返回值:
风味 :flavor 的 ID
- get_flavor(flavor_identifier)[source]¶
获取具有指定风味名称或 ID 的风味对象。
- 参数:
flavor_identifier – 要查找的风味名称或 ID
- 返回值:
具有名称或 ID :flavor 的风味对象
- get_host(hypervisor_hostname)[source]¶
按指定名称获取匹配的超visor 列表。
- 参数:
hypervisor_hostname – 要查找的主机名称
- 返回值:
匹配的超visor 主机列表
- 引发:
nova client exceptions.NotFound –
- get_keypair(key_name)[source]¶
获取由 :key_name 指定的公钥
- 参数:
key_name – 要查找的密钥的名称
- 返回值:
密钥对(名称、公钥)用于 :key_name
- 引发:
- max_microversion = None¶
- rebuild(server_id, image_id, password=None, preserve_ephemeral=False, meta=None, files=None)[source]¶
重建服务器并调用 check_rebuild 进行验证。
- service_types = ['compute']¶