diff --git a/northbound/server/pnd.go b/northbound/server/pnd.go
index 00a334b8808a6877ab4129bfdb865934edde9f4f..2b8a3b3f8963ec432a2edaeddc3b84f486984d85 100644
--- a/northbound/server/pnd.go
+++ b/northbound/server/pnd.go
@@ -2,6 +2,8 @@ package server
 
 import (
 	"context"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/status"
 	"reflect"
 	"time"
 
@@ -20,7 +22,7 @@ type pnd struct {
 func (p pnd) Get(ctx context.Context, request *ppb.GetRequest) (*ppb.GetResponse, error) {
 	pid, err := uuid.Parse(request.Pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	switch req := request.Request.(type) {
 	case *ppb.GetRequest_Pnd:
@@ -32,26 +34,26 @@ func (p pnd) Get(ctx context.Context, request *ppb.GetRequest) (*ppb.GetResponse
 	case *ppb.GetRequest_Change:
 		return handleGetChange(pid, req)
 	default:
-		return nil, errors.ErrOperationNotSupported{Op: reflect.TypeOf(request.Request)}
+		return nil, status.Errorf(codes.Aborted, "%v", errors.ErrOperationNotSupported{Op: reflect.TypeOf(request.Request)})
 	}
 }
 
 func handleGetPnd(pid uuid.UUID) (*ppb.GetResponse, error) {
 	pnd, err := pndc.Get(pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	onds, err := fillOnds(pnd, true)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	sbis, err := fillSbis(pnd, true)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	changes, err := fillChanges(pnd, true)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 
 	return &ppb.GetResponse{
@@ -70,11 +72,11 @@ func handleGetPnd(pid uuid.UUID) (*ppb.GetResponse, error) {
 func handleGetSbi(pid uuid.UUID, req *ppb.GetRequest_Sbi) (*ppb.GetResponse, error) {
 	pnd, err := pndc.Get(pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	sbis, err := fillSbis(pnd, req.Sbi.GetAll(), req.Sbi.Sid...)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	return &ppb.GetResponse{
 		Timestamp: time.Now().UnixNano(),
@@ -87,7 +89,7 @@ func stringToUUID(sid []string) ([]uuid.UUID, error) {
 	for i, id := range sid {
 		parsed, err := uuid.Parse(id)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		UUIDs[i] = parsed
 	}
@@ -97,11 +99,11 @@ func stringToUUID(sid []string) ([]uuid.UUID, error) {
 func handleGetOnd(pid uuid.UUID, req *ppb.GetRequest_Ond) (*ppb.GetResponse, error) {
 	pnd, err := pndc.Get(pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	onds, err := fillOnds(pnd, req.Ond.All, req.Ond.Did...)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	return &ppb.GetResponse{
 		Timestamp: time.Now().UnixNano(),
@@ -112,11 +114,11 @@ func handleGetOnd(pid uuid.UUID, req *ppb.GetRequest_Ond) (*ppb.GetResponse, err
 func handleGetChange(pid uuid.UUID, req *ppb.GetRequest_Change) (*ppb.GetResponse, error) {
 	pnd, err := pndc.Get(pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	changes, err := fillChanges(pnd, req.Change.All, req.Change.Cuid...)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	return &ppb.GetResponse{
 		Timestamp: time.Now().UnixNano(),
@@ -141,14 +143,14 @@ func fillSbis(pnd nucleus.PrincipalNetworkDomain, all bool, sid ...string) ([]*s
 		}
 		sbiList, err = stringToUUID(sid)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 	sbis := make([]*spb.SouthboundInterface, len(sbiList))
 	for i, id := range sbiList {
 		sbi, err := sbiStore.Get(id)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		sbis[i] = &spb.SouthboundInterface{
 			Id:   id.String(),
@@ -174,7 +176,7 @@ func fillOnds(pnd nucleus.PrincipalNetworkDomain, all bool, did ...string) ([]*p
 		}
 		ondList, err = stringToUUID(did)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 
@@ -182,12 +184,12 @@ func fillOnds(pnd nucleus.PrincipalNetworkDomain, all bool, did ...string) ([]*p
 	for i, id := range ondList {
 		d, err := pnd.GetDevice(id.String())
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		cfg := ygot.GNMINotificationsConfig{}
 		dev, err := ygot.TogNMINotifications(d.(nucleus.Device).Model(), time.Now().UnixNano(), cfg)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		onds[i] = &ppb.OrchestratedNetworkingDevice{
 			Id:     id.String(),
@@ -215,7 +217,7 @@ func fillChanges(pnd nucleus.PrincipalNetworkDomain, all bool, cuid ...string) (
 		}
 		changeList, err = stringToUUID(cuid)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 
@@ -223,7 +225,7 @@ func fillChanges(pnd nucleus.PrincipalNetworkDomain, all bool, cuid ...string) (
 	for i, ch := range changeList {
 		c, err := pnd.GetChange(ch)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		change, ok := c.(*nucleus.Change)
 		if !ok {
@@ -245,25 +247,25 @@ func fillChanges(pnd nucleus.PrincipalNetworkDomain, all bool, cuid ...string) (
 func (p pnd) Set(ctx context.Context, request *ppb.SetRequest) (*ppb.SetResponse, error) {
 	pid, err := uuid.Parse(request.Pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 
 	pnd, err := pndc.Get(pid)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 
 	ondResp, err := handleSetOnd(pnd, request.Ond)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	changeResp, err := handleSetChange(pnd, request.Change)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	changeRequestResp, err := handleChangeRequest(pnd, request.ChangeRequest)
 	if err != nil {
-		return nil, err
+		return nil, status.Errorf(codes.Aborted, "%v", err)
 	}
 	return &ppb.SetResponse{
 		Timestamp: time.Now().UnixNano(),
@@ -280,7 +282,7 @@ func handleSetOnd(pnd nucleus.PrincipalNetworkDomain, req []*ppb.SetOnd) (*ppb.S
 	for _, r := range req {
 		sid, err := uuid.Parse(r.Sbi.Id)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		if err := pnd.AddDevice(r.DeviceName, r.TransportOption, sid); err != nil {
 			return nil, err
@@ -303,16 +305,16 @@ func handleSetChange(pnd nucleus.PrincipalNetworkDomain, req []*ppb.SetChange) (
 	for _, r := range req {
 		cuid, err := uuid.Parse(r.Cuid)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		switch r.Op {
 		case ppb.SetChange_COMMIT:
 			if err := pnd.Commit(cuid); err != nil {
-				return nil, err
+				return nil, status.Errorf(codes.Aborted, "%v", err)
 			}
 		case ppb.SetChange_CONFIRM:
 			if err := pnd.Confirm(cuid); err != nil {
-				return nil, err
+				return nil, status.Errorf(codes.Aborted, "%v", err)
 			}
 		default:
 			return nil, &errors.ErrInvalidParameters{
@@ -331,10 +333,10 @@ func handleChangeRequest(pnd nucleus.PrincipalNetworkDomain, req []*ppb.ChangeRe
 	for _, r := range req {
 		did, err := uuid.Parse(r.Id)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		if err := pnd.ChangeOND(did, r.ApiOp, r.Path, r.Value); err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 	return &ppb.SetResponse{