镜像
上传镜像
接口描述
上传镜像。
接口路径
PUT /v1/images/upload
镜像要求
-
镜像要安装virtio驱动和QEMU-Guest-Agent
-
windows镜像要安装cloudbase-init,并配置启用
ConfigDriveService
和NetworkConfigPlugin
,比如:
[DEFAULT]
username=Cloud
groups=Administrators
inject_user_password=false
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=false
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=COM1,115200,N,8
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
first_logon_behaviour=no
san_policy=OnlineAll
trim_enabled=True
metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, cloudbaseinit.metadata.services.base.EmptyMetadataService
plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
接口参数
名称 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
endpoint | string | 是 | 镜像地址载地址 | |
image_name | string | 是 | 镜像名称 | |
os | string | 是 | 操作系统 | |
storage_pool_id | string | 是 | 存储池ID | |
datacenter_id | string | 是 | 数据中心ID | |
description | string | 是 | 镜像描述 |
返回数据
名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码(100001表示成功,其它表示异常) |
msg | string | 状态码描述信息 |
data | object | 响应数据。 |
reason | string | 异常时的原因 |
Object:
名称 | 类型 | 描述 |
---|---|---|
task_id | int | 任务Id |
image_id | int | 镜像Id |
创建镜像
接口描述
基于一个实例的系统盘创建一个镜像。
接口路径
POST /v1/images
接口参数
名称 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
domain_id | int | 是 | 虚拟机Id | |
name | string | 是 | 镜像名称(datacenter内唯一) | |
description | string | 否 | 镜像描述 |
返回数据
名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码(100001表示成功,其它表示异常) |
msg | string | 状态码描述信息 |
data | Object | 响应数据 |
reason | string | 异常时的原因 |
Object:
名称 | 类型 | 描述 |
---|---|---|
task_id | int | 任务Id |
image_id | int | 镜像Id |
查看镜像列表
接口描述
查看镜像列表。
接口路径
GET /v1/images
接口参数
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
datacenter_id | 否 | /v1/images?datacenter_id=1 | 查询指定数据中心的虚拟机 |
offset | 否 | /v1/images?offset=10 | 跳过记录数量 |
limit | 否 | /v1/images?limit=10 | 限制查询数量(default:100) |
返回数据
名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码(100001表示成功,其它表示异常) |
msg | string | 状态码描述信息 |
data | Object | 响应数据 |
reason | string | 异常时的原因 |
返回数据示例:
{
"code": 100001,
"msg": "success",
"data": {
"count": 1, // 镜像数量
"items": [
{
"id": 1, // 镜像Id
"created_at": "2024-06-25T15:00:10+08:00", // 创建时间
"updated_at": "2024-06-25T15:29:11.767+08:00", // 更新时间
"name": "windows10", // 镜像名称
"filename": "win10_21h1_debug.qcow2", // 镜像文件名称
"capacity": 40, // 镜像大小
"format": "qcow2", // 镜像格式
"storage_pool": "baseimg", // 镜像所在存储池
"storage_pool_id": 2, // 镜像所在存储池Id
"system": "windows10", // 操作系统
"os": "windows10", // 操作系统
"status": "creating", // 镜像状态
"task_status": "creating", // 镜像任务状态
"datacenter_id": 1 // 数据中心Id
}
]
}
}
镜像状态有:
- creating:创建中
- active:正常可用
- inactive:不可用
- error:异常
镜像任务状态有:
- uploading:上传中
- downloading:下载中
- upload_error:上传错误
- download_error:下载错误
- success:成功
查看镜像详情
接口描述
查看镜像详情。
接口路径
GET /v1/images/:id
接口参数
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
id | 是 | /v1/images/10 | 镜像Id |
返回数据
名称 | 类型 | 描述 |
---|---|---|
code | int | 状态码(100001表示成功,其它表示异常) |
msg | string | 状态码描述信息 |
data | Object | 响应数据 |
reason | string | 异常时的原因 |
返回数据示例:
{
"code": 100001,
"msg": "success",
"data": {
"id": 1, // 镜像Id
"created_at": "2024-06-25T15:00:10+08:00", // 创建时间
"updated_at": "2024-06-25T15:29:11.767+08:00", // 更新时间
"name": "windows10", // 镜像名称
"filename": "win10_21h1_debug.qcow2", // 镜像文件名称
"capacity": 40, // 镜像大小
"format": "qcow2", // 镜像格式
"storage_pool": "baseimg", // 镜像所在存储池
"storage_pool_id": 2, // 镜像所在存储池Id
"system": "windows10", // 操作系统
"os": "windows10", // 操作系统
"status": "creating", // 镜像状态
"task_status": "creating", // 镜像任务状态
"datacenter_id": 1 // 数据中心Id
}
}