1.5.8-k8s-extnet-branch v1.5.6
Nikita Sorokin 1 year ago
parent 7de095302b
commit e8270453cc

@ -1,5 +1,4 @@
## Version 1.5.5
## Version 1.5.6
### Bugfix
- Added missing field cloudbroker/sep/RecordPool/UsageLimit
- Fixed the field cloudbroker/sep/RecordConsumption/ByPool
- Fix the RecordLB field, add the RecordLBList field to cloudbroker/lb/models to correctly receive information on get and list requests

@ -9,7 +9,7 @@ import (
// FilterByID returns ListLB with specified ID.
func (ll ListLB) FilterByID(id uint64) ListLB {
predicate := func(rlb RecordLB) bool {
predicate := func(rlb ItemLBList) bool {
return rlb.ID == id
}
@ -18,7 +18,7 @@ func (ll ListLB) FilterByID(id uint64) ListLB {
// FilterByName returns ListLB with specified Name.
func (ll ListLB) FilterByName(name string) ListLB {
predicate := func(rlb RecordLB) bool {
predicate := func(rlb ItemLBList) bool {
return rlb.Name == name
}
@ -27,22 +27,13 @@ func (ll ListLB) FilterByName(name string) ListLB {
// FilterByExtNetID returns ListLB with specified ExtNetID.
func (ll ListLB) FilterByExtNetID(extNetID uint64) ListLB {
predicate := func(rlb RecordLB) bool {
predicate := func(rlb ItemLBList) bool {
return rlb.ExtNetID == extNetID
}
return ll.FilterFunc(predicate)
}
// FilterByImageID returns ListLB with specified ImageID.
func (ll ListLB) FilterByImageID(imageID uint64) ListLB {
predicate := func(rlb RecordLB) bool {
return rlb.ImageID == imageID
}
return ll.FilterFunc(predicate)
}
// FilterByK8SID returns ListLB used by specified K8S cluster.
func (ll ListLB) FilterByK8SID(ctx context.Context, k8sID uint64, decortClient interfaces.Caller) (*ListLB, error) {
caller := k8s.New(decortClient)
@ -56,7 +47,7 @@ func (ll ListLB) FilterByK8SID(ctx context.Context, k8sID uint64, decortClient i
return nil, err
}
predicate := func(rlb RecordLB) bool {
predicate := func(rlb ItemLBList) bool {
return cluster.LBID == rlb.ID
}
@ -66,7 +57,7 @@ func (ll ListLB) FilterByK8SID(ctx context.Context, k8sID uint64, decortClient i
}
// FilterFunc allows filtering ListLB based on a user-specified predicate.
func (ll ListLB) FilterFunc(predicate func(RecordLB) bool) ListLB {
func (ll ListLB) FilterFunc(predicate func(ItemLBList) bool) ListLB {
var result ListLB
for _, item := range ll.Data {
@ -82,9 +73,9 @@ func (ll ListLB) FilterFunc(predicate func(RecordLB) bool) ListLB {
// FindOne returns first found RecordLB
// If none was found, returns an empty struct.
func (ll ListLB) FindOne() RecordLB {
func (ll ListLB) FindOne() ItemLBList {
if len(ll.Data) == 0 {
return RecordLB{}
return ItemLBList{}
}
return ll.Data[0]

@ -3,11 +3,9 @@ package lb
import "testing"
var lbs = ListLB{
Data: []RecordLB{
Data: []ItemLBList{
{
HAMode: true,
CKey: "",
Meta: []interface{}{},
ACL: []interface{}{},
Backends: []ItemBackend{},
CreatedBy: "test_user_1",
@ -22,7 +20,6 @@ var lbs = ListLB{
GID: 212,
GUID: 1,
ID: 1,
ImageID: 2121,
Milestones: 129000,
Name: "k8s-lb-test-1",
PrimaryNode: Node{},
@ -37,8 +34,6 @@ var lbs = ListLB{
},
{
HAMode: false,
CKey: "",
Meta: []interface{}{},
ACL: []interface{}{},
Backends: []ItemBackend{},
CreatedBy: "test_user_2",
@ -53,7 +48,6 @@ var lbs = ListLB{
GID: 212,
GUID: 2,
ID: 2,
ImageID: 2129,
Milestones: 129013,
Name: "k8s-lb-test-2",
PrimaryNode: Node{},
@ -68,8 +62,6 @@ var lbs = ListLB{
},
{
HAMode: true,
CKey: "",
Meta: []interface{}{},
ACL: []interface{}{},
Backends: []ItemBackend{},
CreatedBy: "te2t_user_3",
@ -84,7 +76,6 @@ var lbs = ListLB{
GID: 212,
GUID: 3,
ID: 3,
ImageID: 2139,
Milestones: 129025,
Name: "k8s-lb-test-3",
PrimaryNode: Node{},
@ -125,16 +116,8 @@ func TestFilterByExtNetID(t *testing.T) {
}
}
func TestFilterByImageID(t *testing.T) {
actual := lbs.FilterByImageID(2139).FindOne()
if actual.ImageID != 2139 {
t.Fatal("expected ImageID 2139, found: ", actual.ImageID)
}
}
func TestFilterFunc(t *testing.T) {
actual := lbs.FilterFunc(func(rl RecordLB) bool {
actual := lbs.FilterFunc(func(rl ItemLBList) bool {
return rl.Status == "DISABLED"
})

@ -136,7 +136,7 @@ type Node struct {
// List of load balancers
type ListLB struct {
// Data
Data []RecordLB `json:"data"`
Data []ItemLBList `json:"data"`
// Entry count
EntryCount uint64 `json:"entryCount"`
@ -159,6 +159,69 @@ type RecordLB struct {
// List of load balancer backends
Backends ListBackends `json:"backends"`
// Description
Description string `json:"desc"`
// DPAPI password
DPAPIPassword string `json:"dpApiPassword"`
// DPAPI user
DPAPIUser string `json:"dpApiUser"`
// External network ID
ExtNetID uint64 `json:"extnetId"`
// List of load balancer frontends
Frontends ListFrontends `json:"frontends"`
// Grid ID
GID uint64 `json:"gid"`
// GUID
GUID uint64 `json:"guid"`
// ID
ID uint64 `json:"id"`
// Image ID
ImageID uint64 `json:"imageId"`
// Milestones
Milestones uint64 `json:"milestones"`
// Name
Name string `json:"name"`
// Primary node
PrimaryNode Node `json:"primaryNode"`
// Resource group ID
RGID uint64 `json:"rgId"`
// Secondary node
SecondaryNode Node `json:"secondaryNode"`
// Status
Status string `json:"status"`
// Tech status
TechStatus string `json:"techStatus"`
// VINS ID
VINSID uint64 `json:"vinsId"`
}
// Detailed information about load balancer in List
type ItemLBList struct {
// HAMode
HAMode bool `json:"HAmode"`
// Access Control List
ACL []interface{} `json:"acl"`
// List of load balancer backends
Backends ListBackends `json:"backends"`
// Created by
CreatedBy string `json:"createdBy"`
@ -195,9 +258,6 @@ type RecordLB struct {
// ID
ID uint64 `json:"id"`
// Image ID
ImageID uint64 `json:"imageId"`
// Milestones
Milestones uint64 `json:"milestones"`

Loading…
Cancel
Save