From 5c29fd8aa3eedd722255da702cf045149891b9b6 Mon Sep 17 00:00:00 2001 From: "S.H." <sebastian.heiss94@proton.me> Date: Tue, 8 Apr 2025 11:13:45 +0200 Subject: [PATCH] rename InitEventSystem() to InitEventSystemRealnet() --- applications/rtdt-manager/main.go | 2 +- .../rtdt-manager/rtdt-manager/rtdt-manager.go | 30 ++++++++----------- applications/rtdt-manager/venv/venv.go | 2 +- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/applications/rtdt-manager/main.go b/applications/rtdt-manager/main.go index 1983201e2..9d1b119eb 100644 --- a/applications/rtdt-manager/main.go +++ b/applications/rtdt-manager/main.go @@ -73,7 +73,7 @@ func main() { return } - err = rtdtMan.InitEventSystem() + err = rtdtMan.InitEventSystemRealnet() if err != nil { fmt.Printf("In main(): %v\n", err) return diff --git a/applications/rtdt-manager/rtdt-manager/rtdt-manager.go b/applications/rtdt-manager/rtdt-manager/rtdt-manager.go index 075b7fbee..00e520340 100644 --- a/applications/rtdt-manager/rtdt-manager/rtdt-manager.go +++ b/applications/rtdt-manager/rtdt-manager/rtdt-manager.go @@ -262,7 +262,7 @@ func (r *RtdtManager) Run() error { select { // idea: make channels for different events? case stop := <-r.stopChan: - fmt.Print("Stop routine triggered!\n") + fmt.Printf("Exiting rtdt-manager, trying to gracefully shutdown any launched containerlab environments..\n") // this takes full path now for _, twin := range r.rtdt_twins { twin_path := twin.GetClabFilePath() @@ -317,7 +317,6 @@ func (r *RtdtManager) Run() error { fmt.Printf("Launching benchmark!\n") r.RunBenchmark0() case "exit", "quit": - fmt.Printf("Exiting rtdt-manager!\n") close(r.stopChan) return case "help": @@ -336,7 +335,7 @@ func (r *RtdtManager) Run() error { } // Receive events from realnet VEnv -func (r *RtdtManager) InitEventSystem() error { +func (r *RtdtManager) InitEventSystemRealnet() error { fmt.Println("Starting Event System for realnet!") // realnet_auth := r.realnet.GetAuth() // ctx := realnet_auth.CreateContextWithAuthorization() @@ -364,10 +363,10 @@ func (r *RtdtManager) InitEventSystem() error { // Can have different callback per type per topic (e.g. adding mne or updating mne) eventServiceMNE.SubscribeToEventType([]event.TypeToCallbackTuple{ - {Type: event.Type(event.Update), Callback: r.updateMNECallback}, - {Type: event.Type(event.Add), Callback: r.updateMNECallback}, - {Type: event.Type(event.Delete), Callback: r.updateMNECallback}, - {Type: event.Type(event.Subscribe), Callback: r.updateMNECallback}, + {Type: event.Type(event.Update), Callback: r.updateMNECallbackRealnet}, + {Type: event.Type(event.Add), Callback: r.updateMNECallbackRealnet}, + {Type: event.Type(event.Delete), Callback: r.updateMNECallbackRealnet}, + {Type: event.Type(event.Subscribe), Callback: r.updateMNECallbackRealnet}, }) eventServiceUser.SubscribeToEventType([]event.TypeToCallbackTuple{ {Type: event.Type(event.Update), Callback: r.userEventCallback}, @@ -383,7 +382,7 @@ func (r *RtdtManager) InitEventSystem() error { return nil } -func (r *RtdtManager) updateMNECallback(event *event.Event) { +func (r *RtdtManager) updateMNECallbackRealnet(event *event.Event) { fmt.Println("--------------------------------") fmt.Println("---------- MNE EVENT -----------") fmt.Println("EventID: ", event.ID.ID()) @@ -410,20 +409,12 @@ func (r *RtdtManager) updateMNECallback(event *event.Event) { // Test if the path is supported first, only set Gnmi Paths I actually want to be able to set for now for path, value := range event.PathsAndValuesMap { - //gnmiPath, err := ygot.StringToStructuredPath(path) - // if err != nil { - // fmt.Printf("Error: %v\n", err) - // } - // Based on EntityID, get the gnmi target from twin's ClabConfig // First get hostname of realnet node - fmt.Println("----GOT HERE0----") - //realnetNode := r.realnet.GetTopology().GetNodeByUUID(event.EntityID.String()) realnetNode := r.realnet.GetSdnConfig().GetNodeByUUID(event.EntityID.String()) - fmt.Println("----GOT HERE1----") // Get the ID of parallel mne in twin network - // parallel nodes are nodes that have the same name + // parallel nodes are nodes that have the same name in twin and realnet var twinEntityID string for _, node := range twin.GetSdnConfig().Nodes { if strings.HasPrefix(node.Name, realnetNode.Name) { @@ -470,6 +461,7 @@ func (r *RtdtManager) updateMNECallback(event *event.Event) { } } } + func (r *RtdtManager) userEventCallback(event *event.Event) { fmt.Println("--------------------------------") fmt.Println("---------- USER EVENT ----------") @@ -477,3 +469,7 @@ func (r *RtdtManager) userEventCallback(event *event.Event) { fmt.Println("Event Type: ", event.Type) fmt.Println("PathsAndValuesMap: ", event.PathsAndValuesMap) } + +func (r *RtdtManager) updateMneCallbackTwin(event *event.Event) { + +} diff --git a/applications/rtdt-manager/venv/venv.go b/applications/rtdt-manager/venv/venv.go index 0c2caecb0..3113f298e 100644 --- a/applications/rtdt-manager/venv/venv.go +++ b/applications/rtdt-manager/venv/venv.go @@ -219,7 +219,7 @@ func (v *VEnv) ApplyRoutes() error { return nil } -// TODO: Fix hardcoded IP addresses +// TODO: Fix hardcoded IP addresses, Not used func (v *VEnv) UploadTopology() error { conn := v.auth.GetConn() topoService := topoPb.NewTopologyServiceClient(conn) -- GitLab