openstack.image.v2.image

Image 类

Image 类继承自 Resource

class openstack.image.v2.image.Image(_synchronized=False, connection=None, **attrs)

基础资源

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

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

resources_key = 'images'

资源的复数形式的键。

base_path = '/images'

此资源的 URI 的基本部分。

allow_create = True

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

allow_fetch = True

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

allow_commit = True

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

allow_delete = True

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

allow_list = True

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

commit_method = 'PATCH'

提交资源的 HTTP 方法 (PUT、PATCH、POST)

commit_jsonpatch = True

提交是否使用 JSON patch 格式。

checksum

用于验证的图像数据的哈希值。

container_format

容器格式是指 VM 镜像是否包含有关实际 VM 的元数据的文件格式。容器格式包括 OVF 和 Amazon AMI。此外,VM 镜像可能没有容器格式 - 相反,该镜像只是未结构化数据的一个块。

created_at

创建图像的日期和时间。

disk_format

有效值包括:aki、ari、ami、raw、iso、vhd、vdi、qcow2 或 vmdk。VM 镜像的磁盘格式是底层磁盘镜像的格式。虚拟设备供应商有不同的格式来布局 VM 磁盘镜像中包含的信息。

is_hidden

此字段控制是否在默认镜像列表响应中显示镜像。

is_protected

定义是否可以删除镜像。类型:bool

hash_algo

用于计算此镜像图像数据的安全哈希的算法。

hash_value

使用 os_hash_algo 属性值的算法计算的图像数据的安全哈希的十六进制摘要。

min_disk

启动镜像所需的最小磁盘大小,单位为 GB。

min_ram

启动镜像所需的最小 RAM 大小,单位为 MB。

name

镜像的名称。

owner

镜像所有者或项目的 ID。

owner_id

镜像所有者或项目的 ID。(向后兼容)

properties

与镜像关联的属性(如果有)。

size

图像数据的大小,单位为字节。

store

如果存在,Glance 将尝试将磁盘镜像数据存储在标头中指示的后端存储中。如果不存在,Glance 将将磁盘镜像数据存储在标记为默认的后端存储中。有效值包括:file、s3、rbd、swift、cinder、gridfs、sheepdog 或 vsphere。

status

镜像状态。

updated_at

更新图像的日期和时间。

virtual_size

图像的虚拟大小。

visibility

镜像的可见性。

file

虚拟机器镜像文件的 URL。

locations

访问外部存储中镜像文件的 URL 列表。如果 Image 服务的配置文件中将 show_multiple_locations 选项设置为 true,则此列表将出现。

direct_url

访问存储在外部存储中的镜像文件的 URL。当您将 Image 服务的配置文件中将 show_image_direct_url 选项设置为 true 时,它将出现。

url

访问存储在外部存储中的镜像文件的 URL。

metadata

位置元数据。

architecture

超处理器必须支持的 CPU 架构。

hypervisor_type

超处理器类型。请注意,qemu 用于 QEMU 和 KVM 超处理器类型。

instance_type_rxtx_factor

可选属性允许创建的服务器具有与网络定义的带宽上限不同的带宽上限。

instance_uuid

创建此镜像。

needs_config_drive

指定镜像是否需要配置驱动器。必需可选(如果未使用该属性,则为默认值)。

kernel_id

应在启动 AMI 风格的镜像时用作内核的 Image 服务中存储的镜像的 ID。

os_distro

操作系统发行版的常用名称(小写)

os_version

操作系统版本,由发行版指定。

needs_secure_boot

安全启动是一种安全标准。当实例启动时,安全启动首先通过它们的签名检查软件,例如固件和操作系统,并且仅在签名有效时才允许它们运行。

os_shutdown_timeout

优雅关机的时长

ramdisk_id

应在启动 AMI 风格的镜像时用作 ramdisk 的 Image 服务中存储的镜像的 ID。

vm_mode

虚拟机模式。这代表用于虚拟机的宿主/客户 ABI(应用程序二进制接口)。

