versions: Update clh to latest master

Use latest master to enable memory hotplug.

Changes:

c1e6d00 ci: Add memory resizing use case to vhost-user tests
890582b ci: Factorize kernel command line
4de2584 ci: Fix mmio tests with direct kernel boot
f268246 ci: Factorize integration tests booting from vhost-user-blk
5a5b3cf ci: Factorize vhost-user-blk integration tests
dd8debf ci: Run vhost-user-blk tests for mmio builds
0c9c72c ci: Unify vhost-user-blk integration tests
c95851f ci: Run vhost-user-net tests for mmio transport
68293fc ci: Factorize vhost-user-net one step further
d75e745 vm-virtio: vhost-user: Send memory update to the backend
7ff82af vm-virtio: vhost-user: Factorize SET_MEM_TABLE setup
e54f8ec vmm: Update memory through DeviceManager
bc874a9 vm-virtio: Add update_memory() to VirtioDevice trait
93becca build(deps): bump backtrace from 0.3.45 to 0.3.46
feb8d7a vmm: Separate seccomp filters between VMM and API threads
5120c27 main: Add seccomp support
f1a23d7 vmm: api: Add seccomp to the HTTP API thread
db62cb3 vmm: Add seccomp filter to the VMM thread
cb98d90 vmm: Create new seccomp_filter module
708f02d vmm: Pull seccomp crate from Firecracker
18fbd30 vhost-user-fs: return correct result of fs_slave_io()
bbc385c devices: ioapic: Remove unused MsiMessage structure
2fc86ff dev_cli: Always pull the latest container image
4b462a5 Dockerfile: Add cpio and bsdtar to the container image
8acc15a build: Bump vm-memory and linux-loader dependencies
38ed560 build(deps): bump thiserror from 1.0.12 to 1.0.13
9f67de4 build(deps): bump proc-macro-hack from 0.5.12 to 0.5.14
ebab809 build(deps): bump thiserror from 1.0.11 to 1.0.12
c67e407 build(deps): bump syn from 1.0.16 to 1.0.17
bdcfe1e tests: Add "discard_writes" pmem test
7098602 tests: Make the test_virtio_pmem test use a temporary file
f7197e8 vmm: Add a "discard_writes=" to --pmem
d11a67b vmm: Use more generic MmapRegion constructor
7257e89 vmm: Add "readonly" parameter MemoryManager::create_userspace_mapping
03cb26c release: v0.6.0
3e9a39c github: Upload the ch-remote asset
c503118 vmm: fix a corrupted stack caused by get_win_size
0788600 build: Remove "pvh_boot" feature flag
477bc17 bin: Share VFIO device syntax between cloud-hypervisor and ch-remote
96be2db build(deps): bump serde_derive from 1.0.104 to 1.0.105
5a335fc build(deps): bump serde from 1.0.104 to 1.0.105
a31ffef openapi: Add hotplug_size for memory hotplug
87990f9 vmm: Add virtio-pci device to B/D/F hash table
fb185fa vmm: Always return PCI B/D/F from add_virtio_pci_device
462082c build(deps): bump arc-swap from 0.4.4 to 0.4.5
c821e96 vhost_user_fs: Implement support for FUSE_LSEEK
5aa9abc docs: Add document for vhost-user-net test with OVS/DPDK
6329219 vm-virtio: queue: Use a SeqCst fence on get_used_event
63eeed2 vm: Comment on the VM config update from memory hotplug
0895bcb build(deps): bump proc-macro-hack from 0.5.11 to 0.5.12
0541f5a build(deps): bump proc-macro-nested from 0.1.3 to 0.1.4
51f51ea build(deps): bump libc from 0.2.67 to 0.2.68
9cf67d1 arch: x86: Always set the bootloader type
ad35470 arch: x86: Extract common bootparams settings
28a5f9d vmm: acpi: Remove unused IORT related structures
5c1207c vhost-user-fs: handle FS_IO request
f61f78e build(deps): bump anyhow from 1.0.26 to 1.0.27
efb2447 pvh: Add integration test to validate PVH boot
da084fa pvh: Add unit tests for initial sregs and control registers
64941bf pvh: Add unit tests for start_info and memory map structures
9e247c4 pvh: Introduce "pvh_boot" feature
a22bc35 pvh: Write start_info structure to guest memory
840a9a9 pvh: Initialize vCPU regs/sregs for PVH boot
24f0e42 pvh: Introduce EntryPoint struct
98b9568 pvh: Add definitions for PVH boot protocol support
6e6ef83 build: Fix log dependency
291f1ce build(deps): bump linux-loader from `0c754f3` to `0ce5bfa`
07cc73b vhost_user_fs: add a flag to disable extended attributes
710520e vhost_user_fs: Process requests in parallel with a thread pool
90309b5 vm-virtio: queue: Add methods to switch a descriptor context
2294c2d Add .rustfmt.toml to the project
48c4885 vhost_user_fs: replace HandleData's File Mutex with RwLock
134e64c arch, qcow: Fix 1.42.0 clippy warnings
6ea85ca resources: Dockerfile: Update Rust toolchain
4579afa vmm: For --disk error if socket and path is specified
7e599b4 vmm: Make disk path optional
477d924 github: Build from a rust toolchain matrix
4f2469e main: Remove "--vhost-user-net"
8d785bb pci: Fix the PciBus using HashMap instead of Vec
04f2ccd build(deps): bump ryu from 1.0.2 to 1.0.3
02265bb build(deps): bump regex-syntax from 0.6.16 to 0.6.17
40b38a4 openapi: Make desired_ram int64 format
ca3b39c bin: Fix wrapping in help strings
ee1ba56 build: Use "wrap_help" feature for clap
3957d1e vhost_user_backend: call get_used_event from needs_notification
536323d vm-virtio: queue: hint that get_used_event should be inlined
401e1d2 vm-virtio: queue: fix a barrier comment at update_avail_event
e0bdfe8 vm-virtio: queue: add a missing memory barrier in get_used_event
df2570a resources: Simplify kernel config filename
9ab648b resources: Enable VIRTIO_MEM support
0339853 ci: Bump to kernel 5.6-rc4
abccf76 tests: Use ch-remote to add/remove devices in test_vfio
5c3ce9d tests: Extend ch-remote helper to support optional single argument
9a7d9c9 ch-remote: Support removing VFIO devices
0d53ba4 ch-remote: Support adding VFIO devices
babefbd main: Remove spurious second help line for "--device"
63c5d09 github: Trigger the build job on PRs
8cbb6d0 github: Replace Travis CI with github actions
efba48d vmm: Don't put a VFIO device behind the vIOMMU by default
34412c9 vmm: Add id option to VFIO hotplug
18dc916 vmm: Switch to the micro-http package
9023444 vmm: Add id field to --device through CLI
f4a956a vmm: Remove 32 bits MMIO range from correct address space
432eb5b vmm: Free PCI BARs when unplugging PCI device
f0dff8b vfio: pci: Remove KVM user memory region when cleaning up
34d1f43 vfio: pci: Implement free_bars() from the PciDevice trait
b8e1cf2 vm-allocator: Add new function to free 32 bits MMIO address space
f3dc245 pci: Extend PciDevice trait with new free_bars() method
911a2d6 tests: Use ch-remote to resize the VM
21160f7 ch-remote: Add "resize" command
bb2d04b ch-remote: Add support for sending a request body
bde4f73 ch-remote: Refactor HTTP response handling
6ed23bb build(deps): bump micro_http from `9bbde4f` to `6b3e5f0`
5edd812 build(deps): bump backtrace-sys from 0.1.33 to 0.1.34
f727714 ci: Add integration test for VFIO hot-unplug
b50cbe5 pci: Give PCI device ID back when removing a device
df71aae pci: Make the device ID allocation smarter
e514b12 vmm: Update VmConfig when removing VFIO device
81173bf vmm: Add id field to DeviceConfig structure
6cbdb9a vmm: api: Introduce new "remove-device" HTTP endpoint
991f3bb vmm: Remove VFIO device from everywhere it is referenced
6adebbc vmm: Detect when guest notifies about ejecting PCI device
0e21c32 devices: Add new method to remove all occurrences of a BusDevice
f8e2008 pci: Add a function to remove a PciDevice from the bus
08604ac vmm: Store PCI devices as Any devices from DeviceManager
0f99d3f vmm: Store VFIO device's name and its PCI b/d/f
13a61c4 build(deps): bump rand_chacha from 0.2.1 to 0.2.2
fcd605a build(deps): bump micro_http from `6d416af` to `9bbde4f`
30b6954 vm-virtio: Consume pause events to prevent infinite epoll_wait calls
16fd506 tests: Use new ch-remote for pause/resume integration test
ba8cd4d bin: Introduce "ch-remote" for controlling VMM
06cd31c build(deps): bump micro_http from `02def92` to `6d416af`
7e941c9 build(deps): bump linux-loader from `8cb7c66` to `0c754f3`

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
This commit is contained in:
Jose Carlos Venegas Munoz 2020-03-17 21:00:19 +00:00
parent 213f5dbaf5
commit ebb8fd576b
16 changed files with 248 additions and 38 deletions

