diff --git a/.golangci.yml b/.golangci.yml index 9b743a6ea6330ad14659f5117ba01bb2a9987a20..2141fe8030ba212bcf2a72c1dd7b5096475b6a01 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -33,7 +33,7 @@ issues: linters: # enable the specific needed linters # see here for full list: https://golangci-lint.run/usage/linters/ - # linters to consider: gosimple, containedctx, contextcheck, depguard, errchkjson, errname, exhaustive, exhaustruct, forbidigo, + # linters to consider: gosimple, containedctx, contextcheck, depguard, errchkjson, exhaustive, exhaustruct, forbidigo, # gochecknoinits, gocognit, goconst, gocritic, gofumpt, gomnd, gosec, importas, lll, nestif, nilerr, nlreturn, noctx, nolintlint, # nosnakecase, paralleltest, prealloc, structcheck, testpackage, tparallel, unparam, wastedassign, wrapcheck, wsl disable-all: true @@ -61,6 +61,7 @@ linters: - nilnil - predeclared - godot + - errname # custom settings for linters linters-settings: diff --git a/cli/adapter/PndAdapter.go b/cli/adapter/PndAdapter.go index 0cf7996831ddf2db56a67f5865247d362592e63f..1796f9636ded8b940c22fb42dd8a3de005fba8a7 100644 --- a/cli/adapter/PndAdapter.go +++ b/cli/adapter/PndAdapter.go @@ -37,12 +37,12 @@ func NewPndAdapter(id, endpoint string) (*PndAdapter, error) { // AddSbi adds an SBI to the PND Adapter. Currently not implemented. func (p *PndAdapter) AddSbi(s southbound.SouthboundInterface) error { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } // RemoveSbi removes an SBI from the PND Adapter. Currently not implemented. func (p *PndAdapter) RemoveSbi(uuid.UUID) error { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } // AddDevice adds a new device to the controller. The device name is optional. diff --git a/controller/eventService/Service.go b/controller/eventService/Service.go index cdf4aaad7ee16d97c06d2f9f6ddcca3c512247be..d9df91503a998f2311987663ef1abbc96db5d427 100644 --- a/controller/eventService/Service.go +++ b/controller/eventService/Service.go @@ -29,12 +29,12 @@ func NewEventService() (interfaces.Service, error) { conn, err := amqp.Dial(amqpURIBuilder(config.AMQPPrefix, config.AMQPUser, config.AMQPPassword, config.AMQPHost, config.AMQPPort)) if err != nil { - return nil, &errors.ErrAMQPInitFail{Action: "failed to connect to RabbitMQ", Err: err} + return nil, &errors.AMQPInitFailError{Action: "failed to connect to RabbitMQ", Err: err} } ch, err := conn.Channel() if err != nil { - return nil, &errors.ErrAMQPInitFail{Action: "failed to open a channel", Err: err} + return nil, &errors.AMQPInitFailError{Action: "failed to open a channel", Err: err} } return &EventService{ @@ -54,12 +54,12 @@ func (e *EventService) PublishEvent(topic string, event event.Event) error { nil, // arguments ) if err != nil { - return &errors.ErrAMQPInitFail{Action: "failed declaring queue", Err: err} + return &errors.AMQPInitFailError{Action: "failed declaring queue", Err: err} } eventBody, err := json.Marshal(event) if err != nil { - return &errors.ErrCouldNotMarshall{Identifier: topic + " " + event.EntityID.String(), Type: event.Type, Err: err} + return &errors.CouldNotMarshallError{Identifier: topic + " " + event.EntityID.String(), Type: event.Type, Err: err} } err = e.channel.PublishWithContext( @@ -73,7 +73,7 @@ func (e *EventService) PublishEvent(topic string, event event.Event) error { Body: eventBody, }) if err != nil { - return &errors.ErrAMQPMessageFail{Action: "failed to publish message", Err: err} + return &errors.AMQPMessageFailError{Action: "failed to publish message", Err: err} } return nil diff --git a/controller/interfaces/plugin/plugin.go b/controller/interfaces/plugin/plugin.go index 9dcae112198986d0e04f51ece22678a5fb669957..04db10fcbb62c15747c3d3dd915e73a823524511 100644 --- a/controller/interfaces/plugin/plugin.go +++ b/controller/interfaces/plugin/plugin.go @@ -78,7 +78,7 @@ func (m *Manifest) Validate() error { errs = append(errs, fmt.Errorf("Version has to be of form: vX.X.X")) } if len(errs) != 0 { - return errors.ErrorList{Errors: errs} + return errors.CombinedErrListError{Errors: errs} } return nil } diff --git a/controller/northbound/server/pnd.go b/controller/northbound/server/pnd.go index 3805364c171aecda96454fa7e62bfb300c8506a1..88796bad407eeec48a62b32cfe1654e58a6492ec 100644 --- a/controller/northbound/server/pnd.go +++ b/controller/northbound/server/pnd.go @@ -443,7 +443,7 @@ func fillChanges(pnd networkdomain.NetworkDomain, all bool, cuid ...string) ([]* default: var err error if len(cuid) == 0 { - return nil, &errors.ErrInvalidParameters{ + return nil, &errors.InvalidParametersError{ Func: fillChanges, Param: "length of 'did' cannot be '0' when 'all' is set to 'false'", } @@ -556,7 +556,7 @@ func (p PndServer) SetChangeList(ctx context.Context, request *ppb.SetChangeList return nil, status.Errorf(codes.Aborted, "%v", err) } default: - return nil, &errors.ErrInvalidParameters{ + return nil, &errors.InvalidParametersError{ Param: r.Op, } } diff --git a/controller/nucleus/databaseDeviceStore.go b/controller/nucleus/databaseDeviceStore.go index a7664706c391a2de8e0e4593cc71b360dea40a8b..b728c5d748399e873980ed877780e521370e3605 100644 --- a/controller/nucleus/databaseDeviceStore.go +++ b/controller/nucleus/databaseDeviceStore.go @@ -61,13 +61,13 @@ func (s *DatabaseDeviceStore) getByID(idOfDevice uuid.UUID) (loadedDevice device collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idOfDevice.String()}}) if result == nil { - return loadedDevice, errors.ErrCouldNotFind{ID: idOfDevice} + return loadedDevice, errors.CouldNotFindError{ID: idOfDevice} } err = result.Decode(&loadedDevice) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedDevice, errors.ErrCouldNotMarshall{Identifier: idOfDevice, Type: loadedDevice, Err: err} + return loadedDevice, errors.CouldNotMarshallError{Identifier: idOfDevice, Type: loadedDevice, Err: err} } return loadedDevice, nil @@ -86,13 +86,13 @@ func (s *DatabaseDeviceStore) getByName(nameOfDevice string) (loadedDevice devic collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfDevice}}) if result == nil { - return loadedDevice, errors.ErrCouldNotFind{Name: nameOfDevice} + return loadedDevice, errors.CouldNotFindError{Name: nameOfDevice} } err = result.Decode(&loadedDevice) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedDevice, errors.ErrCouldNotMarshall{Identifier: nameOfDevice, Type: loadedDevice, Err: err} + return loadedDevice, errors.CouldNotMarshallError{Identifier: nameOfDevice, Type: loadedDevice, Err: err} } return loadedDevice, nil @@ -127,7 +127,7 @@ func (s *DatabaseDeviceStore) GetAll() (loadedDevices []device.LoadedDevice, err if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Type: loadedDevices, Err: err} + return nil, errors.CouldNotMarshallError{Type: loadedDevices, Err: err} } return loadedDevices, nil @@ -149,7 +149,7 @@ func (s *DatabaseDeviceStore) Add(deviceToAdd device.Device) (err error) { InsertOne(ctx, deviceToAdd) if err != nil { log.Printf("Could not create Device: %v", err) - return errors.ErrCouldNotCreate{Identifier: deviceToAdd.ID(), Type: deviceToAdd, Err: err} + return errors.CouldNotCreateError{Identifier: deviceToAdd.ID(), Type: deviceToAdd, Err: err} } return nil @@ -185,7 +185,7 @@ func (s *DatabaseDeviceStore) Update(deviceToUpdate device.Device) (err error) { if err != nil { log.Printf("Could not update Device: %v", err) - return errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err} + return errors.CouldNotUpdateError{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err} } return nil @@ -206,7 +206,7 @@ func (s *DatabaseDeviceStore) Delete(deviceToDelete device.Device) (err error) { collection := db.Collection(s.storeName) _, err = collection.DeleteOne(ctx, bson.D{primitive.E{Key: deviceToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err} + return errors.CouldNotDeleteError{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err} } return nil diff --git a/controller/nucleus/databasePndStore.go b/controller/nucleus/databasePndStore.go index 6a8ca96036f1b4884c2001840620f8c528f90db2..03fb9c8584598dec3e32e1eca027d6dc1f8d7ff5 100644 --- a/controller/nucleus/databasePndStore.go +++ b/controller/nucleus/databasePndStore.go @@ -43,14 +43,14 @@ func (s *DatabasePndStore) Get(query store.Query) (newPnd networkdomain.NetworkD collection := db.Collection(s.pndStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: query.ID.String()}}) if result == nil { - return nil, errors.ErrCouldNotFind{ID: query.ID} + return nil, errors.CouldNotFindError{ID: query.ID} } err = result.Decode(&loadedPND) if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedPND, Err: err} + return nil, errors.CouldNotMarshallError{Identifier: query.ID, Type: loadedPND, Err: err} } csbiClient, err := s.getCsbiClient() @@ -103,7 +103,7 @@ func (s *DatabasePndStore) GetAll() (pnds []networkdomain.NetworkDomain, err err if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Type: loadedPnds, Err: err} + return nil, errors.CouldNotMarshallError{Type: loadedPnds, Err: err} } csbiClient, err := s.getCsbiClient() @@ -144,7 +144,7 @@ func (s *DatabasePndStore) Add(pndToAdd networkdomain.NetworkDomain) (err error) Collection(s.pndStoreName). InsertOne(ctx, pndToAdd) if err != nil { - return errors.ErrCouldNotCreate{Identifier: pndToAdd.ID(), Type: pndToAdd, Err: err} + return errors.CouldNotCreateError{Identifier: pndToAdd.ID(), Type: pndToAdd, Err: err} } return nil @@ -165,7 +165,7 @@ func (s *DatabasePndStore) Delete(pndToDelete networkdomain.NetworkDomain) (err collection := db.Collection(s.pndStoreName) _, err = collection.DeleteOne(ctx, bson.D{primitive.E{Key: pndToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err} + return errors.CouldNotDeleteError{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err} } // TODO: Delete all assosicated devices + SBIs @@ -178,7 +178,7 @@ func (s *DatabasePndStore) Delete(pndToDelete networkdomain.NetworkDomain) (err func (s *DatabasePndStore) PendingChannels(id uuid.UUID, parseErrors ...error) (chan device.Details, error) { ch, ok := s.pendingChannels[id] if !ok { - return nil, &errors.ErrCouldNotFind{ID: id} + return nil, &errors.CouldNotFindError{ID: id} } return ch, nil } diff --git a/controller/nucleus/databaseSbiStore.go b/controller/nucleus/databaseSbiStore.go index 77e4d4d332b37ffc00d3e048829360ac440838e7..6e41b167e1f07a32e766e4498a8cf48a752d3994 100644 --- a/controller/nucleus/databaseSbiStore.go +++ b/controller/nucleus/databaseSbiStore.go @@ -38,7 +38,7 @@ func (s *DatabaseSbiStore) Add(sbiToAdd southbound.SouthboundInterface) (err err return nil } - return errors.ErrCouldNotCreate{Identifier: sbiToAdd.ID(), Type: sbiToAdd, Err: err} + return errors.CouldNotCreateError{Identifier: sbiToAdd.ID(), Type: sbiToAdd, Err: err} } return nil @@ -59,7 +59,7 @@ func (s *DatabaseSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) (e Collection(s.sbiStoreName). DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: sbiToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err} + return errors.CouldNotDeleteError{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err} } return nil @@ -83,14 +83,14 @@ func (s *DatabaseSbiStore) Get(query store.Query) (loadedSbi southbound.LoadedSb collection := db.Collection(s.sbiStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: query.ID.String()}}) if result == nil { - return loadedSbi, errors.ErrCouldNotFind{ID: query.ID} + return loadedSbi, errors.CouldNotFindError{ID: query.ID} } err = result.Decode(&loadedSbi) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedSbi, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedSbi, Err: err} + return loadedSbi, errors.CouldNotMarshallError{Identifier: query.ID, Type: loadedSbi, Err: err} } return loadedSbi, nil @@ -124,7 +124,7 @@ func (s *DatabaseSbiStore) GetAll() (loadedSbis []southbound.LoadedSbi, err erro if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Type: loadedSbis, Err: err} + return nil, errors.CouldNotMarshallError{Type: loadedSbis, Err: err} } return loadedSbis, nil diff --git a/controller/nucleus/device.go b/controller/nucleus/device.go index ae4057eccd389a94aeeadb4559150444e7234b3e..a3adb766ed0b48cbfd85470bc19126a76c752ef2 100644 --- a/controller/nucleus/device.go +++ b/controller/nucleus/device.go @@ -42,7 +42,7 @@ func NewDevice(name string, uuidInput uuid.UUID, opt *tpb.TransportOption, sbi s } ygotDeepCopy, ok := root.(ygot.GoStruct) if !ok { - return nil, &errors.ErrInvalidTypeAssertion{ + return nil, &errors.InvalidTypeAssertionError{ Value: root, Type: (*ygot.ValidatedGoStruct)(nil), } @@ -200,7 +200,7 @@ func createValidatedCopy(d device.Device) (ygot.ValidatedGoStruct, error) { validatedCpy, ok := cpy.(ygot.ValidatedGoStruct) if !ok { - return nil, errors.ErrInvalidTypeAssertion{ + return nil, errors.InvalidTypeAssertionError{ Value: validatedCpy, Type: (*ygot.ValidatedGoStruct)(nil), } diff --git a/controller/nucleus/deviceFilesystemStore.go b/controller/nucleus/deviceFilesystemStore.go index ec10e84682ab6684ff39e6bdc8c1d95dde6eb747..d519d149f5bb0602177c86cc9597f68ea4d5e5a7 100644 --- a/controller/nucleus/deviceFilesystemStore.go +++ b/controller/nucleus/deviceFilesystemStore.go @@ -81,7 +81,7 @@ func (s *FilesystemDeviceStore) Get(query store.Query) (device.LoadedDevice, err } } - return device, &errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return device, &errors.CouldNotFindError{ID: query.ID, Name: query.Name} } // GetAll returns all stored devices. @@ -146,7 +146,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error { } } - return &errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err} + return &errors.CouldNotUpdateError{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err} } // Delete deletes a device from the device store. @@ -174,5 +174,5 @@ func (s *FilesystemDeviceStore) Delete(deviceToDelete device.Device) error { } } - return &errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err} + return &errors.CouldNotDeleteError{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err} } diff --git a/controller/nucleus/deviceWatcher.go b/controller/nucleus/deviceWatcher.go index d6326e43a54e48ef378c05985380358d37023cec..1f6f2154bab5cd8c0f04c31446dc359a64a41c53 100644 --- a/controller/nucleus/deviceWatcher.go +++ b/controller/nucleus/deviceWatcher.go @@ -121,7 +121,7 @@ func (d *DeviceWatcher) StopAndRemoveDeviceSubscription(subID uuid.UUID) { func (d *DeviceWatcher) handleSubscribeResponse(resp *gpb.SubscribeResponse, subscriptionInfo *transport.SubscriptionInformation) { switch resp := resp.Response.(type) { case *gpb.SubscribeResponse_Error: - log.Error(&errors.ErrSubscribeResponse{ + log.Error(&errors.SubscribeResponseError{ PndID: subscriptionInfo.PndID, DeviceID: subscriptionInfo.DeviceID, DeviceName: subscriptionInfo.DeviceName, @@ -129,7 +129,7 @@ func (d *DeviceWatcher) handleSubscribeResponse(resp *gpb.SubscribeResponse, sub }) case *gpb.SubscribeResponse_SyncResponse: if !resp.SyncResponse { - log.Error(&errors.ErrSubscribeSyncResponse{ + log.Error(&errors.SubscribeSyncResponseError{ PndID: subscriptionInfo.PndID, DeviceID: subscriptionInfo.DeviceID, DeviceName: subscriptionInfo.DeviceName, diff --git a/controller/nucleus/errors/errors.go b/controller/nucleus/errors/errors.go index 483f4af8f3ac56f4956628b4457288a7799c17d1..c3ec43e67c27dbcb017aaf9c2d557bffa47b3af3 100644 --- a/controller/nucleus/errors/errors.go +++ b/controller/nucleus/errors/errors.go @@ -7,140 +7,140 @@ import ( "github.com/openconfig/ygot/ygot" ) -// ErrNilClient implements the Error interface and is called if a GNMI Client is nil. -type ErrNilClient struct { +// NilClientError implements the Error interface and is called if a GNMI Client is nil. +type NilClientError struct { } -func (e *ErrNilClient) Error() string { +func (e *NilClientError) Error() string { return fmt.Sprint("client cannot be nil") } -// ErrNil implements the Error interface and is called if a struct is nil. -type ErrNil struct { +// NilError implements the Error interface and is called if a struct is nil. +type NilError struct { } -func (e *ErrNil) Error() string { +func (e *NilError) Error() string { return fmt.Sprint("struct cannot be nil") } -// ErrAlreadyExists implements the Error interface and is called if a specific ID +// AlreadyExistsError implements the Error interface and is called if a specific ID // of a storable item already exists. -type ErrAlreadyExists struct { +type AlreadyExistsError struct { Item interface{} } -func (e *ErrAlreadyExists) Error() string { +func (e *AlreadyExistsError) Error() string { return fmt.Sprintf("%T %v already exists", e.Item, e.Item) } -// ErrInvalidUUID implements the Error interface and is called if a UUID is not valid. -type ErrInvalidUUID struct { +// InvalidUUIDError implements the Error interface and is called if a UUID is not valid. +type InvalidUUIDError struct { DeviceName string } -func (e *ErrInvalidUUID) Error() string { +func (e *InvalidUUIDError) Error() string { return fmt.Sprint("UUID not valid") } -// ErrInvalidTypeAssertion implements the Error interface and is called if the +// InvalidTypeAssertionError implements the Error interface and is called if the // type of a storable item does not correspond to the expected type. -type ErrInvalidTypeAssertion struct { +type InvalidTypeAssertionError struct { Value interface{} Type interface{} } -func (e ErrInvalidTypeAssertion) Error() string { +func (e InvalidTypeAssertionError) Error() string { return fmt.Sprintf("%v does not implement %v", reflect.TypeOf(e.Value).Elem(), reflect.TypeOf(e.Type).Elem()) } -// ErrUnsupportedPath implements the Error interface and is called if the +// UnsupportedPathError implements the Error interface and is called if the // given path is not supported. -type ErrUnsupportedPath struct { +type UnsupportedPathError struct { Path interface{} } -func (e ErrUnsupportedPath) Error() string { +func (e UnsupportedPathError) Error() string { return fmt.Sprintf("path %v is not supported", e.Path) } -// ErrPathNotFound implements the Error interface and is called if the +// PathNotFoundError implements the Error interface and is called if the // given path is not supported. -type ErrPathNotFound struct { +type PathNotFoundError struct { Path interface{} Err error } -func (e ErrPathNotFound) Error() string { +func (e PathNotFoundError) Error() string { return fmt.Sprintf("path %v not found: %v", e.Path, e.Err) } -// ErrNotYetImplemented implements the Error interface and is called if a function +// NotYetImplementedError implements the Error interface and is called if a function // is not implemented yet. -type ErrNotYetImplemented struct{} +type NotYetImplementedError struct{} -func (e ErrNotYetImplemented) Error() string { +func (e NotYetImplementedError) Error() string { return fmt.Sprint("function not yet implemented") } -// ErrInvalidParameters implements the Error interface and is called if the wrong +// InvalidParametersError implements the Error interface and is called if the wrong // or no parameters have been provided. -type ErrInvalidParameters struct { +type InvalidParametersError struct { Func interface{} Param interface{} } -func (e ErrInvalidParameters) Error() string { +func (e InvalidParametersError) Error() string { return fmt.Sprintf("invalid parameters for %v: %v", e.Func, e.Param) } -// ErrInvalidTransportOptions implements the Error interface and is called if the +// InvalidTransportOptionsError implements the Error interface and is called if the // wrong TransportOptions have been provided. -type ErrInvalidTransportOptions struct { +type InvalidTransportOptionsError struct { Opt interface{} } -func (e ErrInvalidTransportOptions) Error() string { +func (e InvalidTransportOptionsError) Error() string { return fmt.Sprintf("invalid transport options: %v", reflect.TypeOf(e.Opt)) } -// ErrOperationNotSupported implements the Error interface and is called if the +// OperationNotSupportedError implements the Error interface and is called if the // wrong Operation has been provided. -type ErrOperationNotSupported struct { +type OperationNotSupportedError struct { Op interface{} } -func (e ErrOperationNotSupported) Error() string { +func (e OperationNotSupportedError) Error() string { return fmt.Sprintf("transport operation not supported: %v", reflect.TypeOf(e.Op)) } -// ErrUnsupportedSbiType implements the Error interface and is called if the +// UnsupportedSbiTypeError implements the Error interface and is called if the // wrong Type for a SBI has been provided. -type ErrUnsupportedSbiType struct { +type UnsupportedSbiTypeError struct { Type interface{} } -func (e ErrUnsupportedSbiType) Error() string { +func (e UnsupportedSbiTypeError) Error() string { return fmt.Sprintf("SBI type not supported: %v", e.Type) } -// ErrPluginVersion implements the Error interface and is called if the Version +// PluginVersionError implements the Error interface and is called if the Version // of a Plugin is older than a Plugin in use. -type ErrPluginVersion struct { +type PluginVersionError struct { PlugID, ProvidedVer, UsedVer string } -func (e ErrPluginVersion) Error() string { +func (e PluginVersionError) Error() string { return fmt.Sprintf("Version of Plugin: %s is older than the one in use. Provided: %s, in use: %s", e.PlugID, e.ProvidedVer, e.UsedVer) } -// ErrorList implements the Error interface and is called if a slice of errors +// CombinedErrListError implements the Error interface and is called if a slice of errors // should be returned. The slice of errors is combined into a single error // message and returned. -type ErrorList struct { +type CombinedErrListError struct { Errors []error } -func (e ErrorList) Error() string { +func (e CombinedErrListError) Error() string { combinedErrString := "Errors found:" for i, err := range e.Errors { errString := fmt.Sprintf("\n %v. %v", i+1, err) @@ -149,130 +149,130 @@ func (e ErrorList) Error() string { return combinedErrString } -// ErrTypeNotSupported implements the Error interface and is called if the +// TypeNotSupportedError implements the Error interface and is called if the // wrong Type has been provided. -type ErrTypeNotSupported struct { +type TypeNotSupportedError struct { Type interface{} } -func (e ErrTypeNotSupported) Error() string { +func (e TypeNotSupportedError) Error() string { return fmt.Sprintf("type not supported: %v", reflect.TypeOf(e.Type)) } -// ErrCouldNotMarshall implements Error interface and is called if a +// CouldNotMarshallError implements Error interface and is called if a // database response can not be parsed. -type ErrCouldNotMarshall struct { +type CouldNotMarshallError struct { Identifier any Type any Err error } -func (e ErrCouldNotMarshall) Error() string { +func (e CouldNotMarshallError) Error() string { return fmt.Sprintf("could not marshall Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err) } -// ErrCouldNotUpdate implements the Error interface and is called if a +// CouldNotUpdateError implements the Error interface and is called if a // stored item can not be updated. -type ErrCouldNotUpdate struct { +type CouldNotUpdateError struct { Identifier any Type any Err error } -func (e ErrCouldNotUpdate) Error() string { +func (e CouldNotUpdateError) Error() string { return fmt.Sprintf("could not update Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err) } -// ErrCouldNotFind implements the Error interface and is called if a +// CouldNotFindError implements the Error interface and is called if a // stored item can not be found. -type ErrCouldNotFind struct { +type CouldNotFindError struct { ID any Name string } -func (e ErrCouldNotFind) Error() string { +func (e CouldNotFindError) Error() string { return fmt.Sprintf("ID: %v or Name: %v not found", e.ID, e.Name) } -// ErrCouldNotCreate implements the Error interface and is called if a +// CouldNotCreateError implements the Error interface and is called if a // stored item can not be found. -type ErrCouldNotCreate struct { +type CouldNotCreateError struct { Identifier any Type any Err error } -func (e ErrCouldNotCreate) Error() string { +func (e CouldNotCreateError) Error() string { return fmt.Sprintf("could not create Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err) } -// ErrCouldNotDelete implements the Error interface and is called if a +// CouldNotDeleteError implements the Error interface and is called if a // stored item can not be deleted. -type ErrCouldNotDelete struct { +type CouldNotDeleteError struct { Identifier any Type any Err error } -func (e ErrCouldNotDelete) Error() string { +func (e CouldNotDeleteError) Error() string { return fmt.Sprintf("could not delete Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err) } -// ErrNoNewChanges implements the Error interface and is called if a the +// NoNewChangesError implements the Error interface and is called if a the // gNMI-Notification created from ygot.Diff does not contain any `updates` or // `deletes`. -type ErrNoNewChanges struct { +type NoNewChangesError struct { Original ygot.GoStruct Modified ygot.GoStruct } -func (e ErrNoNewChanges) Error() string { +func (e NoNewChangesError) Error() string { return fmt.Sprintf("There are no changes between %v and %v", e.Original, e.Modified) } -// ErrAMQPInitFail implements the Error interface and is called if there is any issue related to +// AMQPInitFailError implements the Error interface and is called if there is any issue related to // the setup of the event management. -type ErrAMQPInitFail struct { +type AMQPInitFailError struct { Action string Err error } -func (e ErrAMQPInitFail) Error() string { +func (e AMQPInitFailError) Error() string { return fmt.Sprintf("Action: %s, Internal error: %v", e.Action, e.Err) } -// ErrAMQPMessageFail implements the Error interface and is called if there is any issue with sending +// AMQPMessageFailError implements the Error interface and is called if there is any issue with sending // or receiving messages. -type ErrAMQPMessageFail struct { +type AMQPMessageFailError struct { Action string Err error } -func (e ErrAMQPMessageFail) Error() string { +func (e AMQPMessageFailError) Error() string { return fmt.Sprintf("Action: %s, Internal error: %v", e.Action, e.Err) } -// ErrSubscribeResponse implements the Error interface and is called if there is an issue during a ongoing +// SubscribeResponseError implements the Error interface and is called if there is an issue during a ongoing // gNMI Subscription. -type ErrSubscribeResponse struct { +type SubscribeResponseError struct { PndID string DeviceID string DeviceName string Err string } -func (e ErrSubscribeResponse) Error() string { +func (e SubscribeResponseError) Error() string { return fmt.Sprintf("Subscribe failed, PndID: %s, DeviceID: %s, DeviceName: %s, Internal error: %s", e.PndID, e.DeviceID, e.DeviceName, e.Err) } -// ErrSubscribeSyncResponse implements the Error interface and is called if there is an issue syncing a +// SubscribeSyncResponseError implements the Error interface and is called if there is an issue syncing a // gNMI Subscription. -type ErrSubscribeSyncResponse struct { +type SubscribeSyncResponseError struct { PndID string DeviceID string DeviceName string } -func (e ErrSubscribeSyncResponse) Error() string { +func (e SubscribeSyncResponseError) Error() string { return fmt.Sprintf("Sync failed, PndID: %s, DeviceID: %s, DeviceName: %s", e.PndID, e.DeviceID, e.DeviceName) } diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go index f5a4482c7fe0a4bbfdb4dafa1d0d7efe776d7d6b..7a07683aca259cb79fafa46077dff35d60f86dee 100644 --- a/controller/nucleus/gnmi_transport.go +++ b/controller/nucleus/gnmi_transport.go @@ -40,12 +40,12 @@ type Gnmi struct { // Do not call directly. Use NewTransport() instead. func newGnmiTransport(opts *tpb.TransportOption, sbi southbound.SouthboundInterface) (*Gnmi, error) { if opts == nil || sbi == nil { - return nil, &errors.ErrInvalidParameters{ + return nil, &errors.InvalidParametersError{ Func: newGnmiTransport, Param: "'opts' and 'sbi' can not be nil", } } else if opts.TransportOption == nil { - return nil, &errors.ErrInvalidParameters{ + return nil, &errors.InvalidParametersError{ Func: newGnmiTransport, Param: "'opts.TransportOption' can not be nil", } @@ -82,7 +82,7 @@ func newGnmiTransport(opts *tpb.TransportOption, sbi southbound.SouthboundInterf // Get takes a slice of gnmi paths, splits them and calls get for each one of them. func (g *Gnmi) Get(ctx context.Context, params ...string) (interface{}, error) { if g.client == nil { - return nil, &errors.ErrNilClient{} + return nil, &errors.NilClientError{} } ctx = gnmi.NewContext(ctx, g.config) paths := gnmi.SplitPaths(params) @@ -96,7 +96,7 @@ func (g *Gnmi) Set(ctx context.Context, payload change.Payload, path string, sch return err } if g.client == nil { - return &errors.ErrNilClient{} + return &errors.NilClientError{} } ctx = gnmi.NewContext(ctx, g.config) return g.applyDiff(ctx, payload, p, schema) @@ -120,7 +120,7 @@ func (g *Gnmi) applyDiff(ctx context.Context, payload change.Payload, path *gpb. } if isGNMINotificationEmpty(diff) { - return errors.ErrNoNewChanges{Original: payload.Original, Modified: payload.Modified} + return errors.NoNewChangesError{Original: payload.Original, Modified: payload.Modified} } var json []byte @@ -148,7 +148,7 @@ func (g *Gnmi) applyDiff(ctx context.Context, payload change.Payload, path *gpb. } if len(nodes) == 0 || err != nil || util.IsValueNil(nodes[0].Data) { - return errors.ErrPathNotFound{Path: path, Err: err} + return errors.PathNotFoundError{Path: path, Err: err} } json, err = ygot.Marshal7951(nodes[0].Data, &ygot.RFC7951JSONConfig{AppendModuleName: true}) @@ -187,7 +187,7 @@ func createSetRequest(ctx context.Context, diff *gpb.Notification, json []byte, }, }} default: - return nil, &errors.ErrOperationNotSupported{Op: op} + return nil, &errors.OperationNotSupportedError{Op: op} } } else if diff.Delete != nil { req.Delete = diff.Delete @@ -198,7 +198,7 @@ func createSetRequest(ctx context.Context, diff *gpb.Notification, json []byte, //Subscribe subscribes to a gNMI target. func (g *Gnmi) Subscribe(ctx context.Context, params ...string) error { if g.client == nil { - return &errors.ErrNilClient{} + return &errors.NilClientError{} } return g.subscribe(ctx) } @@ -207,7 +207,7 @@ func (g *Gnmi) Subscribe(ctx context.Context, params ...string) error { // the callback function handles the responses received from the subscription. func (g *Gnmi) ControlPlaneSubscribe(ctx context.Context, subscribeCallbackFunc tpInterface.HandleSubscribeResponse, subscriptionInfo *tpInterface.SubscriptionInformation) error { if g.client == nil { - return &errors.ErrNilClient{} + return &errors.NilClientError{} } return g.controlPlaneSubscribe(ctx, subscribeCallbackFunc, subscriptionInfo) @@ -224,14 +224,14 @@ func (g *Gnmi) Type() string { func (g *Gnmi) ProcessResponse(resp interface{}, root interface{}, s *ytypes.Schema) error { d, ok := root.(ygot.ValidatedGoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: root, Type: (*ygot.ValidatedGoStruct)(nil), } } r, ok := resp.(*gpb.GetResponse) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: resp, Type: &gpb.GetResponse{}, } @@ -250,7 +250,7 @@ func (g *Gnmi) ProcessResponse(resp interface{}, root interface{}, s *ytypes.Sch func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_Update, root any, schema *ytypes.Schema) error { dModel, ok := root.(ygot.ValidatedGoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: root, Type: (*ygot.ValidatedGoStruct)(nil), } @@ -365,7 +365,7 @@ func (g *Gnmi) get(ctx context.Context, paths [][]string, origin string) (interf // and returns any response. func (g *Gnmi) getWithRequest(ctx context.Context, req *gpb.GetRequest) (interface{}, error) { if req == nil { - return nil, &errors.ErrNil{} + return nil, &errors.NilError{} } log.WithFields(log.Fields{ "target": g.Options.Address, @@ -384,7 +384,7 @@ func (g *Gnmi) subscribe(ctx context.Context) error { ctx = gnmi.NewContext(ctx, g.config) opts, ok := ctx.Value(types.CtxKeyOpts).(*gnmi.SubscribeOptions) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: ctx.Value(types.CtxKeyOpts), Type: &gnmi.SubscribeOptions{}, } @@ -415,7 +415,7 @@ func (g *Gnmi) controlPlaneSubscribe(ctx context.Context, subcribeCallbackFunc f ctx = gnmi.NewContext(ctx, g.config) opts, ok := ctx.Value(types.CtxKeyOpts).(*gnmi.SubscribeOptions) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: ctx.Value(types.CtxKeyOpts), Type: &gnmi.SubscribeOptions{}, } diff --git a/controller/nucleus/memoryDeviceStore.go b/controller/nucleus/memoryDeviceStore.go index 2bc4290582283ec2151c72f3437e0f6f90d9025e..e40bdd206e4ff31f36b06d7d491771229ed706f1 100644 --- a/controller/nucleus/memoryDeviceStore.go +++ b/controller/nucleus/memoryDeviceStore.go @@ -50,7 +50,7 @@ func (t *MemoryDeviceStore) Add(item device.Device) error { func (t *MemoryDeviceStore) Update(item device.Device) error { _, ok := t.Store[item.ID().String()] if !ok { - return errors.ErrCouldNotFind{ID: item.ID(), Name: item.Name()} + return errors.CouldNotFindError{ID: item.ID(), Name: item.Name()} } var device device.LoadedDevice @@ -85,12 +85,12 @@ func (t *MemoryDeviceStore) Get(query store.Query) (device.LoadedDevice, error) // Second search for name id, ok := t.nameLookupTable[query.Name] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } item, ok := t.Store[id] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return item, nil diff --git a/controller/nucleus/memoryPndStore.go b/controller/nucleus/memoryPndStore.go index 15cc6909e3b87a1de909ff3f71b378c0bb589c32..f30e759029cc24e2ced0110467d1ff279f946121 100644 --- a/controller/nucleus/memoryPndStore.go +++ b/controller/nucleus/memoryPndStore.go @@ -45,7 +45,7 @@ func (t *MemoryPndStore) Delete(item networkdomain.NetworkDomain) error { func (t *MemoryPndStore) Get(query store.Query) (networkdomain.NetworkDomain, error) { item, ok := t.Store[query.ID] if !ok { - return nil, &nerrors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return nil, &nerrors.CouldNotFindError{ID: query.ID, Name: query.Name} } return item, nil @@ -67,7 +67,7 @@ func (t *MemoryPndStore) GetAll() ([]networkdomain.NetworkDomain, error) { func (t *MemoryPndStore) PendingChannels(id uuid.UUID, parseErrors ...error) (chan device.Details, error) { ch, ok := t.pendingChannels[id] if !ok { - return nil, &nerrors.ErrCouldNotFind{ID: id} + return nil, &nerrors.CouldNotFindError{ID: id} } return ch, nil } diff --git a/controller/nucleus/memorySbiStore.go b/controller/nucleus/memorySbiStore.go index 82a27673032322b2e2c86c13bfed2171164a2ed7..91ed028a3b38752a2003ceed9fb240427bd86881 100644 --- a/controller/nucleus/memorySbiStore.go +++ b/controller/nucleus/memorySbiStore.go @@ -85,12 +85,12 @@ func (t *MemorySbiStore) Get(query store.Query) (southbound.LoadedSbi, error) { // Second search for name id, ok := t.nameLookupTable[query.Name] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } item, ok := t.Store[id] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return item, nil diff --git a/controller/nucleus/plugin.go b/controller/nucleus/plugin.go index 82e65626f4c59f2e8ccde923317243d4068ef930..9b14f0849cd47270e1ba6689a1830365a5de42c4 100644 --- a/controller/nucleus/plugin.go +++ b/controller/nucleus/plugin.go @@ -89,7 +89,7 @@ func UpdatePlugin(p plugin.Plugin) (updated bool, err error) { log.Info("Plugin update executed.") return true, nil } - return false, errors.ErrPluginVersion{ + return false, errors.PluginVersionError{ PlugID: p.ID().String(), ProvidedVer: tmpManifest.Version, UsedVer: p.Manifest().Version, diff --git a/controller/nucleus/pndFilesystemStore.go b/controller/nucleus/pndFilesystemStore.go index c179d5330637b0ecb7e24f123da6ba0121d9bf27..b6812dad23f5686b38562b2b0655e3d33b55c1a1 100644 --- a/controller/nucleus/pndFilesystemStore.go +++ b/controller/nucleus/pndFilesystemStore.go @@ -134,7 +134,7 @@ func (t *FilesystemPndStore) Delete(pndToDelete networkdomain.NetworkDomain) err } } - return &errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err} + return &errors.CouldNotDeleteError{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err} } // Get provides a the query interface to find a stored pnd. @@ -153,7 +153,7 @@ func (t *FilesystemPndStore) Get(query store.Query) (networkdomain.NetworkDomain } } - return nil, &errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return nil, &errors.CouldNotFindError{ID: query.ID, Name: query.Name} } // GetAll returns all pnds currently on the store. @@ -171,7 +171,7 @@ func (t *FilesystemPndStore) GetAll() ([]networkdomain.NetworkDomain, error) { func (t *FilesystemPndStore) PendingChannels(id uuid.UUID, parseErrors ...error) (chan device.Details, error) { ch, ok := t.pendingChannels[id] if !ok { - return nil, &errors.ErrCouldNotFind{ID: id} + return nil, &errors.CouldNotFindError{ID: id} } return ch, nil } diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go index ea13d0988d345d8a4d0b5dcc82d17bb6fda6f470..c80ae55f8276960387da13a12cde4e0f070a52c3 100644 --- a/controller/nucleus/principalNetworkDomain.go +++ b/controller/nucleus/principalNetworkDomain.go @@ -416,7 +416,7 @@ func (pnd *pndImplementation) Request(uuid uuid.UUID, path string) (proto.Messag } resp, ok := res.(proto.Message) if !ok { - return nil, &errors.ErrInvalidTypeAssertion{ + return nil, &errors.InvalidTypeAssertionError{ Value: res, Type: (*proto.Message)(nil), } @@ -518,7 +518,7 @@ func (pnd *pndImplementation) ChangeOND(duid uuid.UUID, operation ppb.ApiOperati } if operation != ppb.ApiOperation_API_OPERATION_DELETE && len(value) != 1 { - return uuid.Nil, &errors.ErrInvalidParameters{ + return uuid.Nil, &errors.InvalidParametersError{ Func: pnd.ChangeOND, Param: value, } @@ -550,7 +550,7 @@ func (pnd *pndImplementation) ChangeOND(duid uuid.UUID, operation ppb.ApiOperati return uuid.Nil, err } default: - return uuid.Nil, &errors.ErrOperationNotSupported{Op: operation} + return uuid.Nil, &errors.OperationNotSupportedError{Op: operation} } ygot.PruneEmptyBranches(validatedCpy) @@ -874,7 +874,7 @@ func saveStreamToFile[T StreamClient](sc T, filename string, id uuid.UUID) (err // clean path to prevent attackers to get access to to directories elsewhere on the system path = filepath.Clean(path) if !strings.HasPrefix(path, folderName) { - return &errors.ErrInvalidParameters{ + return &errors.InvalidParametersError{ Func: saveStreamToFile[T], Param: path, } diff --git a/controller/nucleus/restconf_transport.go b/controller/nucleus/restconf_transport.go index c00c852d68ba44c6bfe0735b2ac70bfd70c9cabf..7e9b6fb0270411217c2480943dfbb1f5a8848137 100644 --- a/controller/nucleus/restconf_transport.go +++ b/controller/nucleus/restconf_transport.go @@ -14,17 +14,17 @@ type Restconf struct{} // Get not yet implemented. func (r Restconf) Get(ctx context.Context, params ...string) (interface{}, error) { - return nil, &errors.ErrNotYetImplemented{} + return nil, &errors.NotYetImplementedError{} } // Set not yet implemented. func (r Restconf) Set(ctx context.Context, params ...interface{}) error { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } // Subscribe not yet implemented. func (r Restconf) Subscribe(ctx context.Context, params ...string) error { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } // Type not yet implemented. @@ -34,10 +34,10 @@ func (r Restconf) Type() string { // GetOptions not yet implemented. func (r Restconf) GetOptions() interface{} { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } // ProcessResponse not yet implemented. func (r Restconf) ProcessResponse(resp interface{}, root interface{}, models *ytypes.Schema) error { - return &errors.ErrNotYetImplemented{} + return &errors.NotYetImplementedError{} } diff --git a/controller/nucleus/sbiFilesystemStore.go b/controller/nucleus/sbiFilesystemStore.go index 7ead5bf270594cd5105ac6bebf5ecaea8e2d8d0c..5e88a40010bc076770582504aa2d32d9081d8446 100644 --- a/controller/nucleus/sbiFilesystemStore.go +++ b/controller/nucleus/sbiFilesystemStore.go @@ -113,7 +113,7 @@ func (s *FilesystemSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) return nil } } - return &errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err} + return &errors.CouldNotDeleteError{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err} } // Get takes a SouthboundInterface's UUID or name and returns the SouthboundInterface. If the requested @@ -135,7 +135,7 @@ func (s *FilesystemSbiStore) Get(query store.Query) (southbound.LoadedSbi, error } } - return sbi, &errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return sbi, &errors.CouldNotFindError{ID: query.ID, Name: query.Name} } // GetAll returns all SBIs. diff --git a/controller/nucleus/southbound.go b/controller/nucleus/southbound.go index 4e3f4c1bdd211d84efe5ab6d616ca4535d644e70..522f14a9ca008164351ba7a0b07b7a3f3423ff31 100644 --- a/controller/nucleus/southbound.go +++ b/controller/nucleus/southbound.go @@ -43,7 +43,7 @@ func NewSBI(southbound spb.Type, sbUUID ...uuid.UUID) (southbound.SouthboundInte } return sbip, nil default: - return nil, errors.ErrUnsupportedSbiType{Type: southbound} + return nil, errors.UnsupportedSbiTypeError{Type: southbound} } } @@ -137,7 +137,7 @@ func unmarshal(schema *ytypes.Schema, bytes []byte, path *gpb.Path, goStruct ygo } validatedDeepCopy, ok := root.(ygot.ValidatedGoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: root, Type: (*ygot.ValidatedGoStruct)(nil), } @@ -151,7 +151,7 @@ func unmarshal(schema *ytypes.Schema, bytes []byte, path *gpb.Path, goStruct ygo } validatedCreatedNode, ok := createdNode.(ygot.ValidatedGoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: createdNode, Type: (*ygot.ValidatedGoStruct)(nil), } @@ -261,7 +261,7 @@ func (p *SouthboundPlugin) load(id uuid.UUID) error { sbi, ok := symbol.(southbound.SouthboundInterface) if !ok { p.state = plugin.FAULTY - return &errors.ErrInvalidTypeAssertion{ + return &errors.InvalidTypeAssertionError{ Value: symbol, Type: (*southbound.SouthboundInterface)(nil), } diff --git a/controller/nucleus/transport.go b/controller/nucleus/transport.go index a2db1ff28b60a17e3ee64f4c311f10bbfe071364..190cf479ab3531bd47d322d01c96c13f31727697 100644 --- a/controller/nucleus/transport.go +++ b/controller/nucleus/transport.go @@ -11,24 +11,24 @@ import ( // implementation. func NewTransport(opts *tpb.TransportOption, sbi southbound.SouthboundInterface) (transport.Transport, error) { if opts == nil { - return nil, &errors.ErrInvalidParameters{ + return nil, &errors.InvalidParametersError{ Func: NewTransport, Param: "'opt' cannot be 'nil'", } } if sbi == nil { - return nil, errors.ErrInvalidParameters{ + return nil, errors.InvalidParametersError{ Param: "'sbi' cannot be 'nil'", } } if !validTransportOptions(opts) { - return nil, &errors.ErrInvalidTransportOptions{Opt: opts} + return nil, &errors.InvalidTransportOptionsError{Opt: opts} } switch o := opts.TransportOption.(type) { case *tpb.TransportOption_GnmiTransportOption: return newGnmiTransport(opts, sbi) default: - return nil, &errors.ErrInvalidTransportOptions{Opt: o} + return nil, &errors.InvalidTransportOptionsError{Opt: o} } } diff --git a/controller/rbac/databaseRoleStore.go b/controller/rbac/databaseRoleStore.go index 871edf47e2401487e8c636fef35af586f085e155..7df2ff5cf8f0574c22d5a1492365454f3cf2edd4 100644 --- a/controller/rbac/databaseRoleStore.go +++ b/controller/rbac/databaseRoleStore.go @@ -39,7 +39,7 @@ func (s *DatabaseRoleStore) Add(roleToAdd rbac.Role) (err error) { return nil } - return errors.ErrCouldNotCreate{Identifier: roleToAdd.ID(), Type: roleToAdd, Err: err} + return errors.CouldNotCreateError{Identifier: roleToAdd.ID(), Type: roleToAdd, Err: err} } return nil @@ -60,7 +60,7 @@ func (s *DatabaseRoleStore) Delete(roleToDelete rbac.Role) (err error) { Collection(s.roleStoreName). DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: roleToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err} + return errors.CouldNotDeleteError{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err} } return nil @@ -102,13 +102,13 @@ func (s *DatabaseRoleStore) getByID(idOfRole uuid.UUID) (loadedRole rbac.LoadedR collection := db.Collection(s.roleStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idOfRole.String()}}) if result == nil { - return loadedRole, errors.ErrCouldNotFind{ID: idOfRole} + return loadedRole, errors.CouldNotFindError{ID: idOfRole} } err = result.Decode(&loadedRole) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedRole, errors.ErrCouldNotMarshall{Identifier: idOfRole, Type: loadedRole, Err: err} + return loadedRole, errors.CouldNotMarshallError{Identifier: idOfRole, Type: loadedRole, Err: err} } return loadedRole, nil @@ -128,13 +128,13 @@ func (s *DatabaseRoleStore) getByName(nameOfRole string) (loadedRole rbac.Loaded collection := db.Collection(s.roleStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "rolename", Value: nameOfRole}}) if result == nil { - return loadedRole, errors.ErrCouldNotFind{Name: nameOfRole} + return loadedRole, errors.CouldNotFindError{Name: nameOfRole} } err = result.Decode(&loadedRole) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedRole, errors.ErrCouldNotMarshall{Identifier: nameOfRole, Type: loadedRole, Err: err} + return loadedRole, errors.CouldNotMarshallError{Identifier: nameOfRole, Type: loadedRole, Err: err} } return loadedRole, nil @@ -169,7 +169,7 @@ func (s *DatabaseRoleStore) GetAll() (loadedRoles []rbac.LoadedRole, err error) if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Type: loadedRoles, Err: err} + return nil, errors.CouldNotMarshallError{Type: loadedRoles, Err: err} } return loadedRoles, nil } @@ -203,7 +203,7 @@ func (s *DatabaseRoleStore) Update(roleToUpdate rbac.Role) (err error) { if err != nil { log.Printf("Could not update Role: %v", err) - return errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err} + return errors.CouldNotUpdateError{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err} } return nil diff --git a/controller/rbac/databaseUserStore.go b/controller/rbac/databaseUserStore.go index b1f6eeee754ddf193e67a0939c9fe818a57678d8..62b9409a8f94568fb81625636a98fe2197975956 100644 --- a/controller/rbac/databaseUserStore.go +++ b/controller/rbac/databaseUserStore.go @@ -39,7 +39,7 @@ func (s *DatabaseUserStore) Add(userToAdd rbac.User) (err error) { return nil } - return errors.ErrCouldNotCreate{Identifier: userToAdd.ID(), Type: userToAdd, Err: err} + return errors.CouldNotCreateError{Identifier: userToAdd.ID(), Type: userToAdd, Err: err} } return nil @@ -60,7 +60,7 @@ func (s *DatabaseUserStore) Delete(userToDelete rbac.User) (err error) { Collection(s.userStoreName). DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: userToDelete.ID().String()}}) if err != nil { - return errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err} + return errors.CouldNotDeleteError{Identifier: userToDelete.ID(), Type: userToDelete, Err: err} } return nil @@ -102,13 +102,13 @@ func (s *DatabaseUserStore) getByID(idOfUser uuid.UUID) (loadedUser rbac.LoadedU collection := db.Collection(s.userStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idOfUser.String()}}) if result == nil { - return loadedUser, errors.ErrCouldNotFind{ID: idOfUser} + return loadedUser, errors.CouldNotFindError{ID: idOfUser} } err = result.Decode(&loadedUser) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedUser, errors.ErrCouldNotMarshall{Identifier: idOfUser, Type: loadedUser, Err: err} + return loadedUser, errors.CouldNotMarshallError{Identifier: idOfUser, Type: loadedUser, Err: err} } return loadedUser, nil @@ -128,13 +128,13 @@ func (s *DatabaseUserStore) getByName(nameOfUser string) (loadedUser rbac.Loaded collection := db.Collection(s.userStoreName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "username", Value: nameOfUser}}) if result == nil { - return loadedUser, errors.ErrCouldNotFind{Name: nameOfUser} + return loadedUser, errors.CouldNotFindError{Name: nameOfUser} } err = result.Decode(&loadedUser) if err != nil { log.Printf("Failed marshalling %v", err) - return loadedUser, errors.ErrCouldNotMarshall{Identifier: nameOfUser, Type: loadedUser, Err: err} + return loadedUser, errors.CouldNotMarshallError{Identifier: nameOfUser, Type: loadedUser, Err: err} } return loadedUser, nil @@ -169,7 +169,7 @@ func (s *DatabaseUserStore) GetAll() (loadedUsers []rbac.LoadedUser, err error) if err != nil { log.Printf("Failed marshalling %v", err) - return nil, errors.ErrCouldNotMarshall{Type: loadedUsers, Err: err} + return nil, errors.CouldNotMarshallError{Type: loadedUsers, Err: err} } return loadedUsers, nil } @@ -204,7 +204,7 @@ func (s *DatabaseUserStore) Update(userToUpdate rbac.User) (err error) { if err != nil { log.Printf("Could not update User: %v", err) - return errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err} + return errors.CouldNotUpdateError{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err} } return nil diff --git a/controller/rbac/memoryRoleStore.go b/controller/rbac/memoryRoleStore.go index 103f1c1a229992225027c2264b07761f06fadb66..0f8e14ac3952cc722fb6e3d41e672548aa080e03 100644 --- a/controller/rbac/memoryRoleStore.go +++ b/controller/rbac/memoryRoleStore.go @@ -56,7 +56,7 @@ func (s *MemoryRoleStore) Delete(item rbac.Role) error { func (s *MemoryRoleStore) Update(item rbac.Role) error { _, ok := s.Store[item.ID().String()] if !ok { - return errors.ErrCouldNotFind{ID: item.ID(), Name: item.Name()} + return errors.CouldNotFindError{ID: item.ID(), Name: item.Name()} } var role rbac.LoadedRole @@ -84,12 +84,12 @@ func (s *MemoryRoleStore) Get(query store.Query) (rbac.LoadedRole, error) { // Second search for name id, ok := s.nameLookupTable[query.Name] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } item, ok := s.Store[id] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return item, nil diff --git a/controller/rbac/memoryUserStore.go b/controller/rbac/memoryUserStore.go index 0387d2994eedacc4452140dd0cc1718d91c27dd1..70668e5910ea6ad83855d49504cfc00027309dfb 100644 --- a/controller/rbac/memoryUserStore.go +++ b/controller/rbac/memoryUserStore.go @@ -56,7 +56,7 @@ func (s *MemoryUserStore) Delete(item rbac.User) error { func (s *MemoryUserStore) Update(item rbac.User) error { _, ok := s.Store[item.ID().String()] if !ok { - return errors.ErrCouldNotFind{ID: item.ID(), Name: item.Name()} + return errors.CouldNotFindError{ID: item.ID(), Name: item.Name()} } var user rbac.LoadedUser @@ -84,12 +84,12 @@ func (s *MemoryUserStore) Get(query store.Query) (rbac.LoadedUser, error) { // Second search for name id, ok := s.nameLookupTable[query.Name] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } item, ok := s.Store[id] if !ok { - return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return item, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return item, nil diff --git a/controller/rbac/roleFileSystemStore.go b/controller/rbac/roleFileSystemStore.go index b6785cd66b8a5e499ca2b792bbc8a2db9079916d..ca629f12f22cb2eb96a86648ddc28c867dc0d964 100644 --- a/controller/rbac/roleFileSystemStore.go +++ b/controller/rbac/roleFileSystemStore.go @@ -109,7 +109,7 @@ func (s *FileSystemRoleStore) Delete(roleToDelete rbac.Role) error { } } - return &errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err} + return &errors.CouldNotDeleteError{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err} } //Get takes a Roles ID and return the Role if found. @@ -129,7 +129,7 @@ func (s *FileSystemRoleStore) Get(query store.Query) (rbac.LoadedRole, error) { } } - return role, &errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return role, &errors.CouldNotFindError{ID: query.ID, Name: query.Name} } // GetAll returns all the Roles. @@ -166,5 +166,5 @@ func (s *FileSystemRoleStore) Update(roleToUpdate rbac.Role) error { } } - return &errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err} + return &errors.CouldNotUpdateError{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err} } diff --git a/controller/rbac/userFileSystemStore.go b/controller/rbac/userFileSystemStore.go index 4c181842f6821e4e9e3ea843365a47815e1e8006..2839bffcd2ea86e11f3bddeb1d67142ea6f45660 100644 --- a/controller/rbac/userFileSystemStore.go +++ b/controller/rbac/userFileSystemStore.go @@ -109,7 +109,7 @@ func (s *FileSystemUserStore) Delete(userToDelete rbac.User) error { } } - return &errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err} + return &errors.CouldNotDeleteError{Identifier: userToDelete.ID(), Type: userToDelete, Err: err} } //Get takes a Users ID and return the User if found. @@ -129,7 +129,7 @@ func (s *FileSystemUserStore) Get(query store.Query) (rbac.LoadedUser, error) { return user, nil } } - return user, &errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return user, &errors.CouldNotFindError{ID: query.ID, Name: query.Name} } // GetAll returns all the Users. @@ -166,5 +166,5 @@ func (s *FileSystemUserStore) Update(userToUpdate rbac.User) error { } } - return &errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err} + return &errors.CouldNotUpdateError{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err} } diff --git a/controller/store/changeStores.go b/controller/store/changeStores.go index 3b38a6e001771fd50a193191c20c590a32a1c812..8727f4a6296340d81cd0f2bf1751c5cb44240ab5 100644 --- a/controller/store/changeStores.go +++ b/controller/store/changeStores.go @@ -28,7 +28,7 @@ func (s *ChangeStore) GetChange(id uuid.UUID) (change.Change, error) { } c, ok := item.(change.Change) if !ok { - return nil, &errors.ErrInvalidTypeAssertion{ + return nil, &errors.InvalidTypeAssertionError{ Value: c, Type: (*change.Change)(nil), } diff --git a/controller/store/oldGenericStore.go b/controller/store/oldGenericStore.go index a08d8c628efd5b5406847e29cb2cd60efff7870d..3beec84a43deef7d2f83cff93011c5f458399c89 100644 --- a/controller/store/oldGenericStore.go +++ b/controller/store/oldGenericStore.go @@ -32,7 +32,7 @@ func (s *genericStore) Exists(id uuid.UUID) bool { // Add adds a Storable to the Store. func (s *genericStore) Add(item store.Storable) error { if s.Exists(item.ID()) { - return &errors.ErrAlreadyExists{Item: item} + return &errors.AlreadyExistsError{Item: item} } s.storeLock.Lock() s.Store[item.ID()] = item @@ -50,7 +50,7 @@ func (s *genericStore) Add(item store.Storable) error { // use GetDevice, GetPND, GetSBI, or GetChange respectively. func (s *genericStore) Get(id uuid.UUID) (store.Storable, error) { if !s.Exists(id) { - return nil, &errors.ErrCouldNotFind{ID: id} + return nil, &errors.CouldNotFindError{ID: id} } log.WithFields(log.Fields{ "uuid": id, @@ -64,7 +64,7 @@ func (s *genericStore) Get(id uuid.UUID) (store.Storable, error) { // exist in the Store an error is returned. func (s *genericStore) Delete(id uuid.UUID) error { if !s.Exists(id) { - return &errors.ErrCouldNotFind{ID: id} + return &errors.CouldNotFindError{ID: id} } s.storeLock.Lock() delete(s.Store, id) diff --git a/controller/store/utils.go b/controller/store/utils.go index b6866b6cb994ce377aa9f6da3f3746051b812628..69b67fe297899ff6efad9fdf1abe7eeae1829000 100644 --- a/controller/store/utils.go +++ b/controller/store/utils.go @@ -21,7 +21,7 @@ func FromString(id string) (uuid.UUID, error) { log.WithFields(log.Fields{ "identifier": id, }).Debug(err) - return uuid.Nil, &errors.ErrInvalidUUID{DeviceName: id} + return uuid.Nil, &errors.InvalidUUIDError{DeviceName: id} } return idAsUUID, nil diff --git a/controller/test/integration/nucleusIntegration_test.go b/controller/test/integration/nucleusIntegration_test.go index 36b977a62b8a8db6ea6875f958ee4ce7ae8b7b2f..e2644bb14a541829bf54719a6e8f9e7d3ed1b57b 100644 --- a/controller/test/integration/nucleusIntegration_test.go +++ b/controller/test/integration/nucleusIntegration_test.go @@ -249,7 +249,7 @@ func TestGnmi_SetValidIntegration(t *testing.T) { } r, ok := resp.(*gpb.GetResponse) if !ok { - t.Error(&errors.ErrInvalidTypeAssertion{ + t.Error(&errors.InvalidTypeAssertionError{ Value: resp, Type: &gpb.GetResponse{}, }) @@ -524,7 +524,7 @@ func TestGnmi_CapabilitiesIntegration(t *testing.T) { } g, ok := tr.(*nucleus.Gnmi) if !ok { - t.Error(&errors.ErrInvalidTypeAssertion{ + t.Error(&errors.InvalidTypeAssertionError{ Value: tr, Type: &nucleus.Gnmi{}, }) diff --git a/controller/test/plugin/csbiAdditions.go b/controller/test/plugin/csbiAdditions.go index 68d99fba78eae05283ba1901c79cb89ef4610422..45fbec09e0f49284e05b24e5302f7d0d410d0df1 100644 --- a/controller/test/plugin/csbiAdditions.go +++ b/controller/test/plugin/csbiAdditions.go @@ -45,7 +45,7 @@ func unmarshal(schema *ytypes.Schema, bytes []byte, path *gpb.Path, goStruct ygo } validatedDeepCopy, ok := root.(ygot.GoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{} + return &errors.InvalidTypeAssertionError{} } // returns the node we want to fill with the data contained in 'bytes', @@ -56,7 +56,7 @@ func unmarshal(schema *ytypes.Schema, bytes []byte, path *gpb.Path, goStruct ygo } validatedCreatedNode, ok := createdNode.(ygot.GoStruct) if !ok { - return &errors.ErrInvalidTypeAssertion{} + return &errors.InvalidTypeAssertionError{} } if err := Unmarshal(bytes, validatedCreatedNode, opt...); err != nil { diff --git a/controller/topology/nodes/nodeStore.go b/controller/topology/nodes/nodeStore.go index 3f69c80d0671c8548a3ca1656ca57867cec9b231..cbf75d9f230d3b748299050bd7e93a63888f515c 100644 --- a/controller/topology/nodes/nodeStore.go +++ b/controller/topology/nodes/nodeStore.go @@ -41,7 +41,7 @@ func (s *DatabaseNodeStore) Get(query query.Query) (Node, error) { if query.ID.String() != "" { loadedNode, err := s.getByID(query.ID) if err != nil { - return loadedNode, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedNode, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedNode, nil @@ -49,7 +49,7 @@ func (s *DatabaseNodeStore) Get(query query.Query) (Node, error) { loadedNode, err := s.getByName(query.Name) if err != nil { - return loadedNode, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedNode, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedNode, nil @@ -71,12 +71,12 @@ func (s *DatabaseNodeStore) getByID(idOfNode uuid.UUID) (loadedNode Node, err er collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idAsByteArray}}) if result == nil { - return loadedNode, errors.ErrCouldNotFind{ID: idOfNode} + return loadedNode, errors.CouldNotFindError{ID: idOfNode} } err = result.Decode(&loadedNode) if err != nil { - return loadedNode, errors.ErrCouldNotMarshall{Identifier: idOfNode, Type: loadedNode, Err: err} + return loadedNode, errors.CouldNotMarshallError{Identifier: idOfNode, Type: loadedNode, Err: err} } return loadedNode, nil @@ -96,12 +96,12 @@ func (s *DatabaseNodeStore) getByName(nameOfNode string) (loadedNode Node, err e collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfNode}}) if result == nil { - return loadedNode, errors.ErrCouldNotFind{Name: nameOfNode} + return loadedNode, errors.CouldNotFindError{Name: nameOfNode} } err = result.Decode(&loadedNode) if err != nil { - return loadedNode, errors.ErrCouldNotMarshall{Identifier: nameOfNode, Type: loadedNode, Err: err} + return loadedNode, errors.CouldNotMarshallError{Identifier: nameOfNode, Type: loadedNode, Err: err} } return loadedNode, nil @@ -133,7 +133,7 @@ func (s *DatabaseNodeStore) GetAll() (loadedNode []Node, err error) { err = cursor.All(ctx, &loadedNode) if err != nil { - return loadedNode, errors.ErrCouldNotMarshall{Type: loadedNode, Err: err} + return loadedNode, errors.CouldNotMarshallError{Type: loadedNode, Err: err} } return loadedNode, nil @@ -154,7 +154,7 @@ func (s *DatabaseNodeStore) Add(node Node) (err error) { Collection(s.storeName). InsertOne(ctx, node) if err != nil { - return errors.ErrCouldNotCreate{Identifier: node.ID, Type: node, Err: err} + return errors.CouldNotCreateError{Identifier: node.ID, Type: node, Err: err} } return nil @@ -188,7 +188,7 @@ func (s *DatabaseNodeStore) Update(node Node) (err error) { ctx, bson.M{"_id": node.ID.String()}, update, &opt). Decode(&updatedLoadedNodes) if err != nil { - return errors.ErrCouldNotUpdate{Identifier: node.ID, Type: node, Err: err} + return errors.CouldNotUpdateError{Identifier: node.ID, Type: node, Err: err} } return nil diff --git a/controller/topology/ports/portStore.go b/controller/topology/ports/portStore.go index 0c44a0b3bfd45b1c76725752205f3d0d1a7eda6d..138e1d9ab24a2c238d703d160c57dc3e91501c73 100644 --- a/controller/topology/ports/portStore.go +++ b/controller/topology/ports/portStore.go @@ -42,7 +42,7 @@ func (s *DatabasePortStore) Get(query query.Query) (Port, error) { if query.ID.String() != "" { loadedPort, err := s.getByID(query.ID) if err != nil { - return loadedPort, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedPort, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedPort, nil @@ -50,7 +50,7 @@ func (s *DatabasePortStore) Get(query query.Query) (Port, error) { loadedPort, err := s.getByName(query.Name) if err != nil { - return loadedPort, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedPort, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedPort, nil @@ -72,12 +72,12 @@ func (s *DatabasePortStore) getByID(idOfPort uuid.UUID) (loadedPort Port, err er collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idAsByteArray}}) if result == nil { - return loadedPort, errors.ErrCouldNotFind{ID: idOfPort} + return loadedPort, errors.CouldNotFindError{ID: idOfPort} } err = result.Decode(&loadedPort) if err != nil { - return loadedPort, errors.ErrCouldNotMarshall{Identifier: idOfPort, Type: loadedPort, Err: err} + return loadedPort, errors.CouldNotMarshallError{Identifier: idOfPort, Type: loadedPort, Err: err} } return loadedPort, nil @@ -97,12 +97,12 @@ func (s *DatabasePortStore) getByName(nameOfPort string) (loadedPort Port, err e collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfPort}}) if result == nil { - return loadedPort, errors.ErrCouldNotFind{Name: nameOfPort} + return loadedPort, errors.CouldNotFindError{Name: nameOfPort} } err = result.Decode(&loadedPort) if err != nil { - return loadedPort, errors.ErrCouldNotMarshall{Identifier: nameOfPort, Type: loadedPort, Err: err} + return loadedPort, errors.CouldNotMarshallError{Identifier: nameOfPort, Type: loadedPort, Err: err} } return loadedPort, nil @@ -135,7 +135,7 @@ func (s *DatabasePortStore) GetAll() (loadedPorts []Port, err error) { err = cursor.All(ctx, &loadedPorts) if err != nil { - return loadedPorts, errors.ErrCouldNotMarshall{Type: loadedPorts, Err: err} + return loadedPorts, errors.CouldNotMarshallError{Type: loadedPorts, Err: err} } return loadedPorts, nil @@ -156,7 +156,7 @@ func (s *DatabasePortStore) Add(port Port) (err error) { Collection(s.storeName). InsertOne(ctx, port) if err != nil { - return errors.ErrCouldNotCreate{Identifier: port.ID, Type: port, Err: err} + return errors.CouldNotCreateError{Identifier: port.ID, Type: port, Err: err} } return nil @@ -190,7 +190,7 @@ func (s *DatabasePortStore) Update(port Port) (err error) { ctx, bson.M{"_id": port.ID.String()}, update, &opt). Decode(&updatedLoadedDevice) if err != nil { - return errors.ErrCouldNotUpdate{Identifier: port.ID, Type: port, Err: err} + return errors.CouldNotUpdateError{Identifier: port.ID, Type: port, Err: err} } return nil diff --git a/controller/topology/routing-tables/routingTableStore.go b/controller/topology/routing-tables/routingTableStore.go index 0bdd82c7772784973e5664a9a3a7cd5a7e8255d1..6041cf251226282cede80b36b1ab4e2216be2964 100644 --- a/controller/topology/routing-tables/routingTableStore.go +++ b/controller/topology/routing-tables/routingTableStore.go @@ -41,7 +41,7 @@ func (s *DatabaseRoutingTableStore) Get(query query.Query) (RoutingTable, error) if query.ID.String() != "" { loadedRoutingTable, err := s.getByID(query.ID) if err != nil { - return loadedRoutingTable, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedRoutingTable, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedRoutingTable, nil @@ -49,7 +49,7 @@ func (s *DatabaseRoutingTableStore) Get(query query.Query) (RoutingTable, error) loadedRoutingTable, err := s.getByName(query.Name) if err != nil { - return loadedRoutingTable, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedRoutingTable, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedRoutingTable, nil @@ -69,12 +69,12 @@ func (s *DatabaseRoutingTableStore) getByID(idOfRoutingTable uuid.UUID) (routing collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idOfRoutingTable.String()}}) if result == nil { - return routingTable, errors.ErrCouldNotFind{ID: idOfRoutingTable} + return routingTable, errors.CouldNotFindError{ID: idOfRoutingTable} } err = result.Decode(&routingTable) if err != nil { - return routingTable, errors.ErrCouldNotMarshall{Identifier: idOfRoutingTable, Type: routingTable, Err: err} + return routingTable, errors.CouldNotMarshallError{Identifier: idOfRoutingTable, Type: routingTable, Err: err} } return routingTable, nil @@ -94,12 +94,12 @@ func (s *DatabaseRoutingTableStore) getByName(nameOfRoutingTable string) (loaded collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfRoutingTable}}) if result == nil { - return loadedRoutingTable, errors.ErrCouldNotFind{Name: nameOfRoutingTable} + return loadedRoutingTable, errors.CouldNotFindError{Name: nameOfRoutingTable} } err = result.Decode(&loadedRoutingTable) if err != nil { - return loadedRoutingTable, errors.ErrCouldNotMarshall{Type: loadedRoutingTable, Err: err} + return loadedRoutingTable, errors.CouldNotMarshallError{Type: loadedRoutingTable, Err: err} } return loadedRoutingTable, nil @@ -132,7 +132,7 @@ func (s *DatabaseRoutingTableStore) GetAll() (loadedRoutingTable []RoutingTable, err = cursor.All(ctx, &loadedRoutingTable) if err != nil { - return loadedRoutingTable, errors.ErrCouldNotMarshall{Type: loadedRoutingTable, Err: err} + return loadedRoutingTable, errors.CouldNotMarshallError{Type: loadedRoutingTable, Err: err} } return loadedRoutingTable, nil @@ -153,7 +153,7 @@ func (s *DatabaseRoutingTableStore) Add(routingTable RoutingTable) (err error) { Collection(s.storeName). InsertOne(ctx, routingTable) if err != nil { - return errors.ErrCouldNotCreate{Identifier: routingTable.ID, Type: routingTable, Err: err} + return errors.CouldNotCreateError{Identifier: routingTable.ID, Type: routingTable, Err: err} } return nil @@ -187,7 +187,7 @@ func (s *DatabaseRoutingTableStore) Update(routingTable RoutingTable) (err error ctx, bson.M{"_id": routingTable.ID.String()}, update, &opt). Decode(&updatedLoadedRoutingTable) if err != nil { - return errors.ErrCouldNotUpdate{Identifier: routingTable.ID, Type: routingTable, Err: err} + return errors.CouldNotUpdateError{Identifier: routingTable.ID, Type: routingTable, Err: err} } return nil diff --git a/controller/topology/topologyStore.go b/controller/topology/topologyStore.go index dc12b10af93c0bc226592f0498e54078c55fb7f8..e596c39e6d1f8ffb0273e6201bd514ab5c53dae1 100644 --- a/controller/topology/topologyStore.go +++ b/controller/topology/topologyStore.go @@ -42,7 +42,7 @@ func (s *DatabaseTopologyStore) Get(query query.Query) (links.Link, error) { if query.ID.String() != "" { loadedTopology, err := s.getByID(query.ID) if err != nil { - return loadedTopology, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedTopology, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedTopology, nil @@ -50,7 +50,7 @@ func (s *DatabaseTopologyStore) Get(query query.Query) (links.Link, error) { loadedTopology, err := s.getByName(query.Name) if err != nil { - return loadedTopology, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name} + return loadedTopology, errors.CouldNotFindError{ID: query.ID, Name: query.Name} } return loadedTopology, nil @@ -70,12 +70,12 @@ func (s *DatabaseTopologyStore) getByID(idOfTopology uuid.UUID) (loadedTopology collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "_id", Value: idOfTopology.String()}}) if result == nil { - return loadedTopology, errors.ErrCouldNotFind{ID: idOfTopology} + return loadedTopology, errors.CouldNotFindError{ID: idOfTopology} } err = result.Decode(&loadedTopology) if err != nil { - return loadedTopology, errors.ErrCouldNotMarshall{Identifier: idOfTopology, Type: loadedTopology, Err: err} + return loadedTopology, errors.CouldNotMarshallError{Identifier: idOfTopology, Type: loadedTopology, Err: err} } return loadedTopology, nil @@ -95,12 +95,12 @@ func (s *DatabaseTopologyStore) getByName(nameOfTopology string) (loadedTopology collection := db.Collection(s.storeName) result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfTopology}}) if result == nil { - return loadedTopology, errors.ErrCouldNotFind{Name: nameOfTopology} + return loadedTopology, errors.CouldNotFindError{Name: nameOfTopology} } err = result.Decode(&loadedTopology) if err != nil { - return loadedTopology, errors.ErrCouldNotMarshall{Identifier: nameOfTopology, Type: loadedTopology, Err: err} + return loadedTopology, errors.CouldNotMarshallError{Identifier: nameOfTopology, Type: loadedTopology, Err: err} } return loadedTopology, nil @@ -133,7 +133,7 @@ func (s *DatabaseTopologyStore) GetAll() (loadedTopology []links.Link, err error err = cursor.All(ctx, &loadedTopology) if err != nil { - return loadedTopology, errors.ErrCouldNotMarshall{Type: loadedTopology, Err: err} + return loadedTopology, errors.CouldNotMarshallError{Type: loadedTopology, Err: err} } return loadedTopology, nil @@ -154,7 +154,7 @@ func (s *DatabaseTopologyStore) Add(link links.Link) (err error) { Collection(s.storeName). InsertOne(ctx, link) if err != nil { - return errors.ErrCouldNotCreate{Identifier: link.ID, Type: link, Err: err} + return errors.CouldNotCreateError{Identifier: link.ID, Type: link, Err: err} } return nil @@ -188,7 +188,7 @@ func (s *DatabaseTopologyStore) Update(linkToUpdate links.Link) (err error) { ctx, bson.M{"_id": linkToUpdate.ID.String()}, update, &opt). Decode(&updatedLink) if err != nil { - return errors.ErrCouldNotUpdate{Identifier: linkToUpdate.ID, Type: linkToUpdate, Err: err} + return errors.CouldNotUpdateError{Identifier: linkToUpdate.ID, Type: linkToUpdate, Err: err} } return nil diff --git a/csbi/deployment.go b/csbi/deployment.go index 8cf1da9709e06aec3e2ede877cde7bfc2b09450a..148001d4b6d59cff64e87bcefff8a06f45c943e9 100644 --- a/csbi/deployment.go +++ b/csbi/deployment.go @@ -64,7 +64,7 @@ func (store DeploymentStore) Get(id uuid.UUID) (Deployment, error) { log.Tracef("requested %v from store", id) deployment := <-store.in if deployment.ID != id { - return Deployment{}, &errors.ErrCouldNotFind{ID: id} + return Deployment{}, &errors.CouldNotFindError{ID: id} } log.Tracef("received %v from store", id) log.Tracef("leaving Get func for %v", id) @@ -80,7 +80,7 @@ func (store DeploymentStore) Delete(id uuid.UUID) error { log.Tracef("requested %v from store", id) deployment := <-store.in if deployment.ID != id { - return &errors.ErrCouldNotFind{ID: id} + return &errors.CouldNotFindError{ID: id} } log.Tracef("received %v from store", id) deployment.State = pb.State_STATE_DECOMMISSIONED diff --git a/csbi/discover.go b/csbi/discover.go index fb270c1119bff0f88e40b064e445c49dcdcc88e5..68671f85b7deb4b5efd11e3240ef1560de80994b 100644 --- a/csbi/discover.go +++ b/csbi/discover.go @@ -24,7 +24,7 @@ func Discover(ctx context.Context, opts *tpb.TransportOption) ([]*gnmi.ModelData } transport, ok := t.(*nucleus.Gnmi) if !ok { - return nil, &errors.ErrInvalidTypeAssertion{} + return nil, &errors.InvalidTypeAssertionError{} } resp, err := transport.Capabilities(ctx) if err != nil { @@ -32,7 +32,7 @@ func Discover(ctx context.Context, opts *tpb.TransportOption) ([]*gnmi.ModelData } capabilities, ok := resp.(*gnmi.CapabilityResponse) if !ok { - return nil, &errors.ErrInvalidTypeAssertion{ + return nil, &errors.InvalidTypeAssertionError{ Value: resp, Type: reflect.TypeOf(&gnmi.CapabilityResponse{}), }