v15.5.0
This commit is contained in:
dayterr
2026-07-10 15:44:33 +03:00
parent 55fe76d12e
commit 0595b5ae39
15 changed files with 571 additions and 100 deletions

View File

@@ -864,6 +864,9 @@ type InfoCompute struct {
// Registered
Registered bool `json:"registered"`
// Whether a compute has been resized online
ResizedOnline bool `json:"resizedOnline"`
// Resource name
ResName string `json:"resName"`
@@ -1166,6 +1169,9 @@ type RecordCompute struct {
// Registered
Registered bool `json:"registered"`
// Whether a compute has been resized online
ResizedOnline bool `json:"resizedOnline"`
// Resource name
ResName string `json:"resName"`
@@ -1520,6 +1526,405 @@ type MigrateStorageItem struct {
TargetNodeID uint64 `json:"targetNodeId"`
}
// Info about last (including ongoing) storage migration
type RecordMigrateStorageInfo struct {
// Migration completion status
Completed bool `json:"completed"`
// Daemon address
DaemonAddr string `json:"daemonAddr"`
// Domain name
DomainName string `json:"domainName"`
// Domain UUID
DomainUUID string `json:"domainUUID"`
// Elapsed time
ElapsedTime uint64 `json:"elapsedTime"`
// GID
GID uint64 `json:"gid"`
// GUID
GUID uint64 `json:"guid"`
// ID
ID uint64 `json:"id"`
// List interfaces
Interfaces []ItemShadowComputeInterface `json:"interfaces"`
// Log
Log []string `json:"log"`
// New disk XMLs
NewDiskXmls []string `json:"newDiskXmls"`
// New disks
NewDisks []uint64 `json:"newDisks"`
// Old disks
OldDisks []uint64 `json:"oldDisks"`
// PID
PID uint64 `json:"pid"`
// Source node ID
SourceNodeID uint64 `json:"sourceNodeId"`
// Source numa node ID
SourceNumaNodeID int64 `json:"sourceNumaNodeId"`
// Source reserved node CPUs
SourceReservedNodeCpus []uint64 `json:"sourceReservedNodeCpus"`
// Source URL
SourceURL string `json:"sourceURL"`
// Status
Status string `json:"status"`
// Target shadow compute
TargetShadowCompute ShadowCompute `json:"target_shadow_compute"`
// Target node ID
TargetNodeID uint64 `json:"targetNodeId"`
// Target URL
TargetURL string `json:"targetURL"`
// VM log directory
VMLogDir string `json:"vmlogDir"`
}
// Shadow compute created for the duration of a storage migration
type ShadowCompute struct {
// Account ID
AccountID uint64 `json:"accountId"`
// Access Control List
ACL []interface{} `json:"acl"`
// Affinity label
AffinityLabel string `json:"affinityLabel"`
// Affinity rules
AffinityRules ListShadowComputeRules `json:"affinityRules"`
// Affinity weight
AffinityWeight uint64 `json:"affinityWeight"`
// Anti affinity rules
AntiAffinityRules ListShadowComputeRules `json:"antiAffinityRules"`
// Architecture
Arch string `json:"arch"`
// Auto start when node restarted
AutoStart bool `json:"autoStart"`
// Boot image ID
BootImageID uint64 `json:"boot_image_id"`
// Boot order
BootOrder []string `json:"bootOrder"`
// Boot type
BootType string `json:"bootType"`
// Boot disk size
BootDiskSize uint64 `json:"bootdiskSize"`
// CD Image ID
CDImageID uint64 `json:"cdImageId"`
// Chipset
Chipset string `json:"chipset"`
// Clone reference
CloneReference uint64 `json:"cloneReference"`
// List clone IDs
Clones []uint64 `json:"clones"`
// Compute CI ID
ComputeCIID uint64 `json:"computeciId"`
// CPU pin
CPUPin bool `json:"cpupin"`
// Number of CPU
CPUs uint64 `json:"cpus"`
// Custom fields
CustomFields map[string]interface{} `json:"customFields"`
// Description
Description string `json:"desc"`
// Devices
Devices interface{} `json:"devices"`
// List disks
Disks []ItemShadowComputeDisk `json:"disks"`
// Driver
Driver string `json:"driver"`
// GID
GID uint64 `json:"gid"`
// GUID
GUID uint64 `json:"guid"`
// HPBacked
HPBacked bool `json:"hpBacked"`
// Hot resize
HotResize bool `json:"hotResize"`
// ID
ID uint64 `json:"id"`
// List interfaces
Interfaces []ItemShadowComputeInterface `json:"interfaces"`
// Live migration job ID
LiveMigrationJobID uint64 `json:"live_migration_job_id"`
// Loader type
LoaderType string `json:"loaderType"`
// Lock status
LockStatus string `json:"lockStatus"`
// Manager ID
ManagerID uint64 `json:"managerId"`
// Manager type
ManagerType string `json:"managerType"`
// Migration job
MigrationJob uint64 `json:"migrationjob"`
// Milestones
Milestones uint64 `json:"milestones"`
// Name
Name string `json:"name"`
// Need reboot
NeedReboot bool `json:"needReboot"`
// Network interface naming
NetworkInterfaceNaming string `json:"networkInterfaceNaming"`
// Node ID
NodeID uint64 `json:"node_id"`
// NumaAffinity
NumaAffinity string `json:"numaAffinity"`
// NumaNodeId
NumaNodeID int64 `json:"numaNodeId"`
// List OS users
OSUsers ListOSUsers `json:"osUsers"`
// Name of OS
OSVersion string `json:"os_version"`
// Pinned to node
PinnedToNode int64 `json:"pinnedToNode"`
// Preferred CPU
PreferredCPU []int64 `json:"preferredCpu"`
// Qemu guest
QemuGuest QemuQuest `json:"qemu_guest"`
// ReadOnly indicates read-only mode state
ReadOnly bool `json:"read_only"`
// Number of RAM
RAM uint64 `json:"ram"`
// Reference ID
ReferenceID string `json:"referenceId"`
// Reserved node CPUs
ReservedNodeCpus []uint64 `json:"reservedNodeCpus"`
// Resized online
ResizedOnline bool `json:"resizedOnline"`
// Resource name
ResName string `json:"resName"`
// Resource group ID
RGID uint64 `json:"rgId"`
// SnapSets
SnapSets ListShadowComputeSnapshots `json:"snapSets"`
// Stateless SEP ID
StatelessSEPID int64 `json:"statelessSepId"`
// Stateless SEP type
StatelessSEPType string `json:"statelessSepType"`
// Status
Status string `json:"status"`
// Tags
Tags map[string]interface{} `json:"tags"`
// Tech status
TechStatus string `json:"techStatus"`
// User managed
UserManaged bool `json:"userManaged"`
// Userdata
Userdata interface{} `json:"userdata"`
// List VGPU IDs
VGPUs []uint64 `json:"vgpus"`
// VNC password
VNCPassword string `json:"vncPasswd"`
// Zone ID
ZoneID uint64 `json:"zoneId"`
}
// Disk of a shadow compute
type ItemShadowComputeDisk struct {
// ID
ID uint64 `json:"id"`
}
// Affinity/anti-affinity rule of a shadow compute
type ItemShadowComputeRule struct {
// Key
Key string `json:"key"`
// Mode
Mode string `json:"mode"`
// Policy
Policy string `json:"policy"`
// Topology
Topology string `json:"topology"`
// Value
Value string `json:"value"`
}
// List of shadow compute affinity/anti-affinity rules
type ListShadowComputeRules []ItemShadowComputeRule
// Snapshot of a shadow compute
type ItemShadowComputeSnapshot struct {
// List of disk IDs
Disks []uint64 `json:"disks"`
// GUID
GUID string `json:"guid"`
// Label
Label string `json:"label"`
// Timestamp
Timestamp uint64 `json:"timestamp"`
}
// List of shadow compute snapshots
type ListShadowComputeSnapshots []ItemShadowComputeSnapshot
// Network interface of a shadow compute
type ItemShadowComputeInterface struct {
// Name
Name string `json:"name"`
// Target
Target string `json:"target"`
// PCI slot
PCISlot int64 `json:"pciSlot"`
// Bus number
BusNumber int64 `json:"bus_number"`
// MAC
MAC string `json:"mac"`
// Maximum transmission unit
MTU int64 `json:"mtu"`
// Type
Type string `json:"type"`
// Connection type
ConnType string `json:"connType"`
// Connection ID
ConnID uint64 `json:"connId"`
// FLIPGroup ID
FLIPGroupID uint64 `json:"flipgroupId"`
// Network type
NetType string `json:"netType"`
// Network ID
NetID uint64 `json:"netId"`
// IP address
IPAddress string `json:"ipAddress"`
// Network mask
NetMask int64 `json:"netMask"`
// Default GW
DefGW string `json:"defGw"`
// List of VNF IDs
VNFs []uint64 `json:"vnfs"`
// QOS
QOS QOS `json:"qos"`
// Libvirt settings
LibvirtSettings LibvirtSettings `json:"libvirtSettings"`
// GUID
GUID string `json:"guid"`
// Listen SSH or not
ListenSSH bool `json:"listenSsh"`
// Enabled
Enabled bool `json:"enabled"`
// Node ID
NodeID uint64 `json:"nodeId"`
// SDN interface ID
SDNInterfaceID string `json:"sdn_interface_id"`
// List of security groups
SecGroups []uint64 `json:"security_groups"`
// Enable security groups
EnableSecGroups bool `json:"enable_secgroups"`
// Trunk tags
TrunkTags []int64 `json:"trunk_tags"`
}
type RecordCloneAbort struct {
// Disk ID
DiskID uint64 `json:"disk_id"`