Compare commits

...

1 Commits

Author SHA1 Message Date
b069c31745 v1.6.5 2023-10-11 12:18:27 +03:00
7 changed files with 205 additions and 85 deletions

View File

@@ -1,9 +1,7 @@
## Version 1.6.4 ## Version 1.6.5
### Bugfix ## Feature
- Fixed type field DiskSizeMax in Resource model in cloudapi/account/models. Rename field ItemResourceConsumption model and rename json's tags in cloudapi/account/models - Add field and type LibvirtDaemon in model Packages in cloudbroker/stack/models
- Rename field in ListPCIDeviceRequest model in cloudapi/compute/list_pci_device - Add field and type Packages in model ItemListStacks in cloudbroker/image/models. Add fields and type LibvirtBin, LibvirtDaemon, Lvm2Lockd, OpenvswitchCommon, OpenvswitchSwitch, QemuSystemX86, Sanlock
- Delete excess field in ListDeletedRequest model in cloudapi/k8s/list_deleted - Add filter ByGID in cloudbroker/grid/filters
- Add fields Page and Size in AffinityGroupsListRequest model in cloudapi/lb/affinity_groups_list - Add field userData in models WorkersGroupAddRequest in cloudapi/k8s and cloudbroker/k8s
- Fixed type field Data in ListAffinityGroups model in cloudapi/lb/models
- Rename in ItemResourceConsumption model json's tags in cloudapi/rg/models

View File

@@ -56,6 +56,10 @@ type WorkersGroupAddRequest struct {
// Worker node boot disk size in GB If 0 is specified, size is defined by the OS image size // Worker node boot disk size in GB If 0 is specified, size is defined by the OS image size
// Required: false // Required: false
WorkerDisk uint64 `url:"workerDisk,omitempty" json:"workerDisk,omitempty"` WorkerDisk uint64 `url:"workerDisk,omitempty" json:"workerDisk,omitempty"`
// Meta data for working group computes, format YAML "user_data": 1111
// Required: false
UserData string `url:"userData,omitempty" json:"userData,omitempty"`
} }
// WorkersGroupAdd adds workers group to Kubernetes cluster // WorkersGroupAdd adds workers group to Kubernetes cluster

View File

