File: sequence_trigger_audit_in_decision_engine.txt

package info (click to toggle)
watcher 14.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,764 kB
  • sloc: python: 48,904; xml: 312; sh: 265; makefile: 75
file content (50 lines) | stat: -rw-r--r-- 1,995 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
@startuml

skinparam maxMessageSize 100

"AMQP Bus" -> "Decision Engine"  : trigger audit

activate "Decision Engine"

"Decision Engine" -> "Database" : update audit.state = ONGOING
"AMQP Bus" <[#blue]- "Decision Engine" : notify new audit state = ONGOING
"Decision Engine" -> "Database" : get audit parameters (goal, strategy, ...)
"Decision Engine" <-- "Database" : audit parameters (goal, strategy, ...)
"Decision Engine" --> "Decision Engine"\
: select appropriate optimization strategy (via the Strategy Selector)
create Strategy
"Decision Engine" -> "Strategy" : execute strategy
activate "Strategy"
    "Strategy" -> "Cluster Data Model Collector" : get cluster data model
    "Cluster Data Model Collector" --> "Strategy"\
    : copy of the in-memory cluster data model
    loop while enough history data for the strategy
        "Strategy" -> "Ceilometer API" : get necessary metrics
        "Strategy" <-- "Ceilometer API" : aggregated metrics
    end
    "Strategy" -> "Strategy"\
    : compute/set needed actions for the solution so it achieves its goal
    "Strategy" -> "Strategy" : compute/set efficacy indicators for the solution
    "Strategy" -> "Strategy" : compute/set the solution global efficacy
    "Decision Engine" <-- "Strategy"\
    : solution (unordered actions, efficacy indicators and global efficacy)
deactivate "Strategy"

create "Planner"
"Decision Engine" -> "Planner" : load actions scheduler
"Planner" --> "Decision Engine" : planner plugin
"Decision Engine" -> "Planner" : schedule actions
activate "Planner"
    "Planner" -> "Planner"\
    : schedule actions according to scheduling rules/policies
    "Decision Engine" <-- "Planner" : new action plan
deactivate "Planner"
"Decision Engine" -> "Database" : save new action plan in database
"Decision Engine" -> "Database" : update audit.state = SUCCEEDED
"AMQP Bus" <[#blue]- "Decision Engine" : notify new audit state = SUCCEEDED

deactivate "Decision Engine"

hnote over "Decision Engine" : Idle

@enduml