4f8591cb02
In this changeset, I updated the architecture documentation about the Decision Engine by adding a new sequence diagram outlining the CDM synchronization workflow. I also explained the default 'period' parameter used in the CDMC plugin. Change-Id: I09790281ba9117e302ab8e66a887667929c6c261 Partially-Implements: blueprint cluster-model-objects-wrapper
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
@startuml
|
|
skinparam maxMessageSize 100
|
|
|
|
actor "Administrator"
|
|
|
|
== Initialization ==
|
|
|
|
"Administrator" -> "Decision Engine" : Start all services
|
|
"Decision Engine" -> "Background Task Scheduler" : Start
|
|
|
|
activate "Background Task Scheduler"
|
|
"Background Task Scheduler" -> "Cluster Model Collector Loader"\
|
|
: List available cluster data models
|
|
"Cluster Model Collector Loader" --> "Background Task Scheduler"\
|
|
: list of BaseClusterModelCollector instances
|
|
|
|
loop for every available cluster data model collector
|
|
"Background Task Scheduler" -> "Background Task Scheduler"\
|
|
: add periodic synchronization job
|
|
create "Jobs Pool"
|
|
"Background Task Scheduler" -> "Jobs Pool" : Create sync job
|
|
end
|
|
deactivate "Background Task Scheduler"
|
|
|
|
hnote over "Background Task Scheduler" : Idle
|
|
|
|
== Job workflow ==
|
|
|
|
"Background Task Scheduler" -> "Jobs Pool" : Trigger synchronization job
|
|
"Jobs Pool" -> "Nova Cluster Data Model Collector" : synchronize
|
|
|
|
activate "Nova Cluster Data Model Collector"
|
|
"Nova Cluster Data Model Collector" -> "Nova API"\
|
|
: Fetch needed data to build the cluster data model
|
|
"Nova API" --> "Nova Cluster Data Model Collector" : Needed data
|
|
"Nova Cluster Data Model Collector" -> "Nova Cluster Data Model Collector"\
|
|
: Build an in-memory cluster data model
|
|
]o<-- "Nova Cluster Data Model Collector" : Done
|
|
deactivate "Nova Cluster Data Model Collector"
|
|
|
|
@enduml
|