openstack.compute.v2.server

服务器类

服务器类 Server 继承自 Resource

class openstack.compute.v2.server.Server(_synchronized=False, connection=None, **attrs)

基础资源

参数:
  • _synchronized (bool) – 这不打算直接使用。请参阅 new()existing()

  • connection (openstack.connection.Connection) – 对正在使用的 Connection 的引用。默认为 None,允许在单元测试中等情况下使用不带活动 Connection 的 Resource 对象。Resource 代码中对 self._connection 的使用应使用 None 检查进行保护。

resource_key = 'server'

资源的单数形式的键。

resources_key = 'servers'

资源的复数形式的键。

base_path = '/servers'

此资源的 URI 的基本部分。

allow_create = True

允许对此资源进行创建操作。

allow_fetch = True

允许对此资源进行获取操作。

allow_commit = True

允许对此资源进行更新操作。

allow_delete = True

允许对此资源进行删除操作。

allow_list = True

允许对此资源进行列表操作。

与此服务器相关的链接列表。

addresses

可以通过此服务器访问的地址字典。字典包含诸如 privatepublic 之类的键,每个键包含该类型地址的字典列表。地址包含在具有 addrversion 键的字典中,该版本为 4 或 6,具体取决于 IP 地址的协议。类型: dict

admin_password

当首次创建服务器时,它会提供管理员密码。

attached_volumes

已附加卷的列表。列表中的每个项目至少包含一个“id”键来标识特定的卷。

availability_zone

此服务器所属的可用区名称。

block_device_mapping

启用实例的块设备映射的精细控制。这通常用于从卷启动服务器。

config_drive

指示是否为此服务器使用了配置驱动器。

compute_host

此实例正在运行的计算主机名称。仅对管理用户在响应中出现。

created_at

服务器创建的时间戳。

description

服务器的描述。在 microversion 2.19 之前,此描述设置为服务器名称。

disk_config

磁盘配置。可以是 AUTO 或 MANUAL。

flavor_id

风味引用,作为 ID 或完整的 URL,用于此服务器的风味。

flavor

从服务器返回的风味属性。

has_config_drive

指示配置驱动器是否启用元数据注入。并非所有云提供商都启用此功能。

host_id

此服务器的主机 ID。

fault

一个故障对象。仅当服务器状态为 ERROR 或 DELETED 并且发生故障时可用。

host

启动服务器的主机。

host_status

主机状态。

hostname

在实例启动时设置的主机名。默认情况下,它仅对管理用户在响应中出现。

hypervisor_hostname

超visor 主机名。仅对管理用户在响应中出现。

image_id

镜像引用,作为 ID 或完整的 URL,用于此服务器的镜像。

image

从服务器返回的镜像属性。

instance_name

实例名称。计算 API 从实例名称模板生成实例名称。默认情况下,它仅对管理用户在响应中出现。

interface_ip

用于从当前调用上下文连接到此服务器的地址。如果调用主机具有可路由的 IPv6 地址,则将其设置为 public_ipv6,如果 Connection 是使用 private=True 创建的,则将其设置为 private_ipv4。否则,它将设置为 public_ipv4。

kernel_id

在使用 AMI 时内核镜像的 UUID。如果未使用,则为 null。默认情况下,它仅对管理用户在响应中出现。

key_name

关联密钥对的名称

launch_index

当通过多重创建启动服务器时,这是服务器启动的顺序。默认情况下,它仅对管理用户在响应中出现。

launched_at

服务器启动的时间戳。

locked_reason

服务器被锁定的原因(如果有)。

max_count

要创建的最大服务器数。

min_count

要创建的最小服务器数。

networks

一个网络对象。当租户定义了多个网络时,这是必需的参数。如果您未指定网络参数,服务器将附加到为当前租户创建的唯一网络。

personality

个性化文件。这应该是一个字典列表,每个字典包含一个文件名(“name”)和一个 base64 编码的文件内容(“contents”)

pinned_availability_zone

在服务器创建期间请求的可用区或使用 default_schedule_zone 配置选项配置的固定可用区。

power_state

此服务器的电源状态。

progress

当服务器正在构建时,此值表示完成的百分比。完成之后,它将为 100。类型: int

project_id

服务器关联的项目 ID。

private_v4

此服务器的私有 IPv4 地址

private_v6

此服务器的私有 IPv6 地址

public_v4

此服务器的公共 IPv4 地址

public_v6

此服务器的公共 IPv6 地址

ramdisk_id

在使用 AMI 时,ramdisk 镜像的 UUID。如果未使用,则为 null。默认情况下,它仅对管理用户在响应中出现。

reservation_id

服务器的预留 ID。这是一种 ID,可用于跟踪使用多个创建创建的服务器组,所有服务器都将具有相同的预留 ID。默认情况下,它仅对管理用户在响应中出现。

root_device_name

实例的根设备名称。默认情况下,它仅对管理用户在响应中出现。

scheduler_hints

发送到调度器的字典数据。

security_groups

适用的安全组列表。每个组包含描述、名称、id 和规则的键。

server_groups

服务器所属的服务器组的 UUID。当前这最多可以包含一个条目。

status

此服务器的状态。有效值包括 ACTIVEBUILDINGDELETEDERRORHARD_REBOOTPASSWORDPAUSEDREBOOTREBUILDRESCUEDRESIZEDREVERT_RESIZESHUTOFFSOFT_DELETEDSTOPPEDSUSPENDEDUNKNOWNVERIFY_RESIZE

task_state

此服务器的任务状态。

terminated_at

服务器终止的时间戳(如果已终止)。

trusted_image_certificates

用于在镜像签名验证期间验证签名证书的受信任证书 ID 列表。

updated_at

上次更新此服务器的时间戳。

user_data

启动时使用的配置信息或脚本。必须进行Base64编码。

user_id

此服务器所有者的ID。

vm_state

此服务器的VM状态。

change_password(session, password, *, microversion=None)

将管理员密码更改为给定的密码。

参数:
  • session – 用于进行此请求的会话。

  • password – 新密码。

返回值:

get_password(session, *, microversion=None)

获取加密的管理员密码。

参数:

session – 用于进行此请求的会话。

返回值:

加密的管理员密码。

clear_password(session, *, microversion=None)

清除管理员密码。

这会从数据库中删除密码。它不会实际更改服务器密码。

参数:

session – 用于进行此请求的会话。

返回值:

reboot(session, reboot_type)

重启服务器,其中 reboot_type 可能是 ‘SOFT’ 或 ‘HARD’。

参数:
  • session – 用于进行此请求的会话。

  • reboot_type – 重启类型。可以是以下之一:SOFTHARD

返回值:

force_delete(session)

强制删除服务器。

参数:

session – 用于进行此请求的会话。

返回值:

rebuild(session, image, name=<openstack.types.Unset object>, admin_password=<openstack.types.Unset object>, preserve_ephemeral=<openstack.types.Unset object>, access_ipv4=<openstack.types.Unset object>, access_ipv6=<openstack.types.Unset object>, metadata=<openstack.types.Unset object>, user_data=<openstack.types.Unset object>, key_name=<openstack.types.Unset object>, description=<openstack.types.Unset object>, trusted_image_certificates=<openstack.types.Unset object>, hostname=<openstack.types.Unset object>)

使用给定的参数重建服务器。

参数:
  • session – 用于进行此请求的会话。

  • image – 要重建到的镜像。可以是ID或 Image 实例。

  • name – 要设置在重建服务器上的名称。(可选)

  • admin_password – 要设置在重建服务器上的管理员密码。(可选)

  • preserve_ephemeral – 是否在重建期间保留临时驱动器。(可选)

  • access_ipv4 – 用于访问重建服务器的IPv4地址。(可选)

  • access_ipv6 – 用于访问重建服务器的IPv6地址。(可选)

  • metadata – 要设置在更新服务器上的元数据。(可选)

  • user_data – 要设置在更新服务器上的用户数据。(可选)

  • key_name – 要设置在更新服务器上的密钥名称。(可选)

  • description – 要设置在更新服务器上的描述。(可选)(需要API微版本2.19)

  • trusted_image_certificates – 要设置在更新服务器上的受信任镜像证书。(可选)(需要API微版本2.78)

  • hostname – 要设置在更新服务器上的主机名。(可选)(需要API微版本2.90)

返回值:

更新后的服务器。

resize(session, flavor)

调整服务器到flavor引用。

参数:
  • session – 用于进行此请求的会话。

  • flavor – 要调整到的服务器。

返回值:

confirm_resize(session)

确认服务器的调整大小。

参数:

session – 用于进行此请求的会话。

返回值:

revert_resize(session)

撤销服务器的调整大小。

参数:

session – 用于进行此请求的会话。

返回值:

create_image(session, name, metadata=None)

从服务器创建镜像。

参数:
  • session – 用于进行此请求的会话。

  • name – 用于创建的镜像的名称。

  • metadata – 要设置在创建的镜像上的元数据。(可选)

返回值:

add_security_group(session, security_group_name)

将安全组添加到服务器。

参数:
  • session – 用于进行此请求的会话。

  • security_group_name – 要添加到服务器的安全组。

返回值:

remove_security_group(session, security_group_name)

从服务器删除安全组。

参数:
  • session – 用于进行此请求的会话。

  • security_group_name – 要从服务器删除的安全组。

返回值:

reset_state(session, state)

重置服务器状态。

默认情况下,这仅限管理员使用。

参数:
  • session – 用于进行此请求的会话。

  • state – 要设置在服务器上的状态。

返回值:

add_fixed_ip(session, network_id)

将固定IP添加到服务器。

实际上,这是添加网络的别名。

参数:
  • session – 用于进行此请求的会话。

  • network_id – 要连接服务器的网络。

返回值:

remove_fixed_ip(session, address)

从服务器删除固定IP。

实际上,这是从服务器删除端口的别名。

参数:
  • session – 用于进行此请求的会话。

  • network_id – 要从服务器删除的地址。

返回值:

add_floating_ip(session, address, fixed_address=None)

