diff --git a/controller/northbound/server/configurationmanagement.go b/controller/northbound/server/configurationmanagement.go index 7dd74e3cc851eabd66ae09c30166ca7a1dda0811..ebe8436db8457ad8c095a9a759078729a2db8f0d 100644 --- a/controller/northbound/server/configurationmanagement.go +++ b/controller/northbound/server/configurationmanagement.go @@ -337,6 +337,10 @@ func (c ConfigurationManagementServer) createNetworkElements(sdnConfig *loadedSD return err } + if err := c.pluginService.Add(plugin); err != nil { + return err + } + err = c.mneService.UpdateModel(createdNetworkElement.ID(), inputNetworkElement.Model) if err != nil { return err diff --git a/controller/northbound/server/networkElement.go b/controller/northbound/server/networkElement.go index 1528f7514638f0cad0540205ef70fc1044f61e9e..7455a040c5b6403cd1c4f0804ddf103cf4a552a8 100644 --- a/controller/northbound/server/networkElement.go +++ b/controller/northbound/server/networkElement.go @@ -707,25 +707,6 @@ func (n *NetworkElementServer) SetMneList(ctx context.Context, request *mnepb.Se func (n *NetworkElementServer) addMne(ctx context.Context, name string, opt *tpb.TransportOption, requestPluginFunc func(uuid.UUID) (plugin.Plugin, error), pluginID uuid.UUID, pndID uuid.UUID, optionalNetworkElementID ...uuid.UUID) (uuid.UUID, error) { var err error - // Note: cSBI not supported currently, so this is commented fow now. - // Might be needed or removed in the future. - // - // switch t := opt.Type; t { - // case spb.Type_TYPE_CONTAINERISED: - // return n.handleCsbiEnrolment(name, opt) - // case spb.Type_TYPE_PLUGIN: - // sbi, err = n.requestPlugin(name, opt) - // if err != nil { - // return uuid.Nil, err - // } - // default: - // var err error - // sbi, err = pnd.southboundService.Get(store.Query{ID: sid}) - // if err != nil { - // return uuid.Nil, err - // } - // } - networkElementID := uuid.Nil if len(optionalNetworkElementID) > 0 { networkElementID = optionalNetworkElementID[0] @@ -761,6 +742,11 @@ func (n *NetworkElementServer) addMne(ctx context.Context, name string, opt *tpb return uuid.Nil, err } + err = n.pluginService.Add(plugin) + if err != nil { + return uuid.Nil, err + } + n.networkElementWatchter.SubscribeToNetworkElement(mne, config.GetGnmiSubscriptionPaths(), nil) } else { return uuid.Nil, status.Errorf(codes.InvalidArgument, "invalid transport data provided") diff --git a/controller/nucleus/pluginService.go b/controller/nucleus/pluginService.go index ed7a7ab689cd65e1c7f8ae408de107812a1f454b..4b041518174b082d70590b5f2dfdfeb0cdf3c3bf 100644 --- a/controller/nucleus/pluginService.go +++ b/controller/nucleus/pluginService.go @@ -167,10 +167,6 @@ func (s *PluginService) RequestPlugin(requestID uuid.UUID) (plugin.Plugin, error return nil, err } - if err := s.Add(plugin); err != nil { - return nil, err - } - return plugin, nil }