SEBA-827: Implement OLT Alarms with REST and bbsimctl
          separate onu and olt alarms
          rebase
          address review comments and print alarms table for list

Change-Id: I3bc8aa03908f973c3342ec93c7399895c48639a2
diff --git a/internal/bbsim/api/grpc_api_server.go b/internal/bbsim/api/grpc_api_server.go
index ca311ce..7191c2e 100644
--- a/internal/bbsim/api/grpc_api_server.go
+++ b/internal/bbsim/api/grpc_api_server.go
@@ -131,15 +131,29 @@
 	}, nil
 }
 
-func (s BBSimServer) SetAlarmIndication(ctx context.Context, req *bbsim.AlarmRequest) (*bbsim.Response, error) {
+func (s BBSimServer) SetOnuAlarmIndication(ctx context.Context, req *bbsim.ONUAlarmRequest) (*bbsim.Response, error) {
 	o := devices.GetOLT()
-	err := alarmsim.SimulateAlarm(ctx, req, o)
+	err := alarmsim.SimulateOnuAlarm(ctx, req, o)
 	if err != nil {
 		return nil, err
 	}
 
 	res := &bbsim.Response{}
 	res.StatusCode = int32(codes.OK)
-	res.Message = fmt.Sprintf("Alarm Indication Sent.")
+	res.Message = fmt.Sprintf("Onu Alarm Indication Sent.")
+	return res, nil
+}
+
+// SetOltAlarmIndication generates OLT Alarms for LOS
+func (s BBSimServer) SetOltAlarmIndication(ctx context.Context, req *bbsim.OLTAlarmRequest) (*bbsim.Response, error) {
+	o := devices.GetOLT()
+	err := alarmsim.SimulateOltAlarm(ctx, req, o)
+	if err != nil {
+		return nil, err
+	}
+
+	res := &bbsim.Response{}
+	res.StatusCode = int32(codes.OK)
+	res.Message = fmt.Sprintf("Olt Alarm Indication Sent.")
 	return res, nil
 }