Skip to content
Snippets Groups Projects
Commit 2ad5c6c3 authored by trantzas's avatar trantzas
Browse files

Merge branch '11-update-documentation-with-current-metrico-logic' into 'develop'

Resolve "Update Documentation Sequence Diagram with current METRICO logic"

See merge request !7
parents f3df407b f8e4179c
No related branches found
No related tags found
1 merge request!7Resolve "Update Documentation Sequence Diagram with current METRICO logic"
Pipeline #13748 passed
@startuml FlowDiagram @startuml
actor "ACTOR" as actor actor "USER" as actor
participant "OSOM" as osom participant "OSOM" as osom
participant "TMF API" as tmf_api participant "TMF API" as tmf_api
queue amq as amq queue "Message Bus" as amq
participant "METRICO" as metrico participant "METRICO" as metrico
participant prometheus as prom participant Prometheus as prom
actor -> tmf_api: CREATE: Service Order Monitoring aaS actor -> tmf_api: Create Service Order Monitoring aaS
osom -> osom: PROCESS ORDER osom -> osom: Process order
osom -> tmf_api: CREATE: service instance of monitoring aaS (RFS)(Initial Status: Reseved) osom -> tmf_api: Create Service instance of monitoring aaS (CFS) (Initial Status: Reserved)
osom -> tmf_api: CREATE: service instance of monitoring aaS (CFS)(Initial Status: Reseved) osom -> tmf_api: Create Service instance of monitoring aaS (RFS) (Initial Status: Reserved)
osom -> amq: Create Resource Message \n<color:green>jms:queue:CATALOG.ADD.RESOURCE \n<color:green>payload: Status = "Reserved" & Characteristic _MT_MCJ_REF = "PENDING"
amq -> tmf_api: LISTENS FOR: Create Resource Message \n<color:green>jms:queue:CATALOG.ADD.RESOURCE
tmf_api -> tmf_api: Create Resource
tmf_api --> amq: RESPONSE: Resource
amq --> osom: RESPONSE: Resource
osom -> amq: CREATE: TMF628 Measurement Collection Job \n<color:green>queue:PM_MEASUREMENT_COLLECTION_JOB_ADD \n<color:green>payload: MeasurementCollectionJobFVO osom -> amq: Create TMF628 Measurement Collection Job Message \n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD \n<color:green>payload: MeasurementCollectionJobFVO
amq -> tmf_api: CREATE: TMF628 Measurement Collection Job \n<color:green>queue:PM_MEASUREMENT_COLLECTION_JOB_ADD \n<color:green>payload: MeasurementCollectionJobFVO (Here I can find the MCJ ID)
tmf_api -> amq: CREATE: TMF628 Measurement Collection Job \n<color:green>queue:PM_MEASUREMENT_COLLECTION_JOB_ADD \n<color:green>payload: MeasurementCollectionJob (Here I can find the MCJ ID)
osom -> tmf_api: CREATE: Resource Instance (Initial Status: Reseved)(associate to RFS)(add the MCJ UUID)
amq -> osom: CREATE: TMF628 Measurement Collection Job \n<color:green>queue:PM_MEASUREMENT_COLLECTION_JOB_ADD \n<color:green>payload: MeasurementCollectionJob (Here I can find the MCJ ID)
tmf_api -> amq: PUBLISH EVENT: Monitoring Job Created\n<color:green>topic: PM_MEASUREMENT_COLLECTION_JOB_CREATED\n<color:green>payload: Measurement Collection Job Ref
amq -> metrico: RECEIVE EVENT: Monitoring Job Created\n<color:green>topic: PM_MEASUREMENT_COLLECTION_JOB_CREATED\n<color:green>payload: Measurement Collection Job Ref
metrico -> tmf_api: fetch Measurement Collection Job from ref
tmf_api -> metrico: fetch Measurement Collection Job from ref
metrico -> metrico: create METRICO job
metrico -> amq: UPDATE Measurement Collection Job Status
amq -> tmf_api: LISTENS FOR: Create TMF628 Measurement Collection Job Message \n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD
tmf_api -> tmf_api: Create Measurement Collection Job (MCJ)
tmf_api -> amq: Publish Measurement Collection Job Creation Event\n<color:green>jms:topic:EVENT.MEASUREMENTCOLLECTIONJOB.CREATE\n<color:green>payload: Measurement Collection Job Ref
tmf_api --> amq: RESPONSE: Create TMF628 Measurement Collection Job Message \n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD \n<color:green>payload: MeasurementCollectionJob (Includes MCJ ID)
group "java job" amq --> osom: RESPONSE: MeasurementCollectionJob
metrico -> metrico : set how often job is done osom -> tmf_api: Update RFS \n<color:green>(Characteristic _MT_MCJ_REFID = MCJ ID) \n<color:green>(associate with RFS)
metrico -> prom : send prom req
prom -> metrico : reply to prom req amq -> metrico: LISTENS FOR: Measurement Collection Job Creation Event\n<color:green>jms:topic:EVENT.MEASUREMENTCOLLECTIONJOB.CREATE\n<color:green>payload: Measurement Collection Job Ref
metrico -> metrico : parse data from reply and cast them to data access endpoint metrico -> amq: Retrieve Measurement Collection Job by ID\n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.GET_BY_ID\n<color:green>payload: Measurement Collection Job ID
amq -> tmf_api: LISTENS FOR: Retrieve Measurement Collection Job by ID\n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.GET_BY_ID
tmf_api --> amq: RESPONSE: Measurement Collection Job
amq --> metrico: RESPONSE: Measurement Collection Job
metrico -> metrico: create METRICO job from Measurement\nCollection Job and get its state
metrico -> amq: Update Measurement Collection Job Message \n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE\n<color:green>payload: Measure Collection Job (update execution state)
amq -> tmf_api: LISTENS FOR: Update Measurement Collection Job Message \n<color:green>jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE
metrico -> amq: Retrieve Service by ID Message\n<color:green>jms:queue:CATALOG.GET.SERVICE\n<color:green>payload: MCJ Producing Application ID (RFS ID)
amq -> tmf_api: LISTENS FOR: Retrieve Service by ID Message\n<color:green>jms:queue:CATALOG.GET.SERVICE
tmf_api --> amq: RESPONSE: Service (RFS with related Resource)
amq --> metrico: RESPONSE: Service (RFS with related Resource)
metrico -> amq: Update Resource Message\n<color:green>jms:queue:CATALOG.UPD.RESOURCE\n<color:green>payload: Characteristic _MT_MCJ_REF = MCJ ID \n<color:green>& Status = "AVAILABLE"
amq -> tmf_api: LISTENS FOR: Update Resource Message\n<color:green>jms:queue:CATALOG.UPD.RESOURCE
tmf_api --> amq: RESPONSE: Updated Resource
amq --> metrico: RESPONSE: Updated Resource
group "METRICO job"
metrico -> metrico : Set job schedule and interval
metrico -> prom : Send Prometheus query
prom --> metrico : Prometheus response
metrico -> amq : Update Service Message\n<color:green>jms:queue:CATALOG.UPD.SERVICE \n<color:green>payload: Characteristic named MCJ.outputFormat \n<color:green>is updated with Prometheus response
amq -> tmf_api: LISTENS FOR: Update Service Message\n<color:green>jms:queue:CATALOG.UPD.SERVICE
metrico -> amq : UPDATE: Related service to the Service Inventory\n<color:green>queue:jms:queue:CATALOG.UPD.SERVICE \n<color:green>payload: ServiceUpdate, serviceId
amq -> tmf_api: UPDATE: Related service to the Service Inventory\n<color:green>queue:jms:queue:CATALOG.UPD.SERVICE \n<color:green>payload: ServiceUpdate, serviceId
end end
@enduml tmf_api -> actor: Retrieve Monitoring data from the updated Service
\ No newline at end of file
@enduml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment