32 lines
1.3 KiB
Plaintext
32 lines
1.3 KiB
Plaintext
@startuml
|
|
|
|
"AMQP Bus" -> "Watcher Applier" : launch_action_plan(action_plan.uuid)
|
|
"Watcher Applier" -> "Watcher Database" : action_plan.state=ONGOING
|
|
"Watcher Applier" -[#blue]> "AMQP Bus" : notify action plan state = ONGOING
|
|
"Watcher Applier" -> "Watcher Database" : get_action_list(action_plan.uuid)
|
|
"Watcher Applier" <-- "Watcher Database" : actions
|
|
loop for each action of the action flow
|
|
create Action
|
|
"Watcher Applier" -> Action : instantiate Action object with target resource id\n and input parameters
|
|
"Watcher Applier" -> Action : validate_parameters()
|
|
"Watcher Applier" <-- Action : OK
|
|
"Watcher Applier" -[#blue]> "AMQP Bus" : notify action state = ONGOING
|
|
"Watcher Applier" -> Action : preconditions()
|
|
"Watcher Applier" <-- Action : OK
|
|
"Watcher Applier" -> Action : execute()
|
|
alt action is "migrate instance"
|
|
Action -> "Nova API" : migrate(instance_id, dest_host_id)
|
|
Action <-- "Nova API" : OK
|
|
else action is "disable hypervisor"
|
|
Action -> "Nova API" : host-update(host_id, maintenance=true)
|
|
Action <-- "Nova API" : OK
|
|
end
|
|
"Watcher Applier" <-- Action : OK
|
|
"Watcher Applier" -> "Watcher Database" : action.state=SUCCEEDED
|
|
"Watcher Applier" -[#blue]> "AMQP Bus" : notify action state = SUCCEEDED
|
|
end
|
|
"Watcher Applier" -> "Watcher Database" : action_plan.state=SUCCEEDED
|
|
"Watcher Applier" -[#blue]> "AMQP Bus" : notify action plan state = SUCCEEDED
|
|
|
|
@enduml
|