42e57118c3
On a two-node system the openstack-helm chart for mariadb has issues. If you run with a single replica then your failover times are very long due to internal timeouts in kubernetes which prevent accessing the backing volume on the newly-active node. At the same time, you can't run a "garbd" pod the way we do on a full lab configuration because there is no third node to run it on. The only viable option we've found is to trigger something to explicitly tell the mariadb pod on the active node to bootstrap a new primary cluster if it loses quorum due to the other mariadb pod going away unexpectedly. Accordingly, this commit creates a new "dbmon" OCF script which behaves basically as follows: start -- return $OCF_SUCCESS stop -- return $OCF_NOT_RUNNING standby -- return $OCF_SUCCESS or $OCF_NOT_RUNNING depending on whether mariadb on this node is a member of the primary cluster active -- if mariadb on this node is not a member of the primary cluster then tell it to bootstrap a new primary cluster. Then check again and return $OCF_SUCCESS or $OCF_NOT_RUNNING depending on whether mariadb on this node is a member of the primary cluster monitor -- If mariadb on this node is a member of the primary cluster then return $OCF_RUNNING_MASTER on the active controller and $OCF_SUCCESS on the standby controller. If mariadb is not a member of the primary cluster return $OCF_NOT_RUNNING. There are a few complicating factors. If openstack application or mariadb chart not installed then treat it like being a member of the primary cluster. If the mariadb pod is still initializing treat it like not being a member of the primary cluster. If we're in a standard lab (with garbd running on a compute node) then don't actually tell mariadb to bootstrap a new primary cluster but just report whether it's a member of the primary cluster or not. Story: 2004712 Task: 30410 Change-Id: I8d91dc13cb9a9adb7f7a7a95faadad4339ddb466 Signed-off-by: Chris Friesen <chris.friesen@windriver.com> |
||
---|---|---|
doc | ||
openstack | ||
releasenotes | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
CONTRIBUTORS.wrs | ||
LICENSE | ||
README.rst | ||
centos_dev_docker_images.inc | ||
centos_helm.inc | ||
centos_iso_image.inc | ||
centos_pkg_dirs | ||
centos_pkg_dirs_containers | ||
centos_stable_wheels.inc | ||
test-requirements.txt | ||
tox.ini |
README.rst
stx-upstream
StarlingX Upstream Packages