tripleo-docs/doc/source/upgrade/developer/upgrades/fast_fw_upgrade.plantuml

191 lines
3.5 KiB
Plaintext

' The png image can be generated by running:
'
' plantuml fast_fw_upgrade.plantuml
@startuml
actor User
participant Mistral
participant Heat
participant Ansible
participant Nodes
' in newer versions of plantuml we should use: collections Nodes
' === FFWD-UPGRADE PREPARE ===
User -> Mistral : openstack overcloud\nffwd-upgrade prepare
activate Mistral
Mistral -> Mistral : plan update
Mistral -> Heat : stack update
activate Heat
Heat --> Mistral
deactivate Heat
Mistral --> User
deactivate Mistral
' === FFWD-UPGRADE RUN ===
User -> Mistral : openstack overcloud\nffwd-upgrade run
activate Mistral
note right of Heat
* Operates on all overcloud nodes.
* Intended usage:
* On bootstrap nodes it shuts down services and
performs upgrade to N+1 and N+2.
* On other nodes it just shuts down services.
end note
Mistral -> Heat : query stack outputs
activate Heat
Heat --> Mistral : stack outputs
deactivate Heat
Mistral -> Mistral : generate playbooks
Mistral -> Ansible : fast_forward_upgrade_playbook.yaml
activate Ansible
Ansible -> Nodes : fast_forward_upgrade_tasks\n(once per each release)
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible -> Nodes : fast_forward_post_upgrade_tasks
activate Nodes
Nodes --> Ansible
deactivate Nodes
Ansible --> Mistral
deactivate Ansible
Mistral --> User :
deactivate Mistral
' === UPGRADE RUN ===
User -> Mistral : openstack overcloud\nupgrade run
activate Mistral
note right of Heat
* Reuse of the normal upgrade command.
* Operates on all selected nodes in parallel.
* Note the separate ansible-playbook invocations:
facts aren't carried over between playbooks.
* Intended usage:
* Upgrades bootstrap nodes from N+2 to N+3.
* Upgrades other nodes from N to N+3.
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
' === FFWD-UPGRADE CONVERGE ===
User -> Mistral : openstack overcloud\nffwd-upgrade 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