Skip to content
Snippets Groups Projects

Enable export and import of SDN configuration

Merged Ghost User requested to merge export-import-sdn-config into develop
4 files
+ 56
5
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -8,6 +8,7 @@ import (
"strings"
"time"
configMgmtPb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/configurationmanagement"
corePb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/core"
networkelementPb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/networkelement"
pndPb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd"
@@ -82,6 +83,45 @@ func (v *VenvManager) TestConnection() error {
return nil
}
// CreateTopologyFile creates the topology file.
func (v *VenvManager) CreateSDNConfigFile() error {
sdnConfigReponse, err := v.getSDNConfigData()
if err != nil {
return err
}
fmt.Println(sdnConfigReponse)
return nil
}
func (v *VenvManager) getSDNConfigData() (*string, error) {
conn, err := v.createConnection()
if err != nil {
return nil, err
}
defer v.closeConnection(conn)
ctx := context.Background()
//get PND, might remove later because we won't support PND in the future
coreService := corePb.NewCoreServiceClient(conn)
pndRes, err := coreService.GetPndList(ctx, &corePb.GetPndListRequest{Timestamp: getTimestamp()})
if err != nil {
return nil, err
}
v.pnd = pndRes.Pnd[0].Id
configMgmtService := configMgmtPb.NewConfigurationManagementServiceClient(conn)
sdnConfigResponse, err := configMgmtService.ExportSDNConfig(ctx, &configMgmtPb.ExportSDNConfigRequest{Timestamp: getTimestamp(), Pid: v.pnd})
if err != nil {
return nil, err
}
return &sdnConfigResponse.SdnConfig, nil
}
// CreateTopologyFile creates the topology file.
func (v *VenvManager) CreateTopologyFile() error {
topologyData, err := v.getTopologyData()
Loading