hw_cpu_sockets

暴露给客户的首选插槽数。

hw_cpu_cores

暴露给客户的首选核心数。

hw_cpu_threads

暴露给客户的首选线程数。

hw_disk_bus

指定将磁盘设备连接到的磁盘控制器类型。可以是 scsi、virtio、uml、xen、ide 或 usb。

hw_cpu_policy

用于将实例的虚拟 CPU (vCPU) 绑定到宿主机的物理 CPU 核心 (pCPU)。

hw_cpu_thread_policy

定义如何在基于同步多线程 (SMT) 架构的硬件 CPU 线程中使用。

hw_rng_model

为镜像的实例添加随机数生成器设备。

hw_machine_type

对于 libvirt:允许使用指定的机器类型启动 ARM 系统。对于 Hyper-V:指定 Hyper-V 实例是第一代还是第二代 VM。

hw_scsi_model

启用使用 VirtIO SCSI (virtio-scsi) 为计算实例提供块设备访问;默认情况下,实例使用 VirtIO Block (virtio-blk)。

hw_serial_port_count

指定应提供的串行端口数。

hw_video_model

使用的视频图像驱动程序。

hw_video_ram

视频图像的最大 RAM。

hw_watchdog_action

启用虚拟硬件看门狗设备,如果服务器挂起,则执行指定的操作。

os_command_line

要由 libvirt 驱动程序使用的内核命令行,而不是默认值。

hw_vif_model

指定要使用的虚拟网络接口设备的模型。

is_hw_vif_multiqueue_enabled

如果为 true,则启用 virtio-net 多队列功能。在这种情况下,驱动程序将队列数设置为客户 vCPU 的数量。这使得网络性能可以扩展到多个 vCPU。

is_hw_boot_menu_enabled

如果为真,则启用 BIOS 启动菜单。

vmware_adaptertype

超visor使用的虚拟 SCSI 或 IDE 控制器。

vmware_ostype

描述镜像中安装的操作系统的一个 VMware GuestID。

has_auto_disk_config

如果为真,则在实例启动之前自动调整磁盘上的根分区大小。

os_type

镜像上安装的操作系统。

os_admin_user

操作系统管理员用户名。

hw_qemu_guest_agent

一个字符串布尔值,如果为“true”,QEMU 客体代理将被暴露给实例。

os_require_quiesce

如果为真,则通过 QEMU 客体代理要求在快照时进行静默处理。

schema

描述虚拟机镜像的模式的 URL。

deactivate(session)

停用镜像

注意:只有管理员用户才能查看已停用镜像的镜像位置。

reactivate(session)

重新激活镜像

注意:镜像必须存在才能被重新激活。

upload(session, *, data=None)

将数据上传到现有镜像

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

  • data – 可选数据,将被上传。如果未提供,将使用 ~Image.data 属性

返回值:

服务器响应

stage(session, *, data=None)

将二进制镜像数据导入到现有镜像

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

  • data – 可选数据,将被上传。如果未提供,将使用 ~Image.data 属性

返回值:

服务器响应

classmethod import_image(session, method='glance-direct', *, uri=None, remote_region=None, remote_image_id=None, remote_service_interface=None, store=None, stores=None, all_stores=None, all_stores_must_succeed=None)

通过可互操作的镜像导入流程导入镜像

classmethod find(session, name_or_id, ignore_missing=True, **params)

按其名称或 ID 查找资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • name_or_id – 此资源的标识符(如果请求需要)。默认值为 None

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

  • list_base_path (str) – 需要列出资源时使用的 base_path。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • params (dict) – 传递给底层方法的任何其他参数,例如传递 URI 参数到 existing()

返回值:

与给定名称或 ID 匹配的 Resource 对象,或者如果没有任何匹配项则返回 None。

引发:

openstack.exceptions.DuplicateResource 如果为该请求找到多个资源。

引发:

openstack.exceptions.NotFoundException 如果未找到任何内容且 ignore_missing 为 False