liquidmetal-dev / liquidmetal-dev/flintlock

cloud-hypervisor: broaden schema coverage with fields added in v42.0-v53.0

Open
#1,186 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1.5k
Forks
73
Avg merge
17h 24m
Merged PRs (30d)
30

Description

Diffing Cloud Hypervisor's OpenAPI spec (vmm/src/api/openapi/cloud-hypervisor.yaml) between v41.0 and v53.0 shows a number of new, optional, additive fields that flintlock's hand-written pkg/cloudhypervisor/types.go doesn't model. None of these are required for basic compatibility (flintlock currently launches cloud-hypervisor via CLI args, not the vm.create REST body, and only uses the REST client for read operations like Info/Counters), but adding them would give fuller API coverage for future features.

Candidate fields

  • pci_device_id — added to most device configs (DiskConfig, NetConfig, FsConfig, PmemConfig, VdpaConfig, VsockConfig, DeviceConfig, ConsoleConfig/SerialConfig, RtcConfig) alongside the existing pci_segment
  • NetConfig: offload_tso, offload_ufo, offload_csum
  • DiskConfig: image_type, lock_granularity, backing_files, sparse
  • PlatformConfig: iommufd, sev_snp, vfio_p2p_dma, iommu_address_width_bits, SMBIOS system_manufacturer/system_product_name/system_version/system_family/system_sku_number/chassis_asset_tag
  • CpusConfig: core_scheduling (CoreSchedulingMode: Vm/Vcpu/Off), nested
  • New RtcConfig type (real-time clock device)
  • VMConfig: igvm, host_data (payload-related), user_devices, generic-vhost-user arrays

Filed as part of the v53.0 compatibility review. Deliberately scoped out of the minimal v53.0 version-bump PR — pick up only as needed when a feature requires one of these fields.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare vmm/src/api/openapi/cloud-hypervisor.yaml across v41.0 and v53.0, then inspect the corresponding definitions in pkg/cloudhypervisor/types.go. Model the listed optional schema fields and new types that fit the compatibility scope, and verify the Go package still builds and its existing REST read operations remain compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.