Minor update of HA services doesn't work if container image names changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Damien Ciabrini |
Bug Description
In HA overclouds, the container image to use for a HA service is
configured in a pacemaker resource definition. This information is
shared across all the nodes of the a cluster <node A, node B, node C>,
so changing the container image information restarts the service on
all nodes in the cluster.
To implement container update without service disruption, the HA
service doesn't directly use the container image configured by Heat,
e.g. <registry/
tag <registry/
currently in use on the node (i.e. <registry/
That way, when a service needs to be updated, the update task
pulls a new image <registry/
then retags <registry/
image <registry/
the node.
The limiit of that approach is that only the tag part of the container
image is allowed to be updated during a minor update. If the name
prefix is changed, the minor update will fail when is it run on the
first cluster node (e.g. node A):
. the new image <registry/
. tag <registry/
<registry/
. pacemaker resource config is changed from <registry/
to <registry/
. pacemaker triggers a restart of the container on all the cluster
nodes.
At this points, nodes B and C try to start the container with a
non existent image <registry/
pulled from the registry. This leaves the resource in error in the
cluster and makes the minor update fail.
Related: rhbz#1749988 rhbz#1655250
Changed in tripleo: | |
milestone: | none → ussuri-1 |
importance: | Medium → High |
Fix proposed to branch: master /review. opendev. org/697959
Review: https:/