Skip to content
Snippets Groups Projects
Commit 4acc92e2 authored by Martin Stiemerling's avatar Martin Stiemerling :speech_balloon:
Browse files

Added an uuidInput parameter to NewDevice and removed NewDeviceWithUUID.

uuidInput must be set to uuid.Nil if no uuid is already present, otherwise use the uuid.
parent 7846be26
No related branches found
No related tags found
6 merge requests!246Develop,!245Develop into Master,!244Master into develop2 into master,!228Merge develop into stmakurz_http_server,!222Added an uuidInput parameter to NewDevice and removed NewDeviceWithUUID.,!138Develop
Pipeline #89456 passed
......@@ -15,48 +15,15 @@ import (
)
// NewDevice creates a Device
func NewDevice(name string, opt *tpb.TransportOption, sbi southbound.SouthboundInterface) (device.Device, error) {
func NewDevice(name string, uuidInput uuid.UUID, opt *tpb.TransportOption, sbi southbound.SouthboundInterface) (device.Device, error) {
t, err := NewTransport(opt, sbi)
if err != nil {
return nil, err
}
if name == "" {
name = namesgenerator.GetRandomName(0)
}
root, err := ygot.DeepCopy(sbi.Schema().Root)
if err != nil {
return nil, err
}
if opt.Type == spb.Type_CONTAINERISED {
return &CsbiDevice{
CommonDevice: CommonDevice{
UUID: uuid.New(),
GoStruct: root,
sbi: sbi,
transport: t,
name: name,
transportOptions: opt,
},
}, nil
}
return &CommonDevice{
UUID: uuid.New(),
GoStruct: root,
sbi: sbi,
transport: t,
name: name,
transportOptions: opt,
}, nil
}
// NewDeviceWithUUID creates a Device with a provided UUID
func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sbi southbound.SouthboundInterface) (device.Device, error) {
t, err := NewTransport(opt, sbi)
if err != nil {
return nil, err
// TODO: this needs to check the case that the uuidInput is set, as the same uuid may be already stored.
if uuidInput == uuid.Nil {
uuidInput = uuid.New()
}
if name == "" {
......@@ -70,7 +37,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb
if opt.Type == spb.Type_CONTAINERISED {
return &CsbiDevice{
CommonDevice: CommonDevice{
UUID: uuid,
UUID: uuidInput,
GoStruct: root,
sbi: sbi,
transport: t,
......@@ -81,7 +48,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb
}
return &CommonDevice{
UUID: uuid,
UUID: uuidInput,
GoStruct: root,
sbi: sbi,
transport: t,
......
......@@ -99,7 +99,7 @@ func TestNewDevice(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
resp, err := NewDevice(tt.args.name, tt.args.opts, tt.args.sbi)
resp, err := NewDevice(tt.args.name, uuid.Nil, tt.args.opts, tt.args.sbi)
if (err != nil) != tt.wantErr {
t.Errorf("NewDevice() error = %v, wantErr %v", err, tt.wantErr)
return
......
......@@ -173,7 +173,7 @@ func (pnd *pndImplementation) AddDevice(name string, opt *tpb.TransportOption, s
}
}
d, err := NewDevice(name, opt, sbi)
d, err := NewDevice(name, uuid.Nil, opt, sbi)
if err != nil {
return err
}
......@@ -191,7 +191,7 @@ func (pnd *pndImplementation) AddDeviceFromStore(name string, deviceUUID uuid.UU
return err
}
d, err := NewDeviceWithUUID(name, deviceUUID, opt, sbi)
d, err := NewDevice(name, deviceUUID, opt, sbi)
if err != nil {
return err
}
......@@ -444,7 +444,7 @@ func (pnd *pndImplementation) createCsbiDevice(ctx context.Context, name string,
TransportOption: opt.TransportOption,
}
log.WithField("transport option", csbiTransportOptions).Debug("gosdn gnmi transport options")
d, err := NewDevice(name, csbiTransportOptions, csbi)
d, err := NewDevice(name, uuid.Nil, csbiTransportOptions, csbi)
if err != nil {
panic(err)
}
......
......@@ -676,7 +676,7 @@ func Test_pndImplementation_ChangeOND(t *testing.T) {
func Test_pndImplementation_GetDevice(t *testing.T) {
pnd := newPnd()
sbi := NewSBI(spb.Type_OPENCONFIG)
d, err := NewDevice("", newGnmiTransportOptions(), sbi)
d, err := NewDevice("", uuid.Nil, newGnmiTransportOptions(), sbi)
if err != nil {
t.Error(err)
return
......@@ -726,7 +726,7 @@ func Test_pndImplementation_GetDevice(t *testing.T) {
func Test_pndImplementation_GetDeviceByName(t *testing.T) {
p := newPnd()
sbi := NewSBI(spb.Type_OPENCONFIG)
d, err := NewDevice("my-device", newGnmiTransportOptions(), sbi)
d, err := NewDevice("my-device", uuid.Nil, newGnmiTransportOptions(), sbi)
if err != nil {
t.Error(err)
return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment