From 50ea07183428e06114be95d85761311f003576fe Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Wed, 17 Aug 2022 12:05:21 -0700 Subject: [PATCH 1/3] versions: Upgrade to Cloud Hypervisor v26.0 Highlights from the Cloud Hypervisor release v26.0: **SMBIOS Improvements via `--platform`** `--platform` and the appropriate API structure has gained support for supplying OEM strings (primarily used to communicate metadata to systemd in the guest) **Unified Binary MSHV and KVM Support** Support for both the MSHV and KVM hypervisors can be compiled into the same binary with the detection of the hypervisor to use made at runtime. **Notable Bug Fixes** * The prefetchable flag is preserved on BARs for VFIO devices * PCI Express capabilties for functionality we do not support are now filtered out * GDB breakpoint support is more reliable * SIGINT and SIGTERM signals are now handled before the VM has booted * Multiple API event loop handling bug fixes * Incorrect assumptions in virtio queue numbering were addressed, allowing thevirtio-fs driver in OVMF to be used * VHDX file format header fix * The same VFIO device cannot be added twice * SMBIOS tables were being incorrectly generated **Deprecations** Deprecated features will be removed in a subsequent release and users should plan to use alternatives. The top-level `kernel` and `initramfs` members on the `VmConfig` have been moved inside a `PayloadConfig` as the `payload` member. The OpenAPI document has been updated to reflect the change and the old API members continue to function and are mapped to the new version. The expectation is that these old versions will be removed in the v28.0 release. **Removals** The following functionality has been removed: The unused poll_queue parameter has been removed from --disk and equivalent. This was residual from the removal of the vhost-user-block spawning feature. Details can be found: https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v26.0 Fixes: #4952 Signed-off-by: Bo Chen --- versions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.yaml b/versions.yaml index f4e0479b2b..eb67532934 100644 --- a/versions.yaml +++ b/versions.yaml @@ -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: "v25.0" + version: "v26.0" firecracker: description: "Firecracker micro-VMM" From 16baecc5b1c11e25f919c3552183e572118f1872 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Wed, 17 Aug 2022 12:06:40 -0700 Subject: [PATCH 2/3] runtime: clh: Re-generate the client code This patch re-generates the client code for Cloud Hypervisor v26.0. Note: The client code of cloud-hypervisor's (CLH) OpenAPI is automatically generated by openapi-generator [1-2]. [1] https://github.com/OpenAPITools/openapi-generator [2] https://github.com/kata-containers/kata-containers/blob/main/src/runtime/virtcontainers/pkg/cloud-hypervisor/README.md Fixes: #4952 Signed-off-by: Bo Chen --- .../client/.openapi-generator/FILES | 8 +- .../pkg/cloud-hypervisor/client/README.md | 4 +- .../cloud-hypervisor/client/api/openapi.yaml | 98 ++++--- .../cloud-hypervisor/client/api_default.go | 138 +++++----- .../client/docs/CmdLineConfig.md | 51 ---- .../client/docs/DefaultApi.md | 2 +- .../client/docs/DiskConfig.md | 26 -- .../client/docs/InitramfsConfig.md | 51 ---- .../client/docs/KernelConfig.md | 51 ---- .../client/docs/PayloadConfig.md | 108 ++++++++ .../client/docs/PlatformConfig.md | 52 ++++ .../cloud-hypervisor/client/docs/VmConfig.md | 84 +----- .../client/model_cmd_line_config.go | 106 -------- .../client/model_disk_config.go | 40 --- .../client/model_initramfs_config.go | 106 -------- .../client/model_kernel_config.go | 106 -------- .../client/model_payload_config.go | 185 ++++++++++++++ .../client/model_platform_config.go | 78 +++++- .../client/model_vm_config.go | 149 +++-------- .../cloud-hypervisor/cloud-hypervisor.yaml | 239 ++++++++---------- 20 files changed, 696 insertions(+), 986 deletions(-) delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/CmdLineConfig.md delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/InitramfsConfig.md delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/KernelConfig.md create mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PayloadConfig.md delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_cmd_line_config.go delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_initramfs_config.go delete mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_kernel_config.go create mode 100644 src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_payload_config.go diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES index 0208bab30a..7618fe3ab9 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/.openapi-generator/FILES @@ -7,7 +7,6 @@ api_default.go client.go configuration.go docs/BalloonConfig.md -docs/CmdLineConfig.md docs/ConsoleConfig.md docs/CpuAffinity.md docs/CpuFeatures.md @@ -18,13 +17,12 @@ docs/DeviceConfig.md docs/DeviceNode.md docs/DiskConfig.md docs/FsConfig.md -docs/InitramfsConfig.md -docs/KernelConfig.md docs/MemoryConfig.md docs/MemoryZoneConfig.md docs/NetConfig.md docs/NumaConfig.md docs/NumaDistance.md +docs/PayloadConfig.md docs/PciDeviceInfo.md docs/PlatformConfig.md docs/PmemConfig.md @@ -51,7 +49,6 @@ git_push.sh go.mod go.sum model_balloon_config.go -model_cmd_line_config.go model_console_config.go model_cpu_affinity.go model_cpu_features.go @@ -61,13 +58,12 @@ model_device_config.go model_device_node.go model_disk_config.go model_fs_config.go -model_initramfs_config.go -model_kernel_config.go model_memory_config.go model_memory_zone_config.go model_net_config.go model_numa_config.go model_numa_distance.go +model_payload_config.go model_pci_device_info.go model_platform_config.go model_pmem_config.go diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md index ad0b5ec5c6..5839299b6e 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/README.md @@ -110,7 +110,6 @@ Class | Method | HTTP request | Description ## Documentation For Models - [BalloonConfig](docs/BalloonConfig.md) - - [CmdLineConfig](docs/CmdLineConfig.md) - [ConsoleConfig](docs/ConsoleConfig.md) - [CpuAffinity](docs/CpuAffinity.md) - [CpuFeatures](docs/CpuFeatures.md) @@ -120,13 +119,12 @@ Class | Method | HTTP request | Description - [DeviceNode](docs/DeviceNode.md) - [DiskConfig](docs/DiskConfig.md) - [FsConfig](docs/FsConfig.md) - - [InitramfsConfig](docs/InitramfsConfig.md) - - [KernelConfig](docs/KernelConfig.md) - [MemoryConfig](docs/MemoryConfig.md) - [MemoryZoneConfig](docs/MemoryZoneConfig.md) - [NetConfig](docs/NetConfig.md) - [NumaConfig](docs/NumaConfig.md) - [NumaDistance](docs/NumaDistance.md) + - [PayloadConfig](docs/PayloadConfig.md) - [PciDeviceInfo](docs/PciDeviceInfo.md) - [PlatformConfig](docs/PlatformConfig.md) - [PmemConfig](docs/PmemConfig.md) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml index a99e14a745..96a0498a40 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api/openapi.yaml @@ -479,7 +479,6 @@ components: vhost_socket: vhost_socket vhost_user: false direct: false - poll_queue: true rate_limiter_config: ops: size: 0 @@ -499,7 +498,6 @@ components: vhost_socket: vhost_socket vhost_user: false direct: false - poll_queue: true rate_limiter_config: ops: size: 0 @@ -540,8 +538,6 @@ components: path: path iommu: false id: id - kernel: - path: path vdpa: - pci_segment: 3 path: path @@ -620,7 +616,11 @@ components: - 3 - 3 num_pci_segments: 7 + oem_strings: + - oem_strings + - oem_strings serial_number: serial_number + uuid: uuid pmem: - pci_segment: 5 file: file @@ -634,16 +634,16 @@ components: iommu: false id: id discard_writes: false - cmdline: - args: args watchdog: false iommu: false + payload: + cmdline: cmdline + kernel: kernel + initramfs: initramfs serial: mode: "false" file: file iommu: false - initramfs: - path: path net: - tap: tap num_queues: 9 @@ -763,6 +763,20 @@ components: - bdf - id type: object + PayloadConfig: + description: Payloads to boot in guest + example: + cmdline: cmdline + kernel: kernel + initramfs: initramfs + properties: + kernel: + type: string + cmdline: + type: string + initramfs: + type: string + type: object VmConfig: description: Virtual machine configuration example: @@ -817,7 +831,6 @@ components: vhost_socket: vhost_socket vhost_user: false direct: false - poll_queue: true rate_limiter_config: ops: size: 0 @@ -837,7 +850,6 @@ components: vhost_socket: vhost_socket vhost_user: false direct: false - poll_queue: true rate_limiter_config: ops: size: 0 @@ -878,8 +890,6 @@ components: path: path iommu: false id: id - kernel: - path: path vdpa: - pci_segment: 3 path: path @@ -958,7 +968,11 @@ components: - 3 - 3 num_pci_segments: 7 + oem_strings: + - oem_strings + - oem_strings serial_number: serial_number + uuid: uuid pmem: - pci_segment: 5 file: file @@ -972,16 +986,16 @@ components: iommu: false id: id discard_writes: false - cmdline: - args: args watchdog: false iommu: false + payload: + cmdline: cmdline + kernel: kernel + initramfs: initramfs serial: mode: "false" file: file iommu: false - initramfs: - path: path net: - tap: tap num_queues: 9 @@ -1030,12 +1044,8 @@ components: $ref: '#/components/schemas/CpusConfig' memory: $ref: '#/components/schemas/MemoryConfig' - kernel: - $ref: '#/components/schemas/KernelConfig' - initramfs: - $ref: '#/components/schemas/InitramfsConfig' - cmdline: - $ref: '#/components/schemas/CmdLineConfig' + payload: + $ref: '#/components/schemas/PayloadConfig' disks: items: $ref: '#/components/schemas/DiskConfig' @@ -1089,7 +1099,7 @@ components: platform: $ref: '#/components/schemas/PlatformConfig' required: - - kernel + - payload type: object CpuAffinity: example: @@ -1182,7 +1192,11 @@ components: - 3 - 3 num_pci_segments: 7 + oem_strings: + - oem_strings + - oem_strings serial_number: serial_number + uuid: uuid properties: num_pci_segments: format: int16 @@ -1194,6 +1208,12 @@ components: type: array serial_number: type: string + uuid: + type: string + oem_strings: + items: + type: string + type: array type: object MemoryZoneConfig: example: @@ -1313,34 +1333,6 @@ components: required: - size type: object - KernelConfig: - example: - path: path - properties: - path: - type: string - required: - - path - type: object - InitramfsConfig: - example: - path: path - nullable: true - properties: - path: - type: string - required: - - path - type: object - CmdLineConfig: - example: - args: args - properties: - args: - type: string - required: - - args - type: object TokenBucket: description: Defines a token bucket with a maximum capacity (_size_), an initial burst size (_one_time_burst_) and an interval for refilling purposes (_refill_time_). @@ -1404,7 +1396,6 @@ components: vhost_socket: vhost_socket vhost_user: false direct: false - poll_queue: true rate_limiter_config: ops: size: 0 @@ -1438,9 +1429,6 @@ components: type: boolean vhost_socket: type: string - poll_queue: - default: true - type: boolean rate_limiter_config: $ref: '#/components/schemas/RateLimiterConfig' pci_segment: diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api_default.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api_default.go index ad96f6b420..cf97c19dd5 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api_default.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/api_default.go @@ -38,8 +38,8 @@ func (r ApiBootVMRequest) Execute() (*_nethttp.Response, error) { /* BootVM Boot the previously created VM instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiBootVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiBootVMRequest */ func (a *DefaultApiService) BootVM(ctx _context.Context) ApiBootVMRequest { return ApiBootVMRequest{ @@ -133,8 +133,8 @@ func (r ApiCreateVMRequest) Execute() (*_nethttp.Response, error) { /* CreateVM Create the cloud-hypervisor Virtual Machine (VM) instance. The instance is not booted, only created. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiCreateVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiCreateVMRequest */ func (a *DefaultApiService) CreateVM(ctx _context.Context) ApiCreateVMRequest { return ApiCreateVMRequest{ @@ -226,8 +226,8 @@ func (r ApiDeleteVMRequest) Execute() (*_nethttp.Response, error) { /* DeleteVM Delete the cloud-hypervisor Virtual Machine (VM) instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiDeleteVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiDeleteVMRequest */ func (a *DefaultApiService) DeleteVM(ctx _context.Context) ApiDeleteVMRequest { return ApiDeleteVMRequest{ @@ -314,8 +314,8 @@ func (r ApiPauseVMRequest) Execute() (*_nethttp.Response, error) { /* PauseVM Pause a previously booted VM instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiPauseVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiPauseVMRequest */ func (a *DefaultApiService) PauseVM(ctx _context.Context) ApiPauseVMRequest { return ApiPauseVMRequest{ @@ -402,8 +402,8 @@ func (r ApiPowerButtonVMRequest) Execute() (*_nethttp.Response, error) { /* PowerButtonVM Trigger a power button in the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiPowerButtonVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiPowerButtonVMRequest */ func (a *DefaultApiService) PowerButtonVM(ctx _context.Context) ApiPowerButtonVMRequest { return ApiPowerButtonVMRequest{ @@ -490,8 +490,8 @@ func (r ApiRebootVMRequest) Execute() (*_nethttp.Response, error) { /* RebootVM Reboot the VM instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiRebootVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiRebootVMRequest */ func (a *DefaultApiService) RebootVM(ctx _context.Context) ApiRebootVMRequest { return ApiRebootVMRequest{ @@ -578,8 +578,8 @@ func (r ApiResumeVMRequest) Execute() (*_nethttp.Response, error) { /* ResumeVM Resume a previously paused VM instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiResumeVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiResumeVMRequest */ func (a *DefaultApiService) ResumeVM(ctx _context.Context) ApiResumeVMRequest { return ApiResumeVMRequest{ @@ -666,8 +666,8 @@ func (r ApiShutdownVMRequest) Execute() (*_nethttp.Response, error) { /* ShutdownVM Shut the VM instance down. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiShutdownVMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiShutdownVMRequest */ func (a *DefaultApiService) ShutdownVM(ctx _context.Context) ApiShutdownVMRequest { return ApiShutdownVMRequest{ @@ -754,8 +754,8 @@ func (r ApiShutdownVMMRequest) Execute() (*_nethttp.Response, error) { /* ShutdownVMM Shuts the cloud-hypervisor VMM. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiShutdownVMMRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiShutdownVMMRequest */ func (a *DefaultApiService) ShutdownVMM(ctx _context.Context) ApiShutdownVMMRequest { return ApiShutdownVMMRequest{ @@ -849,8 +849,8 @@ func (r ApiVmAddDevicePutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, /* VmAddDevicePut Add a new device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddDevicePutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddDevicePutRequest */ func (a *DefaultApiService) VmAddDevicePut(ctx _context.Context) ApiVmAddDevicePutRequest { return ApiVmAddDevicePutRequest{ @@ -860,7 +860,8 @@ func (a *DefaultApiService) VmAddDevicePut(ctx _context.Context) ApiVmAddDeviceP } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddDevicePutExecute(r ApiVmAddDevicePutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -960,8 +961,8 @@ func (r ApiVmAddDiskPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, er /* VmAddDiskPut Add a new disk to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddDiskPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddDiskPutRequest */ func (a *DefaultApiService) VmAddDiskPut(ctx _context.Context) ApiVmAddDiskPutRequest { return ApiVmAddDiskPutRequest{ @@ -971,7 +972,8 @@ func (a *DefaultApiService) VmAddDiskPut(ctx _context.Context) ApiVmAddDiskPutRe } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddDiskPutExecute(r ApiVmAddDiskPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1071,8 +1073,8 @@ func (r ApiVmAddFsPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, erro /* VmAddFsPut Add a new virtio-fs device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddFsPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddFsPutRequest */ func (a *DefaultApiService) VmAddFsPut(ctx _context.Context) ApiVmAddFsPutRequest { return ApiVmAddFsPutRequest{ @@ -1082,7 +1084,8 @@ func (a *DefaultApiService) VmAddFsPut(ctx _context.Context) ApiVmAddFsPutReques } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddFsPutExecute(r ApiVmAddFsPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1182,8 +1185,8 @@ func (r ApiVmAddNetPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, err /* VmAddNetPut Add a new network device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddNetPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddNetPutRequest */ func (a *DefaultApiService) VmAddNetPut(ctx _context.Context) ApiVmAddNetPutRequest { return ApiVmAddNetPutRequest{ @@ -1193,7 +1196,8 @@ func (a *DefaultApiService) VmAddNetPut(ctx _context.Context) ApiVmAddNetPutRequ } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddNetPutExecute(r ApiVmAddNetPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1293,8 +1297,8 @@ func (r ApiVmAddPmemPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, er /* VmAddPmemPut Add a new pmem device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddPmemPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddPmemPutRequest */ func (a *DefaultApiService) VmAddPmemPut(ctx _context.Context) ApiVmAddPmemPutRequest { return ApiVmAddPmemPutRequest{ @@ -1304,7 +1308,8 @@ func (a *DefaultApiService) VmAddPmemPut(ctx _context.Context) ApiVmAddPmemPutRe } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddPmemPutExecute(r ApiVmAddPmemPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1404,8 +1409,8 @@ func (r ApiVmAddVdpaPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, er /* VmAddVdpaPut Add a new vDPA device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddVdpaPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddVdpaPutRequest */ func (a *DefaultApiService) VmAddVdpaPut(ctx _context.Context) ApiVmAddVdpaPutRequest { return ApiVmAddVdpaPutRequest{ @@ -1415,7 +1420,8 @@ func (a *DefaultApiService) VmAddVdpaPut(ctx _context.Context) ApiVmAddVdpaPutRe } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddVdpaPutExecute(r ApiVmAddVdpaPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1515,8 +1521,8 @@ func (r ApiVmAddVsockPutRequest) Execute() (PciDeviceInfo, *_nethttp.Response, e /* VmAddVsockPut Add a new vsock device to the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmAddVsockPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmAddVsockPutRequest */ func (a *DefaultApiService) VmAddVsockPut(ctx _context.Context) ApiVmAddVsockPutRequest { return ApiVmAddVsockPutRequest{ @@ -1526,7 +1532,8 @@ func (a *DefaultApiService) VmAddVsockPut(ctx _context.Context) ApiVmAddVsockPut } // Execute executes the request -// @return PciDeviceInfo +// +// @return PciDeviceInfo func (a *DefaultApiService) VmAddVsockPutExecute(r ApiVmAddVsockPutRequest) (PciDeviceInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPut @@ -1626,8 +1633,8 @@ func (r ApiVmCoredumpPutRequest) Execute() (*_nethttp.Response, error) { /* VmCoredumpPut Takes a VM coredump. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmCoredumpPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmCoredumpPutRequest */ func (a *DefaultApiService) VmCoredumpPut(ctx _context.Context) ApiVmCoredumpPutRequest { return ApiVmCoredumpPutRequest{ @@ -1719,8 +1726,8 @@ func (r ApiVmCountersGetRequest) Execute() (map[string]map[string]int64, *_netht /* VmCountersGet Get counters from the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmCountersGetRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmCountersGetRequest */ func (a *DefaultApiService) VmCountersGet(ctx _context.Context) ApiVmCountersGetRequest { return ApiVmCountersGetRequest{ @@ -1730,7 +1737,8 @@ func (a *DefaultApiService) VmCountersGet(ctx _context.Context) ApiVmCountersGet } // Execute executes the request -// @return map[string]map[string]int64 +// +// @return map[string]map[string]int64 func (a *DefaultApiService) VmCountersGetExecute(r ApiVmCountersGetRequest) (map[string]map[string]int64, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodGet @@ -1818,8 +1826,8 @@ func (r ApiVmInfoGetRequest) Execute() (VmInfo, *_nethttp.Response, error) { /* VmInfoGet Returns general information about the cloud-hypervisor Virtual Machine (VM) instance. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmInfoGetRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmInfoGetRequest */ func (a *DefaultApiService) VmInfoGet(ctx _context.Context) ApiVmInfoGetRequest { return ApiVmInfoGetRequest{ @@ -1829,7 +1837,8 @@ func (a *DefaultApiService) VmInfoGet(ctx _context.Context) ApiVmInfoGetRequest } // Execute executes the request -// @return VmInfo +// +// @return VmInfo func (a *DefaultApiService) VmInfoGetExecute(r ApiVmInfoGetRequest) (VmInfo, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodGet @@ -1924,8 +1933,8 @@ func (r ApiVmReceiveMigrationPutRequest) Execute() (*_nethttp.Response, error) { /* VmReceiveMigrationPut Receive a VM migration from URL - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmReceiveMigrationPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmReceiveMigrationPutRequest */ func (a *DefaultApiService) VmReceiveMigrationPut(ctx _context.Context) ApiVmReceiveMigrationPutRequest { return ApiVmReceiveMigrationPutRequest{ @@ -2024,8 +2033,8 @@ func (r ApiVmRemoveDevicePutRequest) Execute() (*_nethttp.Response, error) { /* 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(). - @return ApiVmRemoveDevicePutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmRemoveDevicePutRequest */ func (a *DefaultApiService) VmRemoveDevicePut(ctx _context.Context) ApiVmRemoveDevicePutRequest { return ApiVmRemoveDevicePutRequest{ @@ -2124,8 +2133,8 @@ func (r ApiVmResizePutRequest) Execute() (*_nethttp.Response, error) { /* VmResizePut Resize the VM - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmResizePutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmResizePutRequest */ func (a *DefaultApiService) VmResizePut(ctx _context.Context) ApiVmResizePutRequest { return ApiVmResizePutRequest{ @@ -2224,8 +2233,8 @@ func (r ApiVmResizeZonePutRequest) Execute() (*_nethttp.Response, error) { /* VmResizeZonePut Resize a memory zone - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmResizeZonePutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmResizeZonePutRequest */ func (a *DefaultApiService) VmResizeZonePut(ctx _context.Context) ApiVmResizeZonePutRequest { return ApiVmResizeZonePutRequest{ @@ -2324,8 +2333,8 @@ func (r ApiVmRestorePutRequest) Execute() (*_nethttp.Response, error) { /* VmRestorePut Restore a VM from a snapshot. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmRestorePutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmRestorePutRequest */ func (a *DefaultApiService) VmRestorePut(ctx _context.Context) ApiVmRestorePutRequest { return ApiVmRestorePutRequest{ @@ -2424,8 +2433,8 @@ func (r ApiVmSendMigrationPutRequest) Execute() (*_nethttp.Response, error) { /* VmSendMigrationPut Send a VM migration to URL - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmSendMigrationPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmSendMigrationPutRequest */ func (a *DefaultApiService) VmSendMigrationPut(ctx _context.Context) ApiVmSendMigrationPutRequest { return ApiVmSendMigrationPutRequest{ @@ -2524,8 +2533,8 @@ func (r ApiVmSnapshotPutRequest) Execute() (*_nethttp.Response, error) { /* VmSnapshotPut Returns a VM snapshot. - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmSnapshotPutRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmSnapshotPutRequest */ func (a *DefaultApiService) VmSnapshotPut(ctx _context.Context) ApiVmSnapshotPutRequest { return ApiVmSnapshotPutRequest{ @@ -2617,8 +2626,8 @@ func (r ApiVmmPingGetRequest) Execute() (VmmPingResponse, *_nethttp.Response, er /* VmmPingGet Ping the VMM to check for API server availability - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - @return ApiVmmPingGetRequest + @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiVmmPingGetRequest */ func (a *DefaultApiService) VmmPingGet(ctx _context.Context) ApiVmmPingGetRequest { return ApiVmmPingGetRequest{ @@ -2628,7 +2637,8 @@ func (a *DefaultApiService) VmmPingGet(ctx _context.Context) ApiVmmPingGetReques } // Execute executes the request -// @return VmmPingResponse +// +// @return VmmPingResponse func (a *DefaultApiService) VmmPingGetExecute(r ApiVmmPingGetRequest) (VmmPingResponse, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodGet diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/CmdLineConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/CmdLineConfig.md deleted file mode 100644 index 406ba1cd6b..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/CmdLineConfig.md +++ /dev/null @@ -1,51 +0,0 @@ -# CmdLineConfig - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Args** | **string** | | - -## Methods - -### NewCmdLineConfig - -`func NewCmdLineConfig(args string, ) *CmdLineConfig` - -NewCmdLineConfig instantiates a new CmdLineConfig object -This constructor will assign default values to properties that have it defined, -and makes sure properties required by API are set, but the set of arguments -will change when the set of required properties is changed - -### NewCmdLineConfigWithDefaults - -`func NewCmdLineConfigWithDefaults() *CmdLineConfig` - -NewCmdLineConfigWithDefaults instantiates a new CmdLineConfig object -This constructor will only assign default values to properties that have it defined, -but it doesn't guarantee that properties required by API are set - -### GetArgs - -`func (o *CmdLineConfig) GetArgs() string` - -GetArgs returns the Args field if non-nil, zero value otherwise. - -### GetArgsOk - -`func (o *CmdLineConfig) GetArgsOk() (*string, bool)` - -GetArgsOk returns a tuple with the Args field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetArgs - -`func (o *CmdLineConfig) SetArgs(v string)` - -SetArgs sets Args field to given value. - - - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DefaultApi.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DefaultApi.md index 8f5b8e76d3..1391a0b277 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DefaultApi.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DefaultApi.md @@ -110,7 +110,7 @@ import ( ) func main() { - vmConfig := *openapiclient.NewVmConfig(*openapiclient.NewKernelConfig("Path_example")) // VmConfig | The VM configuration + vmConfig := *openapiclient.NewVmConfig(*openapiclient.NewPayloadConfig()) // VmConfig | The VM configuration configuration := openapiclient.NewConfiguration() api_client := openapiclient.NewAPIClient(configuration) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DiskConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DiskConfig.md index f4e4a6cbd1..6c51686c78 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DiskConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/DiskConfig.md @@ -12,7 +12,6 @@ Name | Type | Description | Notes **QueueSize** | Pointer to **int32** | | [optional] [default to 128] **VhostUser** | Pointer to **bool** | | [optional] [default to false] **VhostSocket** | Pointer to **string** | | [optional] -**PollQueue** | Pointer to **bool** | | [optional] [default to true] **RateLimiterConfig** | Pointer to [**RateLimiterConfig**](RateLimiterConfig.md) | | [optional] **PciSegment** | Pointer to **int32** | | [optional] **Id** | Pointer to **string** | | [optional] @@ -231,31 +230,6 @@ SetVhostSocket sets VhostSocket field to given value. HasVhostSocket returns a boolean if a field has been set. -### GetPollQueue - -`func (o *DiskConfig) GetPollQueue() bool` - -GetPollQueue returns the PollQueue field if non-nil, zero value otherwise. - -### GetPollQueueOk - -`func (o *DiskConfig) GetPollQueueOk() (*bool, bool)` - -GetPollQueueOk returns a tuple with the PollQueue field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetPollQueue - -`func (o *DiskConfig) SetPollQueue(v bool)` - -SetPollQueue sets PollQueue field to given value. - -### HasPollQueue - -`func (o *DiskConfig) HasPollQueue() bool` - -HasPollQueue returns a boolean if a field has been set. - ### GetRateLimiterConfig `func (o *DiskConfig) GetRateLimiterConfig() RateLimiterConfig` diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/InitramfsConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/InitramfsConfig.md deleted file mode 100644 index 7450d9beea..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/InitramfsConfig.md +++ /dev/null @@ -1,51 +0,0 @@ -# InitramfsConfig - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Path** | **string** | | - -## Methods - -### NewInitramfsConfig - -`func NewInitramfsConfig(path string, ) *InitramfsConfig` - -NewInitramfsConfig instantiates a new InitramfsConfig object -This constructor will assign default values to properties that have it defined, -and makes sure properties required by API are set, but the set of arguments -will change when the set of required properties is changed - -### NewInitramfsConfigWithDefaults - -`func NewInitramfsConfigWithDefaults() *InitramfsConfig` - -NewInitramfsConfigWithDefaults instantiates a new InitramfsConfig object -This constructor will only assign default values to properties that have it defined, -but it doesn't guarantee that properties required by API are set - -### GetPath - -`func (o *InitramfsConfig) GetPath() string` - -GetPath returns the Path field if non-nil, zero value otherwise. - -### GetPathOk - -`func (o *InitramfsConfig) GetPathOk() (*string, bool)` - -GetPathOk returns a tuple with the Path field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetPath - -`func (o *InitramfsConfig) SetPath(v string)` - -SetPath sets Path field to given value. - - - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/KernelConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/KernelConfig.md deleted file mode 100644 index d9835715d6..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/KernelConfig.md +++ /dev/null @@ -1,51 +0,0 @@ -# KernelConfig - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**Path** | **string** | | - -## Methods - -### NewKernelConfig - -`func NewKernelConfig(path string, ) *KernelConfig` - -NewKernelConfig instantiates a new KernelConfig object -This constructor will assign default values to properties that have it defined, -and makes sure properties required by API are set, but the set of arguments -will change when the set of required properties is changed - -### NewKernelConfigWithDefaults - -`func NewKernelConfigWithDefaults() *KernelConfig` - -NewKernelConfigWithDefaults instantiates a new KernelConfig object -This constructor will only assign default values to properties that have it defined, -but it doesn't guarantee that properties required by API are set - -### GetPath - -`func (o *KernelConfig) GetPath() string` - -GetPath returns the Path field if non-nil, zero value otherwise. - -### GetPathOk - -`func (o *KernelConfig) GetPathOk() (*string, bool)` - -GetPathOk returns a tuple with the Path field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetPath - -`func (o *KernelConfig) SetPath(v string)` - -SetPath sets Path field to given value. - - - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PayloadConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PayloadConfig.md new file mode 100644 index 0000000000..8985796ea4 --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PayloadConfig.md @@ -0,0 +1,108 @@ +# PayloadConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Kernel** | Pointer to **string** | | [optional] +**Cmdline** | Pointer to **string** | | [optional] +**Initramfs** | Pointer to **string** | | [optional] + +## Methods + +### NewPayloadConfig + +`func NewPayloadConfig() *PayloadConfig` + +NewPayloadConfig instantiates a new PayloadConfig object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewPayloadConfigWithDefaults + +`func NewPayloadConfigWithDefaults() *PayloadConfig` + +NewPayloadConfigWithDefaults instantiates a new PayloadConfig object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetKernel + +`func (o *PayloadConfig) GetKernel() string` + +GetKernel returns the Kernel field if non-nil, zero value otherwise. + +### GetKernelOk + +`func (o *PayloadConfig) GetKernelOk() (*string, bool)` + +GetKernelOk returns a tuple with the Kernel field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetKernel + +`func (o *PayloadConfig) SetKernel(v string)` + +SetKernel sets Kernel field to given value. + +### HasKernel + +`func (o *PayloadConfig) HasKernel() bool` + +HasKernel returns a boolean if a field has been set. + +### GetCmdline + +`func (o *PayloadConfig) GetCmdline() string` + +GetCmdline returns the Cmdline field if non-nil, zero value otherwise. + +### GetCmdlineOk + +`func (o *PayloadConfig) GetCmdlineOk() (*string, bool)` + +GetCmdlineOk returns a tuple with the Cmdline field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCmdline + +`func (o *PayloadConfig) SetCmdline(v string)` + +SetCmdline sets Cmdline field to given value. + +### HasCmdline + +`func (o *PayloadConfig) HasCmdline() bool` + +HasCmdline returns a boolean if a field has been set. + +### GetInitramfs + +`func (o *PayloadConfig) GetInitramfs() string` + +GetInitramfs returns the Initramfs field if non-nil, zero value otherwise. + +### GetInitramfsOk + +`func (o *PayloadConfig) GetInitramfsOk() (*string, bool)` + +GetInitramfsOk returns a tuple with the Initramfs field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetInitramfs + +`func (o *PayloadConfig) SetInitramfs(v string)` + +SetInitramfs sets Initramfs field to given value. + +### HasInitramfs + +`func (o *PayloadConfig) HasInitramfs() bool` + +HasInitramfs returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md index 832444c1fe..eacec0d026 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/PlatformConfig.md @@ -7,6 +7,8 @@ Name | Type | Description | Notes **NumPciSegments** | Pointer to **int32** | | [optional] **IommuSegments** | Pointer to **[]int32** | | [optional] **SerialNumber** | Pointer to **string** | | [optional] +**Uuid** | Pointer to **string** | | [optional] +**OemStrings** | Pointer to **[]string** | | [optional] ## Methods @@ -102,6 +104,56 @@ SetSerialNumber sets SerialNumber field to given value. HasSerialNumber returns a boolean if a field has been set. +### GetUuid + +`func (o *PlatformConfig) GetUuid() string` + +GetUuid returns the Uuid field if non-nil, zero value otherwise. + +### GetUuidOk + +`func (o *PlatformConfig) GetUuidOk() (*string, bool)` + +GetUuidOk returns a tuple with the Uuid field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetUuid + +`func (o *PlatformConfig) SetUuid(v string)` + +SetUuid sets Uuid field to given value. + +### HasUuid + +`func (o *PlatformConfig) HasUuid() bool` + +HasUuid returns a boolean if a field has been set. + +### GetOemStrings + +`func (o *PlatformConfig) GetOemStrings() []string` + +GetOemStrings returns the OemStrings field if non-nil, zero value otherwise. + +### GetOemStringsOk + +`func (o *PlatformConfig) GetOemStringsOk() (*[]string, bool)` + +GetOemStringsOk returns a tuple with the OemStrings field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOemStrings + +`func (o *PlatformConfig) SetOemStrings(v []string)` + +SetOemStrings sets OemStrings field to given value. + +### HasOemStrings + +`func (o *PlatformConfig) HasOemStrings() bool` + +HasOemStrings returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md index d6bbae4212..717749be61 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/docs/VmConfig.md @@ -6,9 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Cpus** | Pointer to [**CpusConfig**](CpusConfig.md) | | [optional] **Memory** | Pointer to [**MemoryConfig**](MemoryConfig.md) | | [optional] -**Kernel** | [**KernelConfig**](KernelConfig.md) | | -**Initramfs** | Pointer to [**NullableInitramfsConfig**](InitramfsConfig.md) | | [optional] -**Cmdline** | Pointer to [**CmdLineConfig**](CmdLineConfig.md) | | [optional] +**Payload** | [**PayloadConfig**](PayloadConfig.md) | | **Disks** | Pointer to [**[]DiskConfig**](DiskConfig.md) | | [optional] **Net** | Pointer to [**[]NetConfig**](NetConfig.md) | | [optional] **Rng** | Pointer to [**RngConfig**](RngConfig.md) | | [optional] @@ -31,7 +29,7 @@ Name | Type | Description | Notes ### NewVmConfig -`func NewVmConfig(kernel KernelConfig, ) *VmConfig` +`func NewVmConfig(payload PayloadConfig, ) *VmConfig` NewVmConfig instantiates a new VmConfig object This constructor will assign default values to properties that have it defined, @@ -96,86 +94,26 @@ SetMemory sets Memory field to given value. HasMemory returns a boolean if a field has been set. -### GetKernel +### GetPayload -`func (o *VmConfig) GetKernel() KernelConfig` +`func (o *VmConfig) GetPayload() PayloadConfig` -GetKernel returns the Kernel field if non-nil, zero value otherwise. +GetPayload returns the Payload field if non-nil, zero value otherwise. -### GetKernelOk +### GetPayloadOk -`func (o *VmConfig) GetKernelOk() (*KernelConfig, bool)` +`func (o *VmConfig) GetPayloadOk() (*PayloadConfig, bool)` -GetKernelOk returns a tuple with the Kernel field if it's non-nil, zero value otherwise +GetPayloadOk returns a tuple with the Payload field if it's non-nil, zero value otherwise and a boolean to check if the value has been set. -### SetKernel +### SetPayload -`func (o *VmConfig) SetKernel(v KernelConfig)` +`func (o *VmConfig) SetPayload(v PayloadConfig)` -SetKernel sets Kernel field to given value. +SetPayload sets Payload field to given value. -### GetInitramfs - -`func (o *VmConfig) GetInitramfs() InitramfsConfig` - -GetInitramfs returns the Initramfs field if non-nil, zero value otherwise. - -### GetInitramfsOk - -`func (o *VmConfig) GetInitramfsOk() (*InitramfsConfig, bool)` - -GetInitramfsOk returns a tuple with the Initramfs field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetInitramfs - -`func (o *VmConfig) SetInitramfs(v InitramfsConfig)` - -SetInitramfs sets Initramfs field to given value. - -### HasInitramfs - -`func (o *VmConfig) HasInitramfs() bool` - -HasInitramfs returns a boolean if a field has been set. - -### SetInitramfsNil - -`func (o *VmConfig) SetInitramfsNil(b bool)` - - SetInitramfsNil sets the value for Initramfs to be an explicit nil - -### UnsetInitramfs -`func (o *VmConfig) UnsetInitramfs()` - -UnsetInitramfs ensures that no value is present for Initramfs, not even an explicit nil -### GetCmdline - -`func (o *VmConfig) GetCmdline() CmdLineConfig` - -GetCmdline returns the Cmdline field if non-nil, zero value otherwise. - -### GetCmdlineOk - -`func (o *VmConfig) GetCmdlineOk() (*CmdLineConfig, bool)` - -GetCmdlineOk returns a tuple with the Cmdline field if it's non-nil, zero value otherwise -and a boolean to check if the value has been set. - -### SetCmdline - -`func (o *VmConfig) SetCmdline(v CmdLineConfig)` - -SetCmdline sets Cmdline field to given value. - -### HasCmdline - -`func (o *VmConfig) HasCmdline() bool` - -HasCmdline returns a boolean if a field has been set. - ### GetDisks `func (o *VmConfig) GetDisks() []DiskConfig` diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_cmd_line_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_cmd_line_config.go deleted file mode 100644 index fb270a138a..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_cmd_line_config.go +++ /dev/null @@ -1,106 +0,0 @@ -/* -Cloud Hypervisor API - -Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. - -API version: 0.3.0 -*/ - -// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. - -package openapi - -import ( - "encoding/json" -) - -// CmdLineConfig struct for CmdLineConfig -type CmdLineConfig struct { - Args string `json:"args"` -} - -// NewCmdLineConfig instantiates a new CmdLineConfig object -// This constructor will assign default values to properties that have it defined, -// and makes sure properties required by API are set, but the set of arguments -// will change when the set of required properties is changed -func NewCmdLineConfig(args string) *CmdLineConfig { - this := CmdLineConfig{} - this.Args = args - return &this -} - -// NewCmdLineConfigWithDefaults instantiates a new CmdLineConfig object -// This constructor will only assign default values to properties that have it defined, -// but it doesn't guarantee that properties required by API are set -func NewCmdLineConfigWithDefaults() *CmdLineConfig { - this := CmdLineConfig{} - return &this -} - -// GetArgs returns the Args field value -func (o *CmdLineConfig) GetArgs() string { - if o == nil { - var ret string - return ret - } - - return o.Args -} - -// GetArgsOk returns a tuple with the Args field value -// and a boolean to check if the value has been set. -func (o *CmdLineConfig) GetArgsOk() (*string, bool) { - if o == nil { - return nil, false - } - return &o.Args, true -} - -// SetArgs sets field value -func (o *CmdLineConfig) SetArgs(v string) { - o.Args = v -} - -func (o CmdLineConfig) MarshalJSON() ([]byte, error) { - toSerialize := map[string]interface{}{} - if true { - toSerialize["args"] = o.Args - } - return json.Marshal(toSerialize) -} - -type NullableCmdLineConfig struct { - value *CmdLineConfig - isSet bool -} - -func (v NullableCmdLineConfig) Get() *CmdLineConfig { - return v.value -} - -func (v *NullableCmdLineConfig) Set(val *CmdLineConfig) { - v.value = val - v.isSet = true -} - -func (v NullableCmdLineConfig) IsSet() bool { - return v.isSet -} - -func (v *NullableCmdLineConfig) Unset() { - v.value = nil - v.isSet = false -} - -func NewNullableCmdLineConfig(val *CmdLineConfig) *NullableCmdLineConfig { - return &NullableCmdLineConfig{value: val, isSet: true} -} - -func (v NullableCmdLineConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(v.value) -} - -func (v *NullableCmdLineConfig) UnmarshalJSON(src []byte) error { - v.isSet = true - return json.Unmarshal(src, &v.value) -} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_disk_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_disk_config.go index eb3a7245e9..c8964881bc 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_disk_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_disk_config.go @@ -24,7 +24,6 @@ type DiskConfig struct { QueueSize *int32 `json:"queue_size,omitempty"` VhostUser *bool `json:"vhost_user,omitempty"` VhostSocket *string `json:"vhost_socket,omitempty"` - PollQueue *bool `json:"poll_queue,omitempty"` RateLimiterConfig *RateLimiterConfig `json:"rate_limiter_config,omitempty"` PciSegment *int32 `json:"pci_segment,omitempty"` Id *string `json:"id,omitempty"` @@ -49,8 +48,6 @@ func NewDiskConfig(path string) *DiskConfig { this.QueueSize = &queueSize var vhostUser bool = false this.VhostUser = &vhostUser - var pollQueue bool = true - this.PollQueue = &pollQueue return &this } @@ -71,8 +68,6 @@ func NewDiskConfigWithDefaults() *DiskConfig { this.QueueSize = &queueSize var vhostUser bool = false this.VhostUser = &vhostUser - var pollQueue bool = true - this.PollQueue = &pollQueue return &this } @@ -324,38 +319,6 @@ func (o *DiskConfig) SetVhostSocket(v string) { o.VhostSocket = &v } -// GetPollQueue returns the PollQueue field value if set, zero value otherwise. -func (o *DiskConfig) GetPollQueue() bool { - if o == nil || o.PollQueue == nil { - var ret bool - return ret - } - return *o.PollQueue -} - -// GetPollQueueOk returns a tuple with the PollQueue field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *DiskConfig) GetPollQueueOk() (*bool, bool) { - if o == nil || o.PollQueue == nil { - return nil, false - } - return o.PollQueue, true -} - -// HasPollQueue returns a boolean if a field has been set. -func (o *DiskConfig) HasPollQueue() bool { - if o != nil && o.PollQueue != nil { - return true - } - - return false -} - -// SetPollQueue gets a reference to the given bool and assigns it to the PollQueue field. -func (o *DiskConfig) SetPollQueue(v bool) { - o.PollQueue = &v -} - // GetRateLimiterConfig returns the RateLimiterConfig field value if set, zero value otherwise. func (o *DiskConfig) GetRateLimiterConfig() RateLimiterConfig { if o == nil || o.RateLimiterConfig == nil { @@ -478,9 +441,6 @@ func (o DiskConfig) MarshalJSON() ([]byte, error) { if o.VhostSocket != nil { toSerialize["vhost_socket"] = o.VhostSocket } - if o.PollQueue != nil { - toSerialize["poll_queue"] = o.PollQueue - } if o.RateLimiterConfig != nil { toSerialize["rate_limiter_config"] = o.RateLimiterConfig } diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_initramfs_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_initramfs_config.go deleted file mode 100644 index ac6e2ba9a6..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_initramfs_config.go +++ /dev/null @@ -1,106 +0,0 @@ -/* -Cloud Hypervisor API - -Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. - -API version: 0.3.0 -*/ - -// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. - -package openapi - -import ( - "encoding/json" -) - -// InitramfsConfig struct for InitramfsConfig -type InitramfsConfig struct { - Path string `json:"path"` -} - -// NewInitramfsConfig instantiates a new InitramfsConfig object -// This constructor will assign default values to properties that have it defined, -// and makes sure properties required by API are set, but the set of arguments -// will change when the set of required properties is changed -func NewInitramfsConfig(path string) *InitramfsConfig { - this := InitramfsConfig{} - this.Path = path - return &this -} - -// NewInitramfsConfigWithDefaults instantiates a new InitramfsConfig object -// This constructor will only assign default values to properties that have it defined, -// but it doesn't guarantee that properties required by API are set -func NewInitramfsConfigWithDefaults() *InitramfsConfig { - this := InitramfsConfig{} - return &this -} - -// GetPath returns the Path field value -func (o *InitramfsConfig) GetPath() string { - if o == nil { - var ret string - return ret - } - - return o.Path -} - -// GetPathOk returns a tuple with the Path field value -// and a boolean to check if the value has been set. -func (o *InitramfsConfig) GetPathOk() (*string, bool) { - if o == nil { - return nil, false - } - return &o.Path, true -} - -// SetPath sets field value -func (o *InitramfsConfig) SetPath(v string) { - o.Path = v -} - -func (o InitramfsConfig) MarshalJSON() ([]byte, error) { - toSerialize := map[string]interface{}{} - if true { - toSerialize["path"] = o.Path - } - return json.Marshal(toSerialize) -} - -type NullableInitramfsConfig struct { - value *InitramfsConfig - isSet bool -} - -func (v NullableInitramfsConfig) Get() *InitramfsConfig { - return v.value -} - -func (v *NullableInitramfsConfig) Set(val *InitramfsConfig) { - v.value = val - v.isSet = true -} - -func (v NullableInitramfsConfig) IsSet() bool { - return v.isSet -} - -func (v *NullableInitramfsConfig) Unset() { - v.value = nil - v.isSet = false -} - -func NewNullableInitramfsConfig(val *InitramfsConfig) *NullableInitramfsConfig { - return &NullableInitramfsConfig{value: val, isSet: true} -} - -func (v NullableInitramfsConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(v.value) -} - -func (v *NullableInitramfsConfig) UnmarshalJSON(src []byte) error { - v.isSet = true - return json.Unmarshal(src, &v.value) -} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_kernel_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_kernel_config.go deleted file mode 100644 index 8ef0e5fdff..0000000000 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_kernel_config.go +++ /dev/null @@ -1,106 +0,0 @@ -/* -Cloud Hypervisor API - -Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. - -API version: 0.3.0 -*/ - -// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. - -package openapi - -import ( - "encoding/json" -) - -// KernelConfig struct for KernelConfig -type KernelConfig struct { - Path string `json:"path"` -} - -// NewKernelConfig instantiates a new KernelConfig object -// This constructor will assign default values to properties that have it defined, -// and makes sure properties required by API are set, but the set of arguments -// will change when the set of required properties is changed -func NewKernelConfig(path string) *KernelConfig { - this := KernelConfig{} - this.Path = path - return &this -} - -// NewKernelConfigWithDefaults instantiates a new KernelConfig object -// This constructor will only assign default values to properties that have it defined, -// but it doesn't guarantee that properties required by API are set -func NewKernelConfigWithDefaults() *KernelConfig { - this := KernelConfig{} - return &this -} - -// GetPath returns the Path field value -func (o *KernelConfig) GetPath() string { - if o == nil { - var ret string - return ret - } - - return o.Path -} - -// GetPathOk returns a tuple with the Path field value -// and a boolean to check if the value has been set. -func (o *KernelConfig) GetPathOk() (*string, bool) { - if o == nil { - return nil, false - } - return &o.Path, true -} - -// SetPath sets field value -func (o *KernelConfig) SetPath(v string) { - o.Path = v -} - -func (o KernelConfig) MarshalJSON() ([]byte, error) { - toSerialize := map[string]interface{}{} - if true { - toSerialize["path"] = o.Path - } - return json.Marshal(toSerialize) -} - -type NullableKernelConfig struct { - value *KernelConfig - isSet bool -} - -func (v NullableKernelConfig) Get() *KernelConfig { - return v.value -} - -func (v *NullableKernelConfig) Set(val *KernelConfig) { - v.value = val - v.isSet = true -} - -func (v NullableKernelConfig) IsSet() bool { - return v.isSet -} - -func (v *NullableKernelConfig) Unset() { - v.value = nil - v.isSet = false -} - -func NewNullableKernelConfig(val *KernelConfig) *NullableKernelConfig { - return &NullableKernelConfig{value: val, isSet: true} -} - -func (v NullableKernelConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(v.value) -} - -func (v *NullableKernelConfig) UnmarshalJSON(src []byte) error { - v.isSet = true - return json.Unmarshal(src, &v.value) -} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_payload_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_payload_config.go new file mode 100644 index 0000000000..04abb6a3e0 --- /dev/null +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_payload_config.go @@ -0,0 +1,185 @@ +/* +Cloud Hypervisor API + +Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine. + +API version: 0.3.0 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "encoding/json" +) + +// PayloadConfig Payloads to boot in guest +type PayloadConfig struct { + Kernel *string `json:"kernel,omitempty"` + Cmdline *string `json:"cmdline,omitempty"` + Initramfs *string `json:"initramfs,omitempty"` +} + +// NewPayloadConfig instantiates a new PayloadConfig object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewPayloadConfig() *PayloadConfig { + this := PayloadConfig{} + return &this +} + +// NewPayloadConfigWithDefaults instantiates a new PayloadConfig object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewPayloadConfigWithDefaults() *PayloadConfig { + this := PayloadConfig{} + return &this +} + +// GetKernel returns the Kernel field value if set, zero value otherwise. +func (o *PayloadConfig) GetKernel() string { + if o == nil || o.Kernel == nil { + var ret string + return ret + } + return *o.Kernel +} + +// GetKernelOk returns a tuple with the Kernel field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PayloadConfig) GetKernelOk() (*string, bool) { + if o == nil || o.Kernel == nil { + return nil, false + } + return o.Kernel, true +} + +// HasKernel returns a boolean if a field has been set. +func (o *PayloadConfig) HasKernel() bool { + if o != nil && o.Kernel != nil { + return true + } + + return false +} + +// SetKernel gets a reference to the given string and assigns it to the Kernel field. +func (o *PayloadConfig) SetKernel(v string) { + o.Kernel = &v +} + +// GetCmdline returns the Cmdline field value if set, zero value otherwise. +func (o *PayloadConfig) GetCmdline() string { + if o == nil || o.Cmdline == nil { + var ret string + return ret + } + return *o.Cmdline +} + +// GetCmdlineOk returns a tuple with the Cmdline field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PayloadConfig) GetCmdlineOk() (*string, bool) { + if o == nil || o.Cmdline == nil { + return nil, false + } + return o.Cmdline, true +} + +// HasCmdline returns a boolean if a field has been set. +func (o *PayloadConfig) HasCmdline() bool { + if o != nil && o.Cmdline != nil { + return true + } + + return false +} + +// SetCmdline gets a reference to the given string and assigns it to the Cmdline field. +func (o *PayloadConfig) SetCmdline(v string) { + o.Cmdline = &v +} + +// GetInitramfs returns the Initramfs field value if set, zero value otherwise. +func (o *PayloadConfig) GetInitramfs() string { + if o == nil || o.Initramfs == nil { + var ret string + return ret + } + return *o.Initramfs +} + +// GetInitramfsOk returns a tuple with the Initramfs field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PayloadConfig) GetInitramfsOk() (*string, bool) { + if o == nil || o.Initramfs == nil { + return nil, false + } + return o.Initramfs, true +} + +// HasInitramfs returns a boolean if a field has been set. +func (o *PayloadConfig) HasInitramfs() bool { + if o != nil && o.Initramfs != nil { + return true + } + + return false +} + +// SetInitramfs gets a reference to the given string and assigns it to the Initramfs field. +func (o *PayloadConfig) SetInitramfs(v string) { + o.Initramfs = &v +} + +func (o PayloadConfig) MarshalJSON() ([]byte, error) { + toSerialize := map[string]interface{}{} + if o.Kernel != nil { + toSerialize["kernel"] = o.Kernel + } + if o.Cmdline != nil { + toSerialize["cmdline"] = o.Cmdline + } + if o.Initramfs != nil { + toSerialize["initramfs"] = o.Initramfs + } + return json.Marshal(toSerialize) +} + +type NullablePayloadConfig struct { + value *PayloadConfig + isSet bool +} + +func (v NullablePayloadConfig) Get() *PayloadConfig { + return v.value +} + +func (v *NullablePayloadConfig) Set(val *PayloadConfig) { + v.value = val + v.isSet = true +} + +func (v NullablePayloadConfig) IsSet() bool { + return v.isSet +} + +func (v *NullablePayloadConfig) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullablePayloadConfig(val *PayloadConfig) *NullablePayloadConfig { + return &NullablePayloadConfig{value: val, isSet: true} +} + +func (v NullablePayloadConfig) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullablePayloadConfig) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go index 17e8827f84..250493a6bd 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_platform_config.go @@ -16,9 +16,11 @@ import ( // PlatformConfig struct for PlatformConfig type PlatformConfig struct { - NumPciSegments *int32 `json:"num_pci_segments,omitempty"` - IommuSegments *[]int32 `json:"iommu_segments,omitempty"` - SerialNumber *string `json:"serial_number,omitempty"` + NumPciSegments *int32 `json:"num_pci_segments,omitempty"` + IommuSegments *[]int32 `json:"iommu_segments,omitempty"` + SerialNumber *string `json:"serial_number,omitempty"` + Uuid *string `json:"uuid,omitempty"` + OemStrings *[]string `json:"oem_strings,omitempty"` } // NewPlatformConfig instantiates a new PlatformConfig object @@ -134,6 +136,70 @@ func (o *PlatformConfig) SetSerialNumber(v string) { o.SerialNumber = &v } +// GetUuid returns the Uuid field value if set, zero value otherwise. +func (o *PlatformConfig) GetUuid() string { + if o == nil || o.Uuid == nil { + var ret string + return ret + } + return *o.Uuid +} + +// GetUuidOk returns a tuple with the Uuid field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PlatformConfig) GetUuidOk() (*string, bool) { + if o == nil || o.Uuid == nil { + return nil, false + } + return o.Uuid, true +} + +// HasUuid returns a boolean if a field has been set. +func (o *PlatformConfig) HasUuid() bool { + if o != nil && o.Uuid != nil { + return true + } + + return false +} + +// SetUuid gets a reference to the given string and assigns it to the Uuid field. +func (o *PlatformConfig) SetUuid(v string) { + o.Uuid = &v +} + +// GetOemStrings returns the OemStrings field value if set, zero value otherwise. +func (o *PlatformConfig) GetOemStrings() []string { + if o == nil || o.OemStrings == nil { + var ret []string + return ret + } + return *o.OemStrings +} + +// GetOemStringsOk returns a tuple with the OemStrings field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *PlatformConfig) GetOemStringsOk() (*[]string, bool) { + if o == nil || o.OemStrings == nil { + return nil, false + } + return o.OemStrings, true +} + +// HasOemStrings returns a boolean if a field has been set. +func (o *PlatformConfig) HasOemStrings() bool { + if o != nil && o.OemStrings != nil { + return true + } + + return false +} + +// SetOemStrings gets a reference to the given []string and assigns it to the OemStrings field. +func (o *PlatformConfig) SetOemStrings(v []string) { + o.OemStrings = &v +} + func (o PlatformConfig) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if o.NumPciSegments != nil { @@ -145,6 +211,12 @@ func (o PlatformConfig) MarshalJSON() ([]byte, error) { if o.SerialNumber != nil { toSerialize["serial_number"] = o.SerialNumber } + if o.Uuid != nil { + toSerialize["uuid"] = o.Uuid + } + if o.OemStrings != nil { + toSerialize["oem_strings"] = o.OemStrings + } return json.Marshal(toSerialize) } diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go index c4ad07fb06..f48f92b3c9 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/client/model_vm_config.go @@ -16,37 +16,35 @@ import ( // VmConfig Virtual machine configuration type VmConfig struct { - Cpus *CpusConfig `json:"cpus,omitempty"` - Memory *MemoryConfig `json:"memory,omitempty"` - Kernel KernelConfig `json:"kernel"` - Initramfs NullableInitramfsConfig `json:"initramfs,omitempty"` - Cmdline *CmdLineConfig `json:"cmdline,omitempty"` - Disks *[]DiskConfig `json:"disks,omitempty"` - Net *[]NetConfig `json:"net,omitempty"` - Rng *RngConfig `json:"rng,omitempty"` - Balloon *BalloonConfig `json:"balloon,omitempty"` - Fs *[]FsConfig `json:"fs,omitempty"` - Pmem *[]PmemConfig `json:"pmem,omitempty"` - Serial *ConsoleConfig `json:"serial,omitempty"` - Console *ConsoleConfig `json:"console,omitempty"` - Devices *[]DeviceConfig `json:"devices,omitempty"` - Vdpa *[]VdpaConfig `json:"vdpa,omitempty"` - Vsock *VsockConfig `json:"vsock,omitempty"` - SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"` - Tdx *TdxConfig `json:"tdx,omitempty"` - Numa *[]NumaConfig `json:"numa,omitempty"` - Iommu *bool `json:"iommu,omitempty"` - Watchdog *bool `json:"watchdog,omitempty"` - Platform *PlatformConfig `json:"platform,omitempty"` + Cpus *CpusConfig `json:"cpus,omitempty"` + Memory *MemoryConfig `json:"memory,omitempty"` + Payload PayloadConfig `json:"payload"` + Disks *[]DiskConfig `json:"disks,omitempty"` + Net *[]NetConfig `json:"net,omitempty"` + Rng *RngConfig `json:"rng,omitempty"` + Balloon *BalloonConfig `json:"balloon,omitempty"` + Fs *[]FsConfig `json:"fs,omitempty"` + Pmem *[]PmemConfig `json:"pmem,omitempty"` + Serial *ConsoleConfig `json:"serial,omitempty"` + Console *ConsoleConfig `json:"console,omitempty"` + Devices *[]DeviceConfig `json:"devices,omitempty"` + Vdpa *[]VdpaConfig `json:"vdpa,omitempty"` + Vsock *VsockConfig `json:"vsock,omitempty"` + SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"` + Tdx *TdxConfig `json:"tdx,omitempty"` + Numa *[]NumaConfig `json:"numa,omitempty"` + Iommu *bool `json:"iommu,omitempty"` + Watchdog *bool `json:"watchdog,omitempty"` + Platform *PlatformConfig `json:"platform,omitempty"` } // NewVmConfig instantiates a new VmConfig object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed -func NewVmConfig(kernel KernelConfig) *VmConfig { +func NewVmConfig(payload PayloadConfig) *VmConfig { this := VmConfig{} - this.Kernel = kernel + this.Payload = payload var iommu bool = false this.Iommu = &iommu var watchdog bool = false @@ -130,103 +128,28 @@ func (o *VmConfig) SetMemory(v MemoryConfig) { o.Memory = &v } -// GetKernel returns the Kernel field value -func (o *VmConfig) GetKernel() KernelConfig { +// GetPayload returns the Payload field value +func (o *VmConfig) GetPayload() PayloadConfig { if o == nil { - var ret KernelConfig + var ret PayloadConfig return ret } - return o.Kernel + return o.Payload } -// GetKernelOk returns a tuple with the Kernel field value +// GetPayloadOk returns a tuple with the Payload field value // and a boolean to check if the value has been set. -func (o *VmConfig) GetKernelOk() (*KernelConfig, bool) { +func (o *VmConfig) GetPayloadOk() (*PayloadConfig, bool) { if o == nil { return nil, false } - return &o.Kernel, true + return &o.Payload, true } -// SetKernel sets field value -func (o *VmConfig) SetKernel(v KernelConfig) { - o.Kernel = v -} - -// GetInitramfs returns the Initramfs field value if set, zero value otherwise (both if not set or set to explicit null). -func (o *VmConfig) GetInitramfs() InitramfsConfig { - if o == nil || o.Initramfs.Get() == nil { - var ret InitramfsConfig - return ret - } - return *o.Initramfs.Get() -} - -// GetInitramfsOk returns a tuple with the Initramfs field value if set, nil otherwise -// and a boolean to check if the value has been set. -// NOTE: If the value is an explicit nil, `nil, true` will be returned -func (o *VmConfig) GetInitramfsOk() (*InitramfsConfig, bool) { - if o == nil { - return nil, false - } - return o.Initramfs.Get(), o.Initramfs.IsSet() -} - -// HasInitramfs returns a boolean if a field has been set. -func (o *VmConfig) HasInitramfs() bool { - if o != nil && o.Initramfs.IsSet() { - return true - } - - return false -} - -// SetInitramfs gets a reference to the given NullableInitramfsConfig and assigns it to the Initramfs field. -func (o *VmConfig) SetInitramfs(v InitramfsConfig) { - o.Initramfs.Set(&v) -} - -// SetInitramfsNil sets the value for Initramfs to be an explicit nil -func (o *VmConfig) SetInitramfsNil() { - o.Initramfs.Set(nil) -} - -// UnsetInitramfs ensures that no value is present for Initramfs, not even an explicit nil -func (o *VmConfig) UnsetInitramfs() { - o.Initramfs.Unset() -} - -// GetCmdline returns the Cmdline field value if set, zero value otherwise. -func (o *VmConfig) GetCmdline() CmdLineConfig { - if o == nil || o.Cmdline == nil { - var ret CmdLineConfig - return ret - } - return *o.Cmdline -} - -// GetCmdlineOk returns a tuple with the Cmdline field value if set, nil otherwise -// and a boolean to check if the value has been set. -func (o *VmConfig) GetCmdlineOk() (*CmdLineConfig, bool) { - if o == nil || o.Cmdline == nil { - return nil, false - } - return o.Cmdline, true -} - -// HasCmdline returns a boolean if a field has been set. -func (o *VmConfig) HasCmdline() bool { - if o != nil && o.Cmdline != nil { - return true - } - - return false -} - -// SetCmdline gets a reference to the given CmdLineConfig and assigns it to the Cmdline field. -func (o *VmConfig) SetCmdline(v CmdLineConfig) { - o.Cmdline = &v +// SetPayload sets field value +func (o *VmConfig) SetPayload(v PayloadConfig) { + o.Payload = v } // GetDisks returns the Disks field value if set, zero value otherwise. @@ -782,13 +705,7 @@ func (o VmConfig) MarshalJSON() ([]byte, error) { toSerialize["memory"] = o.Memory } if true { - toSerialize["kernel"] = o.Kernel - } - if o.Initramfs.IsSet() { - toSerialize["initramfs"] = o.Initramfs.Get() - } - if o.Cmdline != nil { - toSerialize["cmdline"] = o.Cmdline + toSerialize["payload"] = o.Payload } if o.Disks != nil { toSerialize["disks"] = o.Disks diff --git a/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml b/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml index 705293f1f3..029b4cf088 100644 --- a/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml +++ b/src/runtime/virtcontainers/pkg/cloud-hypervisor/cloud-hypervisor.yaml @@ -8,10 +8,9 @@ info: version: 0.3.0 servers: -- url: http://localhost/api/v1 + - url: http://localhost/api/v1 paths: - /vmm.ping: get: summary: Ping the VMM to check for API server availability @@ -21,7 +20,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmmPingResponse' + $ref: "#/components/schemas/VmmPingResponse" /vmm.shutdown: put: @@ -40,7 +39,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmInfo' + $ref: "#/components/schemas/VmInfo" /vm.counters: get: @@ -51,7 +50,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmCounters' + $ref: "#/components/schemas/VmCounters" /vm.create: put: @@ -62,7 +61,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmConfig' + $ref: "#/components/schemas/VmConfig" required: true responses: 204: @@ -154,7 +153,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmResize' + $ref: "#/components/schemas/VmResize" required: true responses: 204: @@ -170,7 +169,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmResizeZone' + $ref: "#/components/schemas/VmResizeZone" required: true responses: 204: @@ -186,7 +185,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmAddDevice' + $ref: "#/components/schemas/VmAddDevice" required: true responses: 200: @@ -194,7 +193,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new device was successfully (cold) added to the VM instance. 404: @@ -208,7 +207,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmRemoveDevice' + $ref: "#/components/schemas/VmRemoveDevice" required: true responses: 204: @@ -224,7 +223,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/DiskConfig' + $ref: "#/components/schemas/DiskConfig" required: true responses: 200: @@ -232,7 +231,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new disk was successfully (cold) added to the VM instance. 500: @@ -246,7 +245,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FsConfig' + $ref: "#/components/schemas/FsConfig" required: true responses: 200: @@ -254,7 +253,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new device was successfully (cold) added to the VM instance. 500: @@ -268,7 +267,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PmemConfig' + $ref: "#/components/schemas/PmemConfig" required: true responses: 200: @@ -276,7 +275,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new device was successfully (cold) added to the VM instance. 500: @@ -290,7 +289,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/NetConfig' + $ref: "#/components/schemas/NetConfig" required: true responses: 200: @@ -298,7 +297,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new device was successfully (cold) added to the VM instance. 500: @@ -312,7 +311,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VsockConfig' + $ref: "#/components/schemas/VsockConfig" required: true responses: 200: @@ -320,12 +319,12 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new device was successfully (cold) added to the VM instance. 500: description: The new device could not be added to the VM instance. - + /vm.add-vdpa: put: summary: Add a new vDPA device to the VM @@ -334,7 +333,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VdpaConfig' + $ref: "#/components/schemas/VdpaConfig" required: true responses: 200: @@ -342,7 +341,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PciDeviceInfo' + $ref: "#/components/schemas/PciDeviceInfo" 204: description: The new vDPA device was successfully (cold) added to the VM instance. 500: @@ -356,7 +355,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmSnapshotConfig' + $ref: "#/components/schemas/VmSnapshotConfig" required: true responses: 204: @@ -374,7 +373,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VmCoredumpData' + $ref: "#/components/schemas/VmCoredumpData" required: true responses: 204: @@ -392,7 +391,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/RestoreConfig' + $ref: "#/components/schemas/RestoreConfig" required: true responses: 204: @@ -408,7 +407,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ReceiveMigrationData' + $ref: "#/components/schemas/ReceiveMigrationData" required: true responses: 204: @@ -424,7 +423,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SendMigrationData' + $ref: "#/components/schemas/SendMigrationData" required: true responses: 204: @@ -434,10 +433,9 @@ paths: components: schemas: - VmmPingResponse: required: - - version + - version type: object properties: version: @@ -446,12 +444,12 @@ components: VmInfo: required: - - config - - state + - config + - state type: object properties: config: - $ref: '#/components/schemas/VmConfig' + $ref: "#/components/schemas/VmConfig" state: type: string enum: [Created, Running, Shutdown, Paused] @@ -461,7 +459,7 @@ components: device_tree: type: object additionalProperties: - $ref: '#/components/schemas/DeviceNode' + $ref: "#/components/schemas/DeviceNode" description: Virtual Machine information DeviceNode: @@ -491,8 +489,8 @@ components: PciDeviceInfo: required: - - id - - bdf + - id + - bdf type: object properties: id: @@ -501,65 +499,72 @@ components: type: string description: Information about a PCI device + PayloadConfig: + type: object + properties: + kernel: + type: string + cmdline: + type: string + initramfs: + type: string + description: Payloads to boot in guest + VmConfig: required: - - kernel + - payload type: object properties: cpus: - $ref: '#/components/schemas/CpusConfig' + $ref: "#/components/schemas/CpusConfig" memory: - $ref: '#/components/schemas/MemoryConfig' - kernel: - $ref: '#/components/schemas/KernelConfig' - initramfs: - $ref: '#/components/schemas/InitramfsConfig' - cmdline: - $ref: '#/components/schemas/CmdLineConfig' + $ref: "#/components/schemas/MemoryConfig" + payload: + $ref: "#/components/schemas/PayloadConfig" disks: type: array items: - $ref: '#/components/schemas/DiskConfig' + $ref: "#/components/schemas/DiskConfig" net: type: array items: - $ref: '#/components/schemas/NetConfig' + $ref: "#/components/schemas/NetConfig" rng: - $ref: '#/components/schemas/RngConfig' + $ref: "#/components/schemas/RngConfig" balloon: - $ref: '#/components/schemas/BalloonConfig' + $ref: "#/components/schemas/BalloonConfig" fs: type: array items: - $ref: '#/components/schemas/FsConfig' + $ref: "#/components/schemas/FsConfig" pmem: type: array items: - $ref: '#/components/schemas/PmemConfig' + $ref: "#/components/schemas/PmemConfig" serial: - $ref: '#/components/schemas/ConsoleConfig' + $ref: "#/components/schemas/ConsoleConfig" console: - $ref: '#/components/schemas/ConsoleConfig' + $ref: "#/components/schemas/ConsoleConfig" devices: type: array items: - $ref: '#/components/schemas/DeviceConfig' + $ref: "#/components/schemas/DeviceConfig" vdpa: type: array items: - $ref: '#/components/schemas/VdpaConfig' + $ref: "#/components/schemas/VdpaConfig" vsock: - $ref: '#/components/schemas/VsockConfig' + $ref: "#/components/schemas/VsockConfig" sgx_epc: type: array items: - $ref: '#/components/schemas/SgxEpcConfig' + $ref: "#/components/schemas/SgxEpcConfig" tdx: - $ref: '#/components/schemas/TdxConfig' + $ref: "#/components/schemas/TdxConfig" numa: type: array items: - $ref: '#/components/schemas/NumaConfig' + $ref: "#/components/schemas/NumaConfig" iommu: type: boolean default: false @@ -567,7 +572,7 @@ components: type: boolean default: false platform: - $ref: '#/components/schemas/PlatformConfig' + $ref: "#/components/schemas/PlatformConfig" description: Virtual machine configuration CpuAffinity: @@ -600,8 +605,8 @@ components: CpusConfig: required: - - boot_vcpus - - max_vcpus + - boot_vcpus + - max_vcpus type: object properties: boot_vcpus: @@ -613,7 +618,7 @@ components: default: 1 type: integer topology: - $ref: '#/components/schemas/CpuTopology' + $ref: "#/components/schemas/CpuTopology" kvm_hyperv: type: boolean default: false @@ -622,9 +627,9 @@ components: affinity: type: array items: - $ref: '#/components/schemas/CpuAffinity' + $ref: "#/components/schemas/CpuAffinity" features: - $ref: '#/components/schemas/CpuFeatures' + $ref: "#/components/schemas/CpuFeatures" PlatformConfig: type: object @@ -639,11 +644,17 @@ components: format: int16 serial_number: type: string + uuid: + type: string + oem_strings: + type: array + items: + type: string MemoryZoneConfig: required: - - id - - size + - id + - size type: object properties: id: @@ -681,7 +692,7 @@ components: MemoryConfig: required: - - size + - size type: object properties: size: @@ -715,37 +726,12 @@ components: zones: type: array items: - $ref: '#/components/schemas/MemoryZoneConfig' - - KernelConfig: - required: - - path - type: object - properties: - path: - type: string - - InitramfsConfig: - nullable: true - required: - - path - type: object - properties: - path: - type: string - - CmdLineConfig: - required: - - args - type: object - properties: - args: - type: string + $ref: "#/components/schemas/MemoryZoneConfig" TokenBucket: required: - - size - - refill_time + - size + - refill_time type: object properties: size: @@ -777,16 +763,16 @@ components: type: object properties: bandwidth: - $ref: '#/components/schemas/TokenBucket' + $ref: "#/components/schemas/TokenBucket" ops: - $ref: '#/components/schemas/TokenBucket' + $ref: "#/components/schemas/TokenBucket" description: Defines an IO rate limiter with independent bytes/s and ops/s limits. Limits are defined by configuring each of the _bandwidth_ and _ops_ token buckets. DiskConfig: required: - - path + - path type: object properties: path: @@ -811,11 +797,8 @@ components: default: false vhost_socket: type: string - poll_queue: - type: boolean - default: true rate_limiter_config: - $ref: '#/components/schemas/RateLimiterConfig' + $ref: "#/components/schemas/RateLimiterConfig" pci_segment: type: integer format: int16 @@ -858,11 +841,11 @@ components: type: integer format: int16 rate_limiter_config: - $ref: '#/components/schemas/RateLimiterConfig' + $ref: "#/components/schemas/RateLimiterConfig" RngConfig: required: - - src + - src type: object properties: src: @@ -874,7 +857,7 @@ components: BalloonConfig: required: - - size + - size type: object properties: size: @@ -891,10 +874,10 @@ components: FsConfig: required: - - num_queues - - queue_size - - socket - - tag + - num_queues + - queue_size + - socket + - tag type: object properties: tag: @@ -915,7 +898,7 @@ components: PmemConfig: required: - - file + - file type: object properties: file: @@ -937,7 +920,7 @@ components: ConsoleConfig: required: - - mode + - mode type: object properties: file: @@ -951,7 +934,7 @@ components: DeviceConfig: required: - - path + - path type: object properties: path: @@ -967,8 +950,8 @@ components: VdpaConfig: required: - - path - - num_queues + - path + - num_queues type: object properties: path: @@ -987,8 +970,8 @@ components: VsockConfig: required: - - cid - - socket + - cid + - socket type: object properties: cid: @@ -1010,8 +993,8 @@ components: SgxEpcConfig: required: - - id - - size + - id + - size type: object properties: id: @@ -1025,7 +1008,7 @@ components: TdxConfig: required: - - firmware + - firmware type: object properties: firmware: @@ -1034,8 +1017,8 @@ components: NumaDistance: required: - - destination - - distance + - destination + - distance type: object properties: destination: @@ -1047,7 +1030,7 @@ components: NumaConfig: required: - - guest_numa_id + - guest_numa_id type: object properties: guest_numa_id: @@ -1061,7 +1044,7 @@ components: distances: type: array items: - $ref: '#/components/schemas/NumaDistance' + $ref: "#/components/schemas/NumaDistance" memory_zones: type: array items: @@ -1127,7 +1110,7 @@ components: RestoreConfig: required: - - source_url + - source_url type: object properties: source_url: @@ -1137,7 +1120,7 @@ components: ReceiveMigrationData: required: - - receiver_url + - receiver_url type: object properties: receiver_url: @@ -1145,7 +1128,7 @@ components: SendMigrationData: required: - - destination_url + - destination_url type: object properties: destination_url: From 3a597c274240aae16eb4d380b37c64b21d0642e8 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Wed, 17 Aug 2022 12:15:04 -0700 Subject: [PATCH 3/3] runtime: clh: Use the new 'payload' interface The new 'payload' interface now contains the 'kernel' and 'initramfs' config. Fixes: #4952 Signed-off-by: Bo Chen --- src/runtime/virtcontainers/clh.go | 12 ++++++------ src/runtime/virtcontainers/clh_test.go | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/runtime/virtcontainers/clh.go b/src/runtime/virtcontainers/clh.go index aaa8e2886a..b14391b932 100644 --- a/src/runtime/virtcontainers/clh.go +++ b/src/runtime/virtcontainers/clh.go @@ -459,13 +459,15 @@ func (clh *cloudHypervisor) CreateVM(ctx context.Context, id string, network Net // to fetch if this is the first time the hypervisor is created. clh.Logger().WithField("function", "CreateVM").Info("Sandbox not found creating") + // Create the VM config via the constructor to ensure default values are properly assigned + clh.vmconfig = *chclient.NewVmConfig(*chclient.NewPayloadConfig()) + // Make sure the kernel path is valid kernelPath, err := clh.config.KernelAssetPath() if err != nil { return err } - // Create the VM config via the constructor to ensure default values are properly assigned - clh.vmconfig = *chclient.NewVmConfig(*chclient.NewKernelConfig(kernelPath)) + clh.vmconfig.Payload.SetKernel(kernelPath) if clh.config.ConfidentialGuest { if err := clh.enableProtection(); err != nil { @@ -505,7 +507,7 @@ func (clh *cloudHypervisor) CreateVM(ctx context.Context, id string, network Net // Followed by extra kernel parameters defined in the configuration file params = append(params, clh.config.KernelParams...) - clh.vmconfig.Cmdline = chclient.NewCmdLineConfig(kernelParamsToString(params)) + clh.vmconfig.Payload.SetCmdline(kernelParamsToString(params)) // set random device generator to hypervisor clh.vmconfig.Rng = chclient.NewRngConfig(clh.config.EntropySource) @@ -547,9 +549,7 @@ func (clh *cloudHypervisor) CreateVM(ctx context.Context, id string, network Net return err } - initrd := chclient.NewInitramfsConfig(initrdPath) - - clh.vmconfig.SetInitramfs(*initrd) + clh.vmconfig.Payload.SetInitramfs(initrdPath) } // Use serial port as the guest console only in debug mode, diff --git a/src/runtime/virtcontainers/clh_test.go b/src/runtime/virtcontainers/clh_test.go index bb4a04925b..58b1b7fe9a 100644 --- a/src/runtime/virtcontainers/clh_test.go +++ b/src/runtime/virtcontainers/clh_test.go @@ -557,7 +557,7 @@ func TestCloudHypervisorResizeMemory(t *testing.T) { clh := cloudHypervisor{} mockClient := &clhClientMock{} - mockClient.vmInfo.Config = *chclient.NewVmConfig(*chclient.NewKernelConfig("")) + mockClient.vmInfo.Config = *chclient.NewVmConfig(*chclient.NewPayloadConfig()) mockClient.vmInfo.Config.Memory = chclient.NewMemoryConfig(int64(utils.MemUnit(clhConfig.MemorySize) * utils.MiB)) mockClient.vmInfo.Config.Memory.HotplugSize = func(i int64) *int64 { return &i }(int64(40 * utils.GiB.ToBytes()))