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

Merge branch '153-same-ond-fix' into 'develop'

Added an uuidInput parameter to NewDevice and removed NewDeviceWithUUID.

See merge request !222
parents 7846be26 4acc92e2
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 #89665 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