tripleo-docs/doc/source/upgrade/developer/upgrades/major_upgrade.plantuml
Marios Andreou 54f5caaa8f Reorganise upgrade/update/ffwd upgrade docs into their own section
Brings together the upgrade/update/ffwd upgrade user and developer
docs into a new section for better visibility

Change-Id: Iecdd67f02f5686a49c3a7f1d998de8e49492ff83
Related-Bug: #1804642
2018-11-26 19:12:28 +02:00

189 lines
3.5 KiB
Plaintext

' The png image can be generated by running:
'
' plantuml major_upgrade.plantuml
@startuml
actor User
participant Mistral
participant Heat
participant Ansible
participant Nodes
' in newer versions of plantuml we should use: collections Nodes
' === UPGRADE PREPARE ===
User -> Mistral : openstack overcloud\nupgrade prepare
activate Mistral
Mistral -> Mistral : plan update
Mistral -> Heat : stack update
activate Heat
Heat --> Mistral
deactivate Heat
Mistral --> User
deactivate Mistral
' === UPGRADE RUN ===
User -> Mistral : openstack overcloud\nupgrade run
activate Mistral
note right of Heat
* Operates on all selected nodes in parallel.
* Note the separate ansible-playbook invocations:
facts aren't carried over between playbooks.
end note
Mistral -> Heat : query stack outputs
activate Heat
Heat --> Mistral : stack outputs
deactivate Heat
Mistral -> Mistral : generate playbooks
Mistral -> Ansible : upgrade_steps_playbook.yaml
activate Ansible
Ansible -> Nodes : upgrade_tasks all steps
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible --> Mistral
deactivate Ansible
Mistral -> Ansible : deploy_steps_playbook.yaml
activate Ansible
Ansible -> Nodes : host_prep_tasks
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible -> Nodes : deploy_tasks all steps
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible --> Mistral
deactivate Ansible
Mistral -> Ansible : post_upgrade_steps_playbook.yaml
activate Ansible
Ansible -> Nodes : post_upgrade_tasks all steps
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible --> Mistral
deactivate Ansible
Mistral --> User :
deactivate Mistral
' === EXTERNAL UPGRADE RUN ===
User -> Mistral : openstack overcloud\nexternal-upgrade 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
upgrade and deploy tasks.
* Often limited via `--tags` to perform a particular
upgrade task or an upgrade of a particular service.
* Can be executed before `upgrade 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_upgrade_steps_playbook.yaml
activate Ansible
Ansible -> Nodes : external_upgrade_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
' === UPGRADE CONVERGE ===
User -> Mistral : openstack overcloud\nupgrade 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