@@ -9,6 +9,15 @@ func (lg ListGrids) FilterByID(id uint64) ListGrids {
return lg.FilterFunc(predicate) return lg.FilterFunc(predicate)
} }
// FilterByGID returns ListGrids with specified GID.
func (lg ListGrids) FilterByGID(gid uint64) ListGrids {
predicate := func(rg ItemGridList) bool {
return rg.GID == gid
}
return lg.FilterFunc(predicate)
}
// FilterByName returns ListGrids with specified Name. // FilterByName returns ListGrids with specified Name.
func (lg ListGrids) FilterByName(name string) ListGrids { func (lg ListGrids) FilterByName(name string) ListGrids {
predicate := func(rg ItemGridList) bool { predicate := func(rg ItemGridList) bool {

View File

@@ -106,6 +106,14 @@ func TestFilterByID(t *testing.T) {
} }
} }
func TestFilterByGID(t *testing.T) {
actual := grids.FilterByGID(777).FindOne()
if actual.GID != 777 {
t.Fatal("expected ID 777, found: ", actual.GID)
}
}
func TestFilterByName(t *testing.T) { func TestFilterByName(t *testing.T) {
actual := grids.FilterByName("gamma").FindOne() actual := grids.FilterByName("gamma").FindOne()

View File

@@ -176,10 +176,10 @@ type GUID string
func (r *GUID) UnmarshalJSON(b []byte) error { func (r *GUID) UnmarshalJSON(b []byte) error {
if b[0] == '"' { if b[0] == '"' {
*r = GUID(string(b[1:len(b)-1])) *r = GUID(string(b[1 : len(b)-1]))
return nil return nil
} }
*r = GUID(string(b)) *r = GUID(string(b))
return nil return nil
@@ -190,74 +190,167 @@ type ListHistory []History
// List stacks // List stacks
type ListStacks struct { type ListStacks struct {
Data []struct { // Data
// CKey Data []ItemListStacks `json:"data"`
CKey string `json:"_ckey"`
// Meta
Meta []interface{} `json:"_meta"`
// API URL
APIURL string `json:"apiUrl"`
// API key
APIKey string `json:"apikey"`
// App ID
AppID string `json:"appId"`
// CPU allocation ratio
CPUAllocationRatio float64 `json:"cpu_allocation_ratio"`
// Description
Description string `json:"desc"`
// Descr
Descr string `json:"descr"`
// Drivers
Drivers []string `json:"drivers"`
// Eco
Eco interface{} `json:"eco"`
// Error
Error uint64 `json:"error"`
// Grid ID
GID uint64 `json:"gid"`
// GID
GUID uint64 `json:"guid"`
// ID
ID uint64 `json:"id"`
// List image IDs
Images []uint64 `json:"images"`
// Login
Login string `json:"login"`
// Mem allocation ratio
// Required: false
MemAllocationRatio float64 `json:"mem_allocation_ratio"`
// Name
Name string `json:"name"`
// Password
Password string `json:"passwd"`
// Reference ID
ReferenceID string `json:"referenceId"`
// Status
Status string `json:"status"`
// Type
Type string `json:"type"`
} `json:"data"`
// Entry count
EntryCount uint64 `json:"entryCount"` EntryCount uint64 `json:"entryCount"`
} }
// Detailed information about image
type ItemListStacks struct {
// CKey
CKey string `json:"_ckey"`
// Meta
Meta []interface{} `json:"_meta"`
// API URL
APIURL string `json:"apiUrl"`
// API key
APIKey string `json:"apikey"`
// App ID
AppID string `json:"appId"`
// CPU allocation ratio
CPUAllocationRatio float64 `json:"cpu_allocation_ratio"`
// Description
Description string `json:"desc"`
// Descr
Descr string `json:"descr"`
// Drivers
Drivers []string `json:"drivers"`
// Eco
Eco interface{} `json:"eco"`
// Error
Error uint64 `json:"error"`
// Grid ID
GID uint64 `json:"gid"`
// GID
GUID uint64 `json:"guid"`
// ID
ID uint64 `json:"id"`
// List image IDs
Images []uint64 `json:"images"`
// Login
Login string `json:"login"`
// Mem allocation ratio
MemAllocationRatio float64 `json:"mem_allocation_ratio"`
// Name
Name string `json:"name"`
// Packegas
Packages Packages `json:"packages"`
// Password
Password string `json:"passwd"`
// Reference ID
ReferenceID string `json:"referenceId"`
// Status
Status string `json:"status"`
// Type
Type string `json:"type"`
}
// Package
type Packages struct {
// LibvirtBin
LibvirtBin LibvirtBin `json:"libvirt-bin"`
// LibvirtDaemon
LibvirtDaemon LibvirtDaemon `json:"libvirt-daemon"`
// Lvm2Lockd
Lvm2Lockd Lvm2Lockd `json:"lvm2-lockd"`
// OpenvswitchCommon
OpenvswitchCommon OpenvswitchCommon `json:"openvswitch-common"`
// OpenvswitchSwitch
OpenvswitchSwitch OpenvswitchSwitch `json:"openvswitch-switch"`
// QemuSystemX86
QemuSystemX86 QemuSystemX86 `json:"qemu-system-x86"`
// Sanlock
Sanlock Sanlock `json:"sanlock"`
}
// LibvirtBin
type LibvirtBin struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
type LibvirtDaemon struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
// Lvm2Lockd
type Lvm2Lockd struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
// OpenvswitchCommon
type OpenvswitchCommon struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
// OpenvswitchSwitch
type OpenvswitchSwitch struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
// QemuSystemX86
type QemuSystemX86 struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
// Sanlock
type Sanlock struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}

View File

@@ -58,6 +58,10 @@ type WorkersGroupAddRequest struct {
// Worker node boot disk size in GB If 0 is specified, size is defined by the OS image size // Worker node boot disk size in GB If 0 is specified, size is defined by the OS image size
// Required: false // Required: false
WorkerDisk uint64 `url:"workerDisk,omitempty" json:"workerDisk,omitempty"` WorkerDisk uint64 `url:"workerDisk,omitempty" json:"workerDisk,omitempty"`
// Meta data for working group computes, format YAML "user_data": 1111
// Required: false
UserData string `url:"userData,omitempty" json:"userData,omitempty"`
} }
// WorkersGroupAdd adds workers group to kubernetes cluster // WorkersGroupAdd adds workers group to kubernetes cluster

View File

@@ -43,6 +43,7 @@ type InfoStack struct {
// ID // ID
ID uint64 `json:"id"` ID uint64 `json:"id"`
// List image IDs // List image IDs
Images []uint64 `json:"images"` Images []uint64 `json:"images"`
@@ -73,7 +74,6 @@ type InfoStack struct {
// List of stacks // List of stacks
type ListStacks struct { type ListStacks struct {
//List //List
Data []InfoStack `json:"data"` Data []InfoStack `json:"data"`
@@ -83,10 +83,12 @@ type ListStacks struct {
// Package // Package
type Packages struct { type Packages struct {
// LibvirtBin // LibvirtBin
LibvirtBin LibvirtBin `json:"libvirt-bin"` LibvirtBin LibvirtBin `json:"libvirt-bin"`
// LibvirtDaemon
LibvirtDaemon LibvirtDaemon `json:"libvirt-daemon"`
// Lvm2Lockd // Lvm2Lockd
Lvm2Lockd Lvm2Lockd `json:"lvm2-lockd"` Lvm2Lockd Lvm2Lockd `json:"lvm2-lockd"`
@@ -105,7 +107,14 @@ type Packages struct {
// LibvirtBin // LibvirtBin
type LibvirtBin struct { type LibvirtBin struct {
// InstalledSize
InstalledSize string `json:"installed_size"`
// Version
Ver string `json:"ver"`
}
type LibvirtDaemon struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`
@@ -115,7 +124,6 @@ type LibvirtBin struct {
// Lvm2Lockd // Lvm2Lockd
type Lvm2Lockd struct { type Lvm2Lockd struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`
@@ -125,7 +133,6 @@ type Lvm2Lockd struct {
// OpenvswitchCommon // OpenvswitchCommon
type OpenvswitchCommon struct { type OpenvswitchCommon struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`
@@ -135,7 +142,6 @@ type OpenvswitchCommon struct {
// OpenvswitchSwitch // OpenvswitchSwitch
type OpenvswitchSwitch struct { type OpenvswitchSwitch struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`
@@ -145,7 +151,6 @@ type OpenvswitchSwitch struct {
// QemuSystemX86 // QemuSystemX86
type QemuSystemX86 struct { type QemuSystemX86 struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`
@@ -155,7 +160,6 @@ type QemuSystemX86 struct {
// Sanlock // Sanlock
type Sanlock struct { type Sanlock struct {
// InstalledSize // InstalledSize
InstalledSize string `json:"installed_size"` InstalledSize string `json:"installed_size"`