Skip to content
Snippets Groups Projects

Change the current gosdn plugin implementation from Go's internal plugin system to hashicorp's go-plugins

Merged Ghost User requested to merge mb/plugin-registry-hashicorp-go-plugin into develop
5 files
+ 82
70
Compare changes
  • Side-by-side
  • Inline
Files
5
@@ -20,8 +20,8 @@ import (
eventservice "code.fbi.h-da.de/danet/gosdn/controller/eventService"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkdomain"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/plugin"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/rbac"
"code.fbi.h-da.de/danet/gosdn/controller/interfaces/southbound"
"code.fbi.h-da.de/danet/gosdn/controller/mocks"
nbi "code.fbi.h-da.de/danet/gosdn/controller/northbound/server"
"code.fbi.h-da.de/danet/gosdn/controller/nucleus"
@@ -59,7 +59,7 @@ const mneID = "7e0ed8cc-ebf5-46fa-9794-741494914883"
var pndStore networkdomain.PndStore
var userService rbac.UserService
var roleService rbac.RoleService
var sbiStore southbound.Store
var pluginStore plugin.Store
var lis *bufconn.Listener
var pndUUID uuid.UUID
var sbiUUID uuid.UUID
@@ -95,7 +95,6 @@ func bootstrapUnitTest() {
eventService := eventservice.NewMockEventService()
pndStore = nucleus.NewMemoryPndStore()
sbiStore = nucleus.NewMemorySbiStore()
userService = rbacImpl.NewUserService(rbacImpl.NewMemoryUserStore(), eventService)
roleService = rbacImpl.NewRoleService(rbacImpl.NewMemoryRoleStore(), eventService)
if err := clearAndCreateAuthTestSetup(); err != nil {
@@ -123,12 +122,12 @@ func bootstrapUnitTest() {
},
})
plugin := &mocks.Plugin{}
pluginMock := &mocks.Plugin{}
mockNetworkElement := &mocks.NetworkElement{}
mockNetworkElement.On("Plugin").Return(plugin)
mockNetworkElement.On("Plugin").Return(pluginMock)
mockNetworkElement.On("ID").Return(mneUUID)
mockNetworkElement.On("GetModel").Return(plugin.Model())
mockNetworkElement.On("GetModel").Return(pluginMock.Model())
mockNetworkElement.On("Name").Return("openconfig")
mockNetworkElement.On("TransportAddress").Return("127.0.0.1:6030")
mockNetworkElement.On("GetMetadata").Return(conflict.Metadata{ResourceVersion: 0})
@@ -172,6 +171,9 @@ func bootstrapUnitTest() {
routeStore := store.NewGenericStore[routingtables.RoutingTable]()
routeService := routingtables.NewRoutingTableService(routeStore, nodeService, portService, eventService)
pluginStore = nucleus.NewMemoryPluginStore()
pluginService := nucleus.NewPluginService(pluginStore, eventService)
northbound := nbi.NewNBI(
pndStore,
userService,
@@ -182,6 +184,7 @@ func bootstrapUnitTest() {
portService,
routeService,
appService,
pluginService,
rpb.NewPluginRegistryServiceClient(&grpc.ClientConn{}),
csbi.NewCsbiServiceClient(&grpc.ClientConn{}),
func(u uuid.UUID, c chan networkelement.Details) {},
Loading