v1.8.0
This commit is contained in:
316
pkg/cloudbroker/node/models.go
Normal file
316
pkg/cloudbroker/node/models.go
Normal file
@@ -0,0 +1,316 @@
|
||||
package node
|
||||
|
||||
// Node summary
|
||||
type RecordNode struct {
|
||||
// Consumption
|
||||
Consumption ConsumptionInfo `json:"consumption"`
|
||||
|
||||
// CPU Info
|
||||
CpuInfo CpuInfo `json:"cpuInfo"`
|
||||
|
||||
// CPU Allocation Ratio
|
||||
CPUAllocationRatio float64 `json:"cpu_allocation_ratio"`
|
||||
|
||||
// GID
|
||||
GID uint64 `json:"gid"`
|
||||
|
||||
// Node ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// IPAddr
|
||||
IPAddr []string `json:"ipaddr"`
|
||||
|
||||
// Isolated Cpus
|
||||
IsolatedCpus []interface{} `json:"isolatedCpus"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// NeedReboot
|
||||
NeedReboot bool `json:"needReboot"`
|
||||
|
||||
// Nic Info
|
||||
NicInfo ListNicInfo `json:"nicInfo"`
|
||||
|
||||
// NumaTopology
|
||||
NumaTopology NumaTopologyInfo `json:"numaTopology"`
|
||||
|
||||
// ReservedCPUs
|
||||
ReservedCPUs []interface{} `json:"reservedCpus"`
|
||||
|
||||
// Roles
|
||||
Roles []string `json:"roles"`
|
||||
|
||||
// SriovEnabled
|
||||
SriovEnabled bool `json:"sriovEnabled"`
|
||||
|
||||
// StackID
|
||||
StackID uint64 `json:"stackId"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Version
|
||||
Version string `json:"version"`
|
||||
}
|
||||
|
||||
// Resource consumption of the node
|
||||
type ConsumptionInfo struct {
|
||||
// Consumed resources
|
||||
Consumed ConsumedResourcesInfo `json:"consumed"`
|
||||
|
||||
// Free resources
|
||||
Free FreeResourcesInfo `json:"free"`
|
||||
|
||||
// Hostname
|
||||
Hostname string `json:"hostname"`
|
||||
|
||||
// Reserved resources
|
||||
Reserved ResourcesInfo `json:"reserved"`
|
||||
|
||||
// Total resources
|
||||
Total ResourcesInfo `json:"total"`
|
||||
}
|
||||
|
||||
// Free Resources Info
|
||||
type FreeResourcesInfo struct {
|
||||
// RAM
|
||||
RAM float64 `json:"RAM"`
|
||||
}
|
||||
|
||||
// Resources Info
|
||||
type ResourcesInfo struct {
|
||||
// RAM
|
||||
RAM uint64 `json:"RAM"`
|
||||
}
|
||||
|
||||
// Consumed Resources Info
|
||||
type ConsumedResourcesInfo struct {
|
||||
// RAM
|
||||
RAM uint64 `json:"RAM"`
|
||||
|
||||
// Computes
|
||||
Computes uint64 `json:"computes"`
|
||||
|
||||
// Routers
|
||||
Routers uint64 `json:"routers"`
|
||||
|
||||
// VCPU
|
||||
VCPU uint64 `json:"vCPU"`
|
||||
}
|
||||
|
||||
// Information about node CPU
|
||||
type CpuInfo struct {
|
||||
// Clock Speed
|
||||
ClockSpeed uint64 `json:"clockSpeed"`
|
||||
|
||||
// CoreCount
|
||||
CoreCount uint64 `json:"coreCount"`
|
||||
|
||||
// PhysCount
|
||||
PhysCount uint64 `json:"physCount"`
|
||||
}
|
||||
|
||||
// Main information about node
|
||||
type ItemNode struct {
|
||||
// Additional packages
|
||||
AdditionalPkgs []interface{} `json:"additionalpkgs"`
|
||||
|
||||
// CPU Info
|
||||
CpuInfo CpuInfo `json:"cpuInfo"`
|
||||
|
||||
// Description
|
||||
Description string `json:"description"`
|
||||
|
||||
// GID
|
||||
GID uint64 `json:"gid"`
|
||||
|
||||
// GUID
|
||||
GUID string `json:"guid"`
|
||||
|
||||
// Hostkey
|
||||
HostKey string `json:"hostkey"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// IPAddr
|
||||
IPAddr []string `json:"ipaddr"`
|
||||
|
||||
// Isolated Cpus
|
||||
IsolatedCpus []interface{} `json:"isolatedCpus"`
|
||||
|
||||
// Last check
|
||||
LastCheck uint64 `json:"lastcheck"`
|
||||
|
||||
// Machine GUID
|
||||
MachineGUID string `json:"machineguid"`
|
||||
|
||||
// Mainboard SN
|
||||
MainboardSN string `json:"mainboardSN"`
|
||||
|
||||
// Memory
|
||||
Memory uint64 `json:"memory"`
|
||||
|
||||
// Milestones
|
||||
Milestones uint64 `json:"milestones"`
|
||||
|
||||
// Model
|
||||
Model string `json:"model"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// NeedReboot
|
||||
NeedReboot bool `json:"needReboot"`
|
||||
|
||||
// NetAddr
|
||||
NetAddr ListNetAddr `json:"netaddr"`
|
||||
|
||||
// Network mode
|
||||
NetworkMode string `json:"networkmode"`
|
||||
|
||||
// Nic Info
|
||||
NicInfo ListNicInfo `json:"nicInfo"`
|
||||
|
||||
// Node UUID
|
||||
NodeUUID string `json:"nodeUUID"`
|
||||
|
||||
// NumaTopology
|
||||
NumaTopology NumaTopologyInfo `json:"numaTopology"`
|
||||
|
||||
// PeerBackup
|
||||
PeerBackup uint64 `json:"peer_backup"`
|
||||
|
||||
// PeerLog
|
||||
PeerLog uint64 `json:"peer_log"`
|
||||
|
||||
// PeerStats
|
||||
PeerStats uint64 `json:"peer_stats"`
|
||||
|
||||
// Pgpus
|
||||
Pgpus []uint64 `json:"pgpus"`
|
||||
|
||||
// PublicKeys
|
||||
PublicKeys []string `json:"publickeys"`
|
||||
|
||||
// Release
|
||||
Release string `json:"release"`
|
||||
|
||||
// ReservedCPUs
|
||||
ReservedCPUs []interface{} `json:"reservedCpus"`
|
||||
|
||||
// Roles
|
||||
Roles []string `json:"roles"`
|
||||
|
||||
// Seps
|
||||
Seps []uint64 `json:"seps"`
|
||||
|
||||
// SerialNum
|
||||
SerialNum string `json:"serialNum"`
|
||||
|
||||
// SriovEnabled
|
||||
SriovEnabled bool `json:"sriovEnabled"`
|
||||
|
||||
// StackID
|
||||
StackID uint64 `json:"stackId"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Tags
|
||||
Tags []string `json:"tags"`
|
||||
|
||||
// Type
|
||||
Type string `json:"type"`
|
||||
|
||||
// Version
|
||||
Version string `json:"version"`
|
||||
}
|
||||
|
||||
// Numa Topology Info
|
||||
type NumaTopologyInfo struct {
|
||||
// NodeNum
|
||||
NodeNum uint64 `json:"nodenum"`
|
||||
|
||||
// Nodes
|
||||
Nodes map[string]NodeInfo `json:"nodes"`
|
||||
}
|
||||
|
||||
// Node Info from NumaTopologyInfo
|
||||
type NodeInfo struct {
|
||||
// CPUList
|
||||
CPUList []uint64 `json:"cpulist"`
|
||||
|
||||
// Memory
|
||||
Memory ItemMemory `json:"memory"`
|
||||
}
|
||||
|
||||
type ItemMemory struct {
|
||||
// 1G
|
||||
OneG uint64 `json:"1G"`
|
||||
|
||||
// 2M
|
||||
TwoM uint64 `json:"2M"`
|
||||
|
||||
// Total
|
||||
Total uint64 `json:"total"`
|
||||
}
|
||||
|
||||
type ListNicInfo []ItemNicInfo
|
||||
|
||||
// Item Nic Info
|
||||
type ItemNicInfo struct {
|
||||
// Driver
|
||||
Driver string `json:"driver"`
|
||||
|
||||
// MaxVFS
|
||||
MaxVFS uint64 `json:"maxvfs"`
|
||||
|
||||
// NumaNode
|
||||
NumaNode int64 `json:"numaNode"`
|
||||
|
||||
// NumVFS
|
||||
NumVFS uint64 `json:"numvfs"`
|
||||
|
||||
// OSName
|
||||
OSName string `json:"osName"`
|
||||
|
||||
// PCISlot
|
||||
PCISlot string `json:"pciSlot"`
|
||||
|
||||
// VFList
|
||||
VFList []interface{} `json:"vflist"`
|
||||
}
|
||||
|
||||
type ListNetAddr []ItemNetAddr
|
||||
|
||||
// Item Net Addr
|
||||
type ItemNetAddr struct {
|
||||
// CIDR
|
||||
CIDR []string `json:"cidr"`
|
||||
|
||||
// Index
|
||||
Index uint64 `json:"index"`
|
||||
|
||||
// IP
|
||||
IP []string `json:"ip"`
|
||||
|
||||
// Mac
|
||||
Mac string `json:"mac"`
|
||||
|
||||
// MTU
|
||||
MTU uint64 `json:"mtu"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// List of nodes
|
||||
type ListNodes struct {
|
||||
// Data
|
||||
Data []ItemNode `json:"data"`
|
||||
|
||||
// Entry count
|
||||
EntryCount uint64 `json:"entryCount"`
|
||||
}
|
||||
Reference in New Issue
Block a user