View File

@ -75,7 +75,7 @@ assets:
url: "https://github.com/cloud-hypervisor/cloud-hypervisor"
uscan-url: >-
https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz
version: "df794993f8abe20f829275c77fb2a52ed485f70a"
version: "c1e6d0022b220ecba25a10f61d0025a408d90a94"
firecracker:
description: "Firecracker micro-VMM"

View File

@ -42,6 +42,7 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**ShutdownVMM**](docs/DefaultApi.md#shutdownvmm) | **Put** /vmm.shutdown | Shuts the cloud-hypervisor VMM.
*DefaultApi* | [**VmAddDevicePut**](docs/DefaultApi.md#vmadddeviceput) | **Put** /vm.add-device | Add a new device to the VM
*DefaultApi* | [**VmInfoGet**](docs/DefaultApi.md#vminfoget) | **Get** /vm.info | Returns general information about the cloud-hypervisor Virtual Machine (VM) instance.
*DefaultApi* | [**VmRemoveDevicePut**](docs/DefaultApi.md#vmremovedeviceput) | **Put** /vm.remove-device | Remove a device from the VM
*DefaultApi* | [**VmResizePut**](docs/DefaultApi.md#vmresizeput) | **Put** /vm.resize | Resize the VM
*DefaultApi* | [**VmmPingGet**](docs/DefaultApi.md#vmmpingget) | **Get** /vmm.ping | Ping the VMM to check for API server availability
@ -62,6 +63,7 @@ Class | Method | HTTP request | Description
- [VmAddDevice](docs/VmAddDevice.md)
- [VmConfig](docs/VmConfig.md)
- [VmInfo](docs/VmInfo.md)
- [VmRemoveDevice](docs/VmRemoveDevice.md)
- [VmResize](docs/VmResize.md)
- [VmmPingResponse](docs/VmmPingResponse.md)
- [VsockConfig](docs/VsockConfig.md)

View File

@ -143,6 +143,21 @@ paths:
"404":
description: The new device could not be added to the VM instance.
summary: Add a new device to the VM
/vm.remove-device:
put:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VmRemoveDevice'
description: The identifier of the device
required: true
responses:
"204":
description: The device was successfully removed from the VM instance.
"404":
description: The device could not be removed from the VM instance.
summary: Remove a device from the VM
components:
schemas:
VmmPingResponse:
@ -168,12 +183,13 @@ components:
mergeable: false
file: file
size: 1
hotplug_size: 5
disks:
- path: path
num_queues: 5
readonly: false
iommu: false
queue_size: 5
queue_size: 2
vhost_socket: vhost_socket
vhost_user: false
direct: false
@ -183,7 +199,7 @@ components:
num_queues: 5
readonly: false
iommu: false
queue_size: 5
queue_size: 2
vhost_socket: vhost_socket
vhost_user: false
direct: false
@ -195,8 +211,10 @@ components:
devices:
- path: path
iommu: false
id: id
- path: path
iommu: false
id: id
kernel:
path: path
rng:
@ -204,15 +222,15 @@ components:
src: /dev/urandom
fs:
- sock: sock
num_queues: 9
queue_size: 3
cache_size: 2
num_queues: 3
queue_size: 2
cache_size: 4
dax: true
tag: tag
- sock: sock
num_queues: 9
queue_size: 3
cache_size: 2
num_queues: 3
queue_size: 2
cache_size: 4
dax: true
tag: tag
vsock:
@ -225,12 +243,14 @@ components:
pmem:
- mergeable: false
file: file
size: 4
size: 7
iommu: false
discard_writes: false
- mergeable: false
file: file
size: 4
size: 7
iommu: false
discard_writes: false
cmdline:
args: args
iommu: false
@ -240,18 +260,18 @@ components:
iommu: false
net:
- tap: tap
num_queues: 2
num_queues: 7
iommu: false
queue_size: 7
queue_size: 9
vhost_socket: vhost_socket
vhost_user: false
ip: 192.168.249.1
mac: mac
mask: 255.255.255.0
- tap: tap
num_queues: 2
num_queues: 7
iommu: false
queue_size: 7
queue_size: 9
vhost_socket: vhost_socket
vhost_user: false
ip: 192.168.249.1
@ -282,12 +302,13 @@ components:
mergeable: false
file: file
size: 1
hotplug_size: 5
disks:
- path: path
num_queues: 5
readonly: false
iommu: false
queue_size: 5
queue_size: 2
vhost_socket: vhost_socket
vhost_user: false
direct: false
@ -297,7 +318,7 @@ components:
num_queues: 5
readonly: false
iommu: false
queue_size: 5
queue_size: 2
vhost_socket: vhost_socket
vhost_user: false
direct: false
@ -309,8 +330,10 @@ components:
devices:
- path: path
iommu: false
id: id
- path: path
iommu: false
id: id
kernel:
path: path
rng:
@ -318,15 +341,15 @@ components:
src: /dev/urandom
fs:
- sock: sock
num_queues: 9
queue_size: 3
cache_size: 2
num_queues: 3
queue_size: 2
cache_size: 4
dax: true
tag: tag
- sock: sock
num_queues: 9
queue_size: 3
cache_size: 2
num_queues: 3
queue_size: 2
cache_size: 4
dax: true
tag: tag
vsock:
@ -339,12 +362,14 @@ components:
pmem:
- mergeable: false
file: file
size: 4
size: 7
iommu: false
discard_writes: false
- mergeable: false
file: file
size: 4
size: 7
iommu: false
discard_writes: false
cmdline:
args: args
iommu: false
@ -354,18 +379,18 @@ components:
iommu: false
net:
- tap: tap
num_queues: 2
num_queues: 7
iommu: false
queue_size: 7
queue_size: 9
vhost_socket: vhost_socket
vhost_user: false
ip: 192.168.249.1
mac: mac
mask: 255.255.255.0
- tap: tap
num_queues: 2
num_queues: 7
iommu: false
queue_size: 7
queue_size: 9
vhost_socket: vhost_socket
vhost_user: false
ip: 192.168.249.1
@ -439,10 +464,14 @@ components:
mergeable: false
file: file
size: 1
hotplug_size: 5
properties:
size:
format: int64
type: integer
hotplug_size:
format: int64
type: integer
file:
type: string
mergeable:
@ -475,7 +504,7 @@ components:
num_queues: 5
readonly: false
iommu: false
queue_size: 5
queue_size: 2
vhost_socket: vhost_socket
vhost_user: false
direct: false
@ -516,9 +545,9 @@ components:
NetConfig:
example:
tap: tap
num_queues: 2
num_queues: 7
iommu: false
queue_size: 7
queue_size: 9
vhost_socket: vhost_socket
vhost_user: false
ip: 192.168.249.1
@ -568,9 +597,9 @@ components:
FsConfig:
example:
sock: sock
num_queues: 9
queue_size: 3
cache_size: 2
num_queues: 3
queue_size: 2
cache_size: 4
dax: true
tag: tag
properties:
@ -598,8 +627,9 @@ components:
example:
mergeable: false
file: file
size: 4
size: 7
iommu: false
discard_writes: false
properties:
file:
type: string
@ -612,6 +642,9 @@ components:
mergeable:
default: false
type: boolean
discard_writes:
default: false
type: boolean
required:
- file
- size
@ -641,12 +674,15 @@ components:
example:
path: path
iommu: false
id: id
properties:
path:
type: string
iommu:
default: false
type: boolean
id:
type: string
required:
- path
type: object
@ -680,6 +716,8 @@ components:
minimum: 1
type: integer
desired_ram:
description: desired memory ram in bytes
format: int64
type: integer
type: object
VmAddDevice:
@ -689,3 +727,10 @@ components:
path:
type: string
type: object
VmRemoveDevice:
example:
id: id
properties:
id:
type: string
type: object

View File

@ -680,6 +680,72 @@ func (a *DefaultApiService) VmInfoGet(ctx _context.Context) (VmInfo, *_nethttp.R
return localVarReturnValue, localVarHTTPResponse, nil
}
/*
VmRemoveDevicePut Remove a device from the VM
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param vmRemoveDevice The identifier of the device
*/
func (a *DefaultApiService) VmRemoveDevicePut(ctx _context.Context, vmRemoveDevice VmRemoveDevice) (*_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodPut
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/vm.remove-device"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.Values{}
// to determine the Content-Type header
localVarHTTPContentTypes := []string{"application/json"}
// set Content-Type header
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
if localVarHTTPContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
}
// to determine the Accept header
localVarHTTPHeaderAccepts := []string{}
// set Accept header
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
// body params
localVarPostBody = &vmRemoveDevice
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
if err != nil {
return nil, err
}
localVarHTTPResponse, err := a.client.callAPI(r)
if err != nil || localVarHTTPResponse == nil {
return localVarHTTPResponse, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
if err != nil {
return localVarHTTPResponse, err
}
if localVarHTTPResponse.StatusCode >= 300 {
newErr := GenericOpenAPIError{
body: localVarBody,
error: localVarHTTPResponse.Status,
}
return localVarHTTPResponse, newErr
}
return localVarHTTPResponse, nil
}
/*
VmResizePut Resize the VM
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

View File

@ -14,6 +14,7 @@ Method | HTTP request | Description
[**ShutdownVMM**](DefaultApi.md#ShutdownVMM) | **Put** /vmm.shutdown | Shuts the cloud-hypervisor VMM.
[**VmAddDevicePut**](DefaultApi.md#VmAddDevicePut) | **Put** /vm.add-device | Add a new device to the VM
[**VmInfoGet**](DefaultApi.md#VmInfoGet) | **Get** /vm.info | Returns general information about the cloud-hypervisor Virtual Machine (VM) instance.
[**VmRemoveDevicePut**](DefaultApi.md#VmRemoveDevicePut) | **Put** /vm.remove-device | Remove a device from the VM
[**VmResizePut**](DefaultApi.md#VmResizePut) | **Put** /vm.resize | Resize the VM
[**VmmPingGet**](DefaultApi.md#VmmPingGet) | **Get** /vmm.ping | Ping the VMM to check for API server availability
@ -307,6 +308,38 @@ No authorization required
[[Back to README]](../README.md)
## VmRemoveDevicePut
> VmRemoveDevicePut(ctx, vmRemoveDevice)
Remove a device from the VM
### Required Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
**vmRemoveDevice** | [**VmRemoveDevice**](VmRemoveDevice.md)| The identifier of the device |
### Return type
(empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
[[Back to Model list]](../README.md#documentation-for-models)
[[Back to README]](../README.md)
## VmResizePut
> VmResizePut(ctx, vmResize)

View File

@ -6,6 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Path** | **string** | |
**Iommu** | **bool** | | [optional] [default to false]
**Id** | **string** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -5,6 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Size** | **int64** | |
**HotplugSize** | **int64** | | [optional]
**File** | **string** | | [optional]
**Mergeable** | **bool** | | [optional] [default to false]

View File

@ -8,6 +8,7 @@ Name | Type | Description | Notes
**Size** | **int64** | |
**Iommu** | **bool** | | [optional] [default to false]
**Mergeable** | **bool** | | [optional] [default to false]
**DiscardWrites** | **bool** | | [optional] [default to false]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,11 @@
# VmRemoveDevice
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Id** | **string** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**DesiredVcpus** | **int32** | | [optional]
**DesiredRam** | **int32** | | [optional]
**DesiredRam** | **int64** | desired memory ram in bytes | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -12,4 +12,5 @@ package openapi
type DeviceConfig struct {
Path string `json:"path"`
Iommu bool `json:"iommu,omitempty"`
Id string `json:"id,omitempty"`
}

View File

@ -11,6 +11,7 @@ package openapi
// MemoryConfig struct for MemoryConfig
type MemoryConfig struct {
Size int64 `json:"size"`
HotplugSize int64 `json:"hotplug_size,omitempty"`
File string `json:"file,omitempty"`
Mergeable bool `json:"mergeable,omitempty"`
}

View File

@ -14,4 +14,5 @@ type PmemConfig struct {
Size int64 `json:"size"`
Iommu bool `json:"iommu,omitempty"`
Mergeable bool `json:"mergeable,omitempty"`
DiscardWrites bool `json:"discard_writes,omitempty"`
}

View File

@ -0,0 +1,14 @@
/*
* Cloud Hypervisor API
*
* Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine.
*
* API version: 0.3.0
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/
package openapi
// VmRemoveDevice struct for VmRemoveDevice
type VmRemoveDevice struct {
Id string `json:"id,omitempty"`
}

View File

@ -11,5 +11,6 @@ package openapi
// VmResize struct for VmResize
type VmResize struct {
DesiredVcpus int32 `json:"desired_vcpus,omitempty"`
DesiredRam int32 `json:"desired_ram,omitempty"`
// desired memory ram in bytes
DesiredRam int64 `json:"desired_ram,omitempty"`
}

View File

@ -155,6 +155,22 @@ paths:
404:
description: The new device could not be added to the VM instance.
/vm.remove-device:
put:
summary: Remove a device from the VM
requestBody:
description: The identifier of the device
content:
application/json:
schema:
$ref: '#/components/schemas/VmRemoveDevice'
required: true
responses:
204:
description: The device was successfully removed from the VM instance.
404:
description: The device could not be removed from the VM instance.
components:
schemas:
@ -253,6 +269,9 @@ components:
type: integer
format: int64
default: 512 MB
hotplug_size:
type: integer
format: int64
file:
type: string
mergeable:
@ -391,6 +410,9 @@ components:
mergeable:
type: boolean
default: false
discard_writes:
type: boolean
default: false
ConsoleConfig:
required:
@ -416,6 +438,8 @@ components:
iommu:
type: boolean
default: false
id:
type: string
VsockConfig:
required:
@ -442,10 +466,18 @@ components:
minimum: 1
type: integer
desired_ram:
description: desired memory ram in bytes
type: integer
format: int64
VmAddDevice:
type: object
properties:
path:
type: string
VmRemoveDevice:
type: object
properties:
id:
type: string