From 55da778ae1186743311dd46ac3c7ff4d725c3a41 Mon Sep 17 00:00:00 2001 From: mr Date: Tue, 24 Jun 2025 14:46:27 +0200 Subject: [PATCH] datacenter search filter for datacenter live --- go.mod | 2 +- go.sum | 6 ++++++ infrastructure/prometheus.go | 12 ++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 923f5bb..4dd31fa 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.0 toolchain go1.23.3 require ( - cloud.o-forge.io/core/oc-lib v0.0.0-20250624064953-2c8dcbe93d14 + cloud.o-forge.io/core/oc-lib v0.0.0-20250624102227-e600fedcab06 github.com/beego/beego/v2 v2.3.1 github.com/golang-jwt/jwt/v5 v5.2.2 go.mongodb.org/mongo-driver v1.17.1 diff --git a/go.sum b/go.sum index 8bb5b63..77f8341 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,12 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20250620101113-e84d262f380b h1:wGDMS97ns+7QR cloud.o-forge.io/core/oc-lib v0.0.0-20250620101113-e84d262f380b/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= cloud.o-forge.io/core/oc-lib v0.0.0-20250624064953-2c8dcbe93d14 h1:iCTrYc2+W2BFLOupRK1sD6sOgsK4NIs6WMC+4LiWCaY= cloud.o-forge.io/core/oc-lib v0.0.0-20250624064953-2c8dcbe93d14/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624093207-3fdf5c3ebf29 h1:JitS1izRltTyOaWnvXnmYywHj0napsL6y0nBYiWUCNo= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624093207-3fdf5c3ebf29/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624095852-147c7bc3a1d5 h1:0eV0E3kBZkOyoAurRmP9h4eHmFrZajOxSqoBgM3l3dk= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624095852-147c7bc3a1d5/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624102227-e600fedcab06 h1:+RSv62uIC7wsmibsp1XTanQMNznNeOGgPpfhb6ZHT4c= +cloud.o-forge.io/core/oc-lib v0.0.0-20250624102227-e600fedcab06/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/beego/beego/v2 v2.3.1 h1:7MUKMpJYzOXtCUsTEoXOxsDV/UcHw6CPbaWMlthVNsc= github.com/beego/beego/v2 v2.3.1/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4= diff --git a/infrastructure/prometheus.go b/infrastructure/prometheus.go index 14111fa..9af2c33 100644 --- a/infrastructure/prometheus.go +++ b/infrastructure/prometheus.go @@ -15,7 +15,7 @@ import ( "cloud.o-forge.io/core/oc-lib/dbs" "cloud.o-forge.io/core/oc-lib/models/booking" "cloud.o-forge.io/core/oc-lib/models/common/models" - "cloud.o-forge.io/core/oc-lib/models/compute_units" + "cloud.o-forge.io/core/oc-lib/models/live" "github.com/gorilla/websocket" ) @@ -88,7 +88,7 @@ func (p *PrometheusService) Call(book *booking.Booking, user string, peerID stri metrics := map[string]models.MetricsSnapshot{} // get all booking... from executions_id == namespace typed datacenter. - cUAccess := oclib.NewRequest(oclib.LibDataEnum(oclib.COMPUTE_UNITS), user, peerID, groups, nil) + cUAccess := oclib.NewRequest(oclib.LibDataEnum(oclib.LIVE_DATACENTER), user, peerID, groups, nil) cRAccess := oclib.NewRequest(oclib.LibDataEnum(oclib.COMPUTE_RESOURCE), user, peerID, groups, nil) rr := cRAccess.LoadOne(book.ResourceID) @@ -100,7 +100,8 @@ func (p *PrometheusService) Call(book *booking.Booking, user string, peerID stri for _, instance := range computeRes.Instances { res := cUAccess.Search(&dbs.Filters{ And: map[string][]dbs.Filter{ - "source": {{Operator: dbs.EQUAL.String(), Value: instance.Source}}, + "source": {{Operator: dbs.EQUAL.String(), Value: instance.Source}}, + "abstractlive.resources_id": {{Operator: dbs.EQUAL.String(), Value: computeRes.GetID()}}, }, }, "", false) if res.Err != "" { @@ -108,7 +109,7 @@ func (p *PrometheusService) Call(book *booking.Booking, user string, peerID stri } for _, r := range res.Data { // TODO watch out ... to not exec on an absent datacenter... - if r.(*compute_units.ComputeUnits).MonitorPath == "" { + if r.(*live.LiveDatacenter).MonitorPath == "" { continue } wg.Add(1) @@ -117,13 +118,12 @@ func (p *PrometheusService) Call(book *booking.Booking, user string, peerID stri defer wg.Done() for _, expr := range queriesMetrics { snapshot.Metrics = append(snapshot.Metrics, - p.queryPrometheus(r.(*compute_units.ComputeUnits).MonitorPath, expr, book.ExecutionsID)) + p.queryPrometheus(r.(*live.LiveDatacenter).MonitorPath, expr, book.ExecutionsID)) } metrics[instance.Name] = snapshot }() } } - wg.Wait() return book, metrics }