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 ( ...@@ -15,48 +15,15 @@ import (
) )
// NewDevice creates a Device // 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) t, err := NewTransport(opt, sbi)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if name == "" { // TODO: this needs to check the case that the uuidInput is set, as the same uuid may be already stored.
name = namesgenerator.GetRandomName(0) if uuidInput == uuid.Nil {
} uuidInput = uuid.New()
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
} }
if name == "" { if name == "" {
...@@ -70,7 +37,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb ...@@ -70,7 +37,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb
if opt.Type == spb.Type_CONTAINERISED { if opt.Type == spb.Type_CONTAINERISED {
return &CsbiDevice{ return &CsbiDevice{
CommonDevice: CommonDevice{ CommonDevice: CommonDevice{
UUID: uuid, UUID: uuidInput,
GoStruct: root, GoStruct: root,
sbi: sbi, sbi: sbi,
transport: t, transport: t,
...@@ -81,7 +48,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb ...@@ -81,7 +48,7 @@ func NewDeviceWithUUID(name string, uuid uuid.UUID, opt *tpb.TransportOption, sb
} }
return &CommonDevice{ return &CommonDevice{
UUID: uuid, UUID: uuidInput,
GoStruct: root, GoStruct: root,
sbi: sbi, sbi: sbi,
transport: t, transport: t,
......
...@@ -99,7 +99,7 @@ func TestNewDevice(t *testing.T) { ...@@ -99,7 +99,7 @@ func TestNewDevice(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { 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 { if (err != nil) != tt.wantErr {
t.Errorf("NewDevice() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("NewDevice() error = %v, wantErr %v", err, tt.wantErr)
return return
......
...@@ -173,7 +173,7 @@ func (pnd *pndImplementation) AddDevice(name string, opt *tpb.TransportOption, s ...@@ -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 { if err != nil {
return err return err
} }
...@@ -191,7 +191,7 @@ func (pnd *pndImplementation) AddDeviceFromStore(name string, deviceUUID uuid.UU ...@@ -191,7 +191,7 @@ func (pnd *pndImplementation) AddDeviceFromStore(name string, deviceUUID uuid.UU
return err return err
} }
d, err := NewDeviceWithUUID(name, deviceUUID, opt, sbi) d, err := NewDevice(name, deviceUUID, opt, sbi)
if err != nil { if err != nil {
return err return err
} }
...@@ -444,7 +444,7 @@ func (pnd *pndImplementation) createCsbiDevice(ctx context.Context, name string, ...@@ -444,7 +444,7 @@ func (pnd *pndImplementation) createCsbiDevice(ctx context.Context, name string,
TransportOption: opt.TransportOption, TransportOption: opt.TransportOption,
} }
log.WithField("transport option", csbiTransportOptions).Debug("gosdn gnmi transport options") 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 { if err != nil {
panic(err) panic(err)
} }
......
...@@ -676,7 +676,7 @@ func Test_pndImplementation_ChangeOND(t *testing.T) { ...@@ -676,7 +676,7 @@ func Test_pndImplementation_ChangeOND(t *testing.T) {
func Test_pndImplementation_GetDevice(t *testing.T) { func Test_pndImplementation_GetDevice(t *testing.T) {
pnd := newPnd() pnd := newPnd()
sbi := NewSBI(spb.Type_OPENCONFIG) sbi := NewSBI(spb.Type_OPENCONFIG)
d, err := NewDevice("", newGnmiTransportOptions(), sbi) d, err := NewDevice("", uuid.Nil, newGnmiTransportOptions(), sbi)
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
...@@ -726,7 +726,7 @@ func Test_pndImplementation_GetDevice(t *testing.T) { ...@@ -726,7 +726,7 @@ func Test_pndImplementation_GetDevice(t *testing.T) {
func Test_pndImplementation_GetDeviceByName(t *testing.T) { func Test_pndImplementation_GetDeviceByName(t *testing.T) {
p := newPnd() p := newPnd()
sbi := NewSBI(spb.Type_OPENCONFIG) sbi := NewSBI(spb.Type_OPENCONFIG)
d, err := NewDevice("my-device", newGnmiTransportOptions(), sbi) d, err := NewDevice("my-device", uuid.Nil, newGnmiTransportOptions(), sbi)
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment