Adding upgrade with os upgrade graphics.

Change-Id: I02b2fa916792f20536af92a94e8e685d4777dace
Implements: blueprint upgrades-with-os
Co-Authored-By: Jiri Stransky <jistr@redhat.com>
This commit is contained in:
Sofer Athlan-Guyot
2019-01-17 16:45:06 +01:00
committed by Jiri Stransky
parent 1c604b9aec
commit aa277dc341
2 changed files with 214 additions and 0 deletions

View File

@@ -0,0 +1,214 @@
' The png image can be generated by running:
'
' plantuml major_upgrade_with_os.plantuml
@startuml
actor User
participant "undercloud"
participant "controller-0"
participant "controller-1"
participant "controller-2"
' === PREPARE ===
note left of undercloud #AAFFAA
If controllers == 1, env file
is given to prefer `persist/restore`
instead of `transfer` for MariaDB.
end note
User -> "undercloud" : openstack overcloud upgrade prepare
note right
Update heat outputs using latest templates.
end note
User <-- "undercloud"
' === REPROVISION ===
User -> "controller-0" : openstack overcloud upgrade run\n --tags system-upgrade-prepare \n --playbook upgrade-playbook.yml \n --node controller-0
note right
Persist data from the bootstrap node
while it is live.
(Fetch the data to the undercloud.)
- if controllers == 1:
mariadb and other data (composable)
- if controllers > 1:
only other data (composable)
end note
"undercloud" <- "controller-0"
note left: /var/lib/mistral/tripleo-persist/
User <-- "controller-0"
User -> "controller-0" : openstack server rebuild controller-0
note right
Reprovision to the new OS.
end note
User <-- "controller-0"
User -> "controller-0" : openstack overcloud upgrade prepare\n(or enable-ssh-admin.sh, will be improved upon)
note right
Install Mistral ssh keys
end note
User <-- "controller-0"
User -> "controller-0" : openstack overcloud upgrade run\n --tags system-upgrade-run \n --playbook upgrade-playbook.yml \n --node controller-0
note right
Restore the data onto bootstrap node.
(Push the data from the undercloud.)
- if controllers == 1:
mariadb and other data (composable)
- if controllers > 1:
only other data (composable)
end note
User <-- "controller-0"
' === TRANSFER DATA ===
group Transfer the data to the freshly re-installed controller\n(only required in multi-controller environments)
note over "undercloud", "controller-2" #AAFFAA
Everything is composable, but diagram showcases MariaDB specifically
end note
User -> "undercloud" : openstack overcloud external-upgarde run
"undercloud" -> "controller-1" : pcs resource disable\ngalera-bundle
note right: Disable MariaDB
"controller-1" -> "controller-2"
note right: Disable MariaDB
note over undercloud, "controller-2" #FFAAAA
control plane outage.
end note
"undercloud" -> "controller-1" : transfer module run in ansible
note right
Transfer data:
- if controllers == 1:
nothing
- if controllers > 1:
mysql data
end note
"controller-1" -> "undercloud": get the data
note left: /var/lib/mistral/tripleo-transfer/
User <-- "controller-1"
"undercloud" -> "controller-0": push the data
note right
extract the data
end note
User <-- "undercloud"
end
' === START CONTROLLER 0 ===
"User" -> "controller-0": openstack overcloud upgrade run --nodes controller-0
note right
Configure OpenStack,
start a new cluster.
(1 node total)
end note
note over undercloud, "controller-2" #FFAAAA
controller-0 is a one node cluster running the latest version
of tripleo on the new os.
The controller plane is back.
end note
User <-- "controller-0"
' === ADD CONTROLLER 1 ===
User -> "controller-1" : openstack overcloud upgrade run\n --tags system-upgrade-prepare \n --playbook upgrade-playbook.yml \n --node controller-1
note right
Persist data
(composable)
end note
"undercloud" <- "controller-1"
note left: /var/lib/mistral/tripleo-persist/
User -> "controller-1" : openstack server rebuild controller-1
note right
Reprovision to the new OS.
end note
User <-- "controller-1"
User -> "controller-1" : openstack overcloud upgrade prepare\n(os oc reprovision ssh-admin)
note right
Install Mistral ssh keys
end note
User <-- "controller-1"
User -> "controller-1" : openstack overcloud upgrade run\n --tags system-upgrade-run \n --playbook upgrade-playbook.yml \n --nodes controller-1
note right
Restore data
(composable)
end note
User <-- "controller-1"
"User" -> "controller-1": openstack overcloud upgrade run --nodes controller-0,controller-1
"User" -> "controller-0":
note right of "controller-1"
Configure OpenStack,
join the cluster.
(2 nodes total)
end note
User <-- "controller-1"
' === ADD CONTROLLER 2 ===
User -> "controller-2" : openstack overcloud upgrade run\n --tags system-upgrade-prepare \n --playbook upgrade-playbook.yml \n --node controller-2
note right
Persist data
(composable)
end note
"undercloud" <- "controller-2"
note left: /var/lib/mistral/tripleo-persist/
User <-- "controller-2"
User -> "controller-2" : openstack server rebuild controller-2
note right
Reprovision
to the new OS.
end note
User <-- "controller-2"
User -> "controller-2" : openstack overcloud upgrade prepare\n(os oc reprovision ssh-admin)
note right
Install Mistral
ssh keys
end note
User <-- "controller-2"
User -> "controller-2" : openstack overcloud upgrade run\n --tags system-upgrade-run \n --playbook upgrade-playbook.yml \n --nodes controller-2
note right
Restore data
(composable)
end note
User <-- "controller-2"
"User" -> "controller-2": openstack overcloud upgrade run --nodes controller-0,controller-1,controller-2
"User" -> "controller-1":
"User" -> "controller-0":
note right of "controller-2"
Configure OpenStack,
join the cluster.
(3 nodes total)
end note
User <-- "controller-2"
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB