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

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