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:
committed by
Jiri Stransky
parent
1c604b9aec
commit
aa277dc341
@@ -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
|
||||
BIN
doc/source/upgrade/developer/upgrades/major_upgrade_with_os.png
Normal file
BIN
doc/source/upgrade/developer/upgrades/major_upgrade_with_os.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 177 KiB |
Reference in New Issue
Block a user