将浮动IP添加到服务器。

参数:
  • session – 用于进行此请求的会话。

  • address – 要与服务器关联的浮动IP地址。

  • fixed_address – 要与浮动IP关联的固定IP地址。(可选)

返回值:

remove_floating_ip(session, address)

从服务器删除浮动IP。

参数:
  • session – 用于进行此请求的会话。

  • address – 要与服务器分离的浮动IP地址。

返回值:

backup(session, name, backup_type, rotation)

创建服务器的备份。

参数:
  • session – 用于进行此请求的会话。

  • name – 用于备份镜像的名称。

  • backup_type – 备份类型。此属性的含义由用户定义,可用于区分不同类型的备份。例如,这可用于区分 dailyweekly 备份。

  • rotation – 要保留的备份数量。所有早于第 rotation 个镜像的镜像都将被删除。

返回值:

pause(session)

暂停服务器。

参数:

session – 用于进行此请求的会话。

返回值:

unpause(session)

取消暂停服务器。

参数:

session – 用于进行此请求的会话。

返回值:

suspend(session)

挂起服务器。

参数:

session – 用于进行此请求的会话。

返回值:

resume(session)

恢复服务器。

参数:

session – 用于进行此请求的会话。

返回值:

lock(session, locked_reason=None)

锁定服务器。

参数:
  • session – 用于进行此请求的会话。

  • locked_reason – 锁定服务器的原因。

返回值:

unlock(session)

解锁服务器。

参数:

session – 用于进行此请求的会话。

返回值:

rescue(session, admin_pass=None, image_ref=None)

救援服务器。

默认情况下,这仅限管理员使用。

参数:
  • session – 用于进行此请求的会话。

  • admin_pass – 要设置在救援服务器上的管理员密码。(可选)

  • image_ref – 救援服务器时使用的镜像。如果未提供,服务器将使用现有镜像。(可选)

返回值:

unrescue(session)

取消救援服务器。

默认情况下,这仅限管理员使用。

参数:

session – 用于进行此请求的会话。

返回值:

evacuate(session, host=None, admin_pass=None, force=None, on_shared_storage=None)

疏散服务器。

参数:
  • session – 用于进行此请求的会话。

  • host – 要疏散实例到的主机。(可选)

  • admin_pass – 要设置在疏散实例上的管理员密码。(可选)

  • force – 是否强制疏散。

  • on_shared_storage – 主机是否使用共享存储。(可选)(仅在微版本2.14之前支持)

返回值:

start(session)

启动服务器。

参数:

session – 用于进行此请求的会话。

返回值:

stop(session)

停止服务器。

参数:

session – 用于进行此请求的会话。

返回值:

restore(session)

恢复服务器。

仅当服务器处于软删除状态时才支持此操作。此功能特定于云平台。

参数:

session – 用于进行此请求的会话。

返回值:

shelve(session)

将服务器置于搁置状态。

参数:

session – 用于进行此请求的会话。

返回值:

shelve_offload(session)

将服务器置于卸载搁置状态。

参数:

session – 用于进行此请求的会话。

返回值:

unshelve(session, availability_zone=<openstack.types.Unset object>, host=None)

将服务器从搁置状态恢复。

参数:
  • session – 用于进行此请求的会话。

  • availability_zone – 如果指定,实例将被恢复到指定的可用区。如果传递 None,则实例定义的可用区将被取消固定,实例将被调度到任何可用区(自由调度)。如果未指定,实例将被恢复到其定义的可用区或任何可用区(自由调度)。

  • host – 如果指定,则将实例恢复到指定的主机。

migrate(session, *, host=None)

迁移服务器。

参数:
  • session – 用于进行此请求的会话。

  • host – 要迁移服务器到的主机。(可选)

返回值:

trigger_crash_dump(session)

为服务器触发崩溃转储。

参数:

session – 用于进行此请求的会话。

返回值:

get_console_output(session, length=None)

获取服务器的控制台输出。

参数:
  • session – 用于进行此请求的会话。

  • length – 要返回的控制台输出的最大长度。(可选)

返回值:

get_console_url(session, console_type)

获取服务器的控制台 URL。

参数:
  • session – 用于进行此请求的会话。

  • console_type – 要返回的控制台类型。此功能特定于云平台。可以是:novncxvpvncspice-html5spice-direct(Nova 微版本 2.99 之后)、rdp-html5serial

返回值:

live_migrate(session, host, force, block_migration, disk_over_commit=False)

实时迁移服务器。

参数:
  • session – 用于进行此请求的会话。

  • host – 要实时迁移服务器到的主机。(可选)

  • force – 是否强制迁移。(可选)

  • block_migration – 是否执行块迁移。可以是:TrueFalse'auto'。(可选)

  • disk_over_commit – 是否允许在目标主机上进行磁盘过度承诺。(可选)

返回值:

fetch_topology(session)

获取服务器的拓扑信息。

参数:

session – 用于进行此请求的会话。

返回值:

fetch_security_groups(session)

获取服务器的安全组。

参数:

session – 用于进行此请求的会话。

返回值:

更新的 Server 实例。