From 4f0ae4e2e5602f99a13c6d1c60be267d5e93bf6b Mon Sep 17 00:00:00 2001 From: Fabian Seidl <fabian.b.seidl@stud.h-da.de> Date: Mon, 18 Jul 2022 11:47:59 +0200 Subject: [PATCH] added delete option for subscribe responses, WIP --- controller/nucleus/gnmi_transport.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go index 4aca2868e..4d8b00496 100644 --- a/controller/nucleus/gnmi_transport.go +++ b/controller/nucleus/gnmi_transport.go @@ -259,8 +259,7 @@ func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_ } //TODO: maybe remove and combine into one function/method! if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil { - log.Error(err) - //TODO: return err here after implementation! + return err } return nil @@ -308,13 +307,18 @@ func handleProcessResponseErrors(errs []error) error { func (g *Gnmi) processResponseDeletes(deletes []*gpb.Path, root ygot.ValidatedGoStruct, s *ytypes.Schema) error { errs := make([]error, 0) - _ = errs + + for _, path := range deletes { + if err := ytypes.DeleteNode(s.RootSchema(), root, path); err != nil { + errs = append(errs, err) + } + } if len(errs) != 0 { return handleProcessResponseErrors(errs) } - return errors.ErrNotYetImplemented{} + return nil } // Capabilities calls GNMI capabilities -- GitLab