54f5caaa8f
Brings together the upgrade/update/ffwd upgrade user and developer docs into a new section for better visibility Change-Id: Iecdd67f02f5686a49c3a7f1d998de8e49492ff83 Related-Bug: #1804642
175 lines
3.2 KiB
Plaintext
175 lines
3.2 KiB
Plaintext
' The png image can be generated by running:
|
|
'
|
|
' plantuml minor_update.plantuml
|
|
|
|
@startuml
|
|
|
|
actor User
|
|
participant Mistral
|
|
participant Heat
|
|
participant Ansible
|
|
participant Nodes
|
|
' in newer versions of plantuml we should use: collections Nodes
|
|
|
|
|
|
' === UPDATE PREPARE ===
|
|
|
|
User -> Mistral : openstack overcloud\nupdate prepare
|
|
activate Mistral
|
|
|
|
Mistral -> Mistral : plan update
|
|
|
|
Mistral -> Heat : stack update
|
|
activate Heat
|
|
|
|
Heat --> Mistral
|
|
deactivate Heat
|
|
|
|
Mistral --> User
|
|
deactivate Mistral
|
|
|
|
|
|
' === UPDATE RUN ===
|
|
|
|
User -> Mistral : openstack overcloud\nupdate run
|
|
activate Mistral
|
|
note right of Heat
|
|
* Operates on all selected nodes one-by-one.
|
|
end note
|
|
|
|
Mistral -> Heat : query stack outputs
|
|
activate Heat
|
|
|
|
Heat --> Mistral : stack outputs
|
|
deactivate Heat
|
|
|
|
Mistral -> Mistral : generate playbooks
|
|
|
|
Mistral -> Ansible : update_steps_playbook.yaml
|
|
activate Ansible
|
|
|
|
Ansible -> Nodes : update_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible -> Nodes : host_prep_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible -> Nodes : common_deploy_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible -> Nodes : post_update_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible --> Mistral
|
|
deactivate Ansible
|
|
|
|
Mistral --> User :
|
|
deactivate Mistral
|
|
|
|
|
|
' === EXTERNAL UPDATE RUN ===
|
|
|
|
User -> Mistral : openstack overcloud\nexternal-update run
|
|
activate Mistral
|
|
note right of Heat
|
|
* Executes tasks on undercloud, but can affect
|
|
overcloud via delegation or nested Ansible process.
|
|
* Single play: facts are carried over between
|
|
update and deploy tasks.
|
|
* Often limited via `--tags` to perform a particular
|
|
update task or an update of a particular service.
|
|
* Can be executed before `update run` for some tasks.
|
|
end note
|
|
|
|
Mistral -> Heat : query stack outputs
|
|
activate Heat
|
|
|
|
Heat --> Mistral : stack outputs
|
|
deactivate Heat
|
|
|
|
Mistral -> Mistral : generate playbooks
|
|
|
|
Mistral -> Ansible : external_update_steps_playbook.yaml
|
|
activate Ansible
|
|
|
|
Ansible -> Nodes : external_update_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible -> Nodes : external_deploy_tasks all steps
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible --> Mistral
|
|
deactivate Ansible
|
|
|
|
Mistral --> User :
|
|
deactivate Mistral
|
|
|
|
|
|
' === UPDATE CONVERGE ===
|
|
|
|
User -> Mistral : openstack overcloud\nupdate converge
|
|
activate Mistral
|
|
note right of Heat
|
|
* Essentially the same as `overcloud deploy`,
|
|
asserts that the state of overcloud matches
|
|
the latest templates.
|
|
end note
|
|
|
|
Mistral -> Mistral : plan update
|
|
|
|
Mistral -> Heat : stack update
|
|
activate Heat
|
|
|
|
Heat --> Mistral
|
|
deactivate Heat
|
|
|
|
Mistral -> Heat : query stack outputs
|
|
activate Heat
|
|
|
|
Heat --> Mistral : stack outputs
|
|
deactivate Heat
|
|
|
|
Mistral -> Mistral : generate playbooks
|
|
|
|
Mistral -> Ansible : deploy_steps_playbook.yaml
|
|
activate Ansible
|
|
|
|
Ansible -> Nodes : host_prep_tasks
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible -> Nodes : deploy_tasks and external_deploy_tasks\nall steps (interleaved)
|
|
activate Nodes
|
|
|
|
Nodes --> Ansible
|
|
deactivate Nodes
|
|
|
|
Ansible --> Mistral
|
|
deactivate Ansible
|
|
|
|
Mistral --> User :
|
|
deactivate Mistral
|
|
|
|
|
|
@enduml
|