StarlingX System Configuration Management
Go to file
Chris Friesen 7e281afa39 Add support for galera based mariadb replication
Building on top of the previous commit which added the helm chart
for the galera arbitrator, this does essentially three things:

1) Add the galera arbitrator (aka "garbd") helm chart to the
stx-openstack application manifests as part of the mariadb
chart group.

2) Modify the mariadb system overrides to specify a number of
replicas equal to the number of controller nodes.

3) Modify sysinv to remove the garbd helm chart from the mariadb
chart group if there is only one controller node (for the AIO-SX
use-case).

The rationale for this is that galera requires three DB nodes to
allow for a quorum if a Kubernetes node goes down.  The mariadb
replicas use StatefulSets and are therefore pinned to specific
Kubernetes nodes which is problematic for the third DB node--if
its host node goes down it won't be moved to the remaining
Kubernetes node. By running a galera arbitrator as the third DB
node, we avoid this problem (because the arbitrator is stateless
and can be restarted on the remaining Kubernetes node).

The third item was a bit tricky and required testing a few different
approaches.  Just setting the chart manifests to "disabled" should
have worked, but Armada got stuck waiting for resources that didn't
exist.  Newer Armada supports explicitly setting an empty list of
resources to wait for, but that would require an Armada upgrade and
would still require a meta-override to specify the wait parameters.
Ultimately the path chosen was to add the ability for each helm
class in sysinv to specify meta-overrides as well as regular
values overrides.  This allows them to change non-values portions
of the "chart" section of the manifest, as well as the "chartgroup"
section or even the main "manifest" section.

Change-Id: I1fe66985a4af18d624aa54d45e91db7c121333f5
Story: 2004712
Task: 28743
Task: 29055
Task: 29056
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
2019-01-31 09:22:45 -06:00
api-ref/source Clean up and standardize landing pages 2018-12-27 16:49:27 -08:00
config-gate Change compute node to worker node personality 2018-12-13 14:15:55 -05:00
configutilities Allow DNS server configuration for kubernetes 2019-01-24 08:40:25 -06:00
controllerconfig Revert "Add docker proxy configuration for kubernetes". 2019-01-24 16:33:41 +00:00
devstack [Devstack] remove etc/sysinv/crushmap.bin install in devstack 2019-01-24 11:15:11 +08:00
doc Clean up and standardize landing pages 2018-12-27 16:49:27 -08:00
kubernetes Add support for galera based mariadb replication 2019-01-31 09:22:45 -06:00
playbooks/tox-puppet-lint Add puppet-lint support 2018-12-24 13:50:20 -06:00
puppet-manifests Merge "Revert "Add docker proxy configuration for kubernetes"." 2019-01-24 17:47:43 +00:00
puppet-modules-wrs Add Barbican bootstrap and runtime manifests 2019-01-11 13:33:00 -05:00
releasenotes Clean up and standardize landing pages 2018-12-27 16:49:27 -08:00
storageconfig Fixing linters errors E010, E011, E020, E041,E043, E003, E001,E042 2018-09-11 21:47:40 +08:00
sysinv Add support for galera based mariadb replication 2019-01-31 09:22:45 -06:00
tmp/patch-scripts/EXAMPLE_SYSINV/scripts StarlingX open source release updates 2018-05-31 07:35:52 -07:00
worker-utils Change compute node to worker node personality 2018-12-13 14:15:55 -05:00
workerconfig Change compute node to worker node personality 2018-12-13 14:15:55 -05:00
.gitignore Fixing up tox -e cover for stx-config 2018-12-20 08:53:15 -06:00
.gitreview Set .gitreview back to use review.openstack.org 2018-09-04 21:12:34 +00:00
.yamllint clear yamllint errors under stx-config 2018-09-12 21:11:57 +08:00
.zuul.yaml Add puppet-lint support 2018-12-24 13:50:20 -06:00
centos_helm.inc Add stx-openstack-helm to the containers build 2018-11-14 11:55:29 -05:00
centos_iso_image.inc Change compute node to worker node personality 2018-12-13 14:15:55 -05:00
centos_pike_wheels.inc Rename centos_wheels.inc to centos_pike_wheels.inc 2018-11-14 15:05:28 -06:00
centos_pkg_dirs Build stx-openstack-helm without requiring networking 2019-01-08 13:13:13 -06:00
centos_pkg_dirs_containers Add stx-openstack-helm to the containers build 2018-11-14 11:55:29 -05:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:35:52 -07:00
LICENSE StarlingX open source release updates 2018-05-31 07:35:52 -07:00
README.rst StarlingX open source release updates 2018-05-31 07:35:52 -07:00
test-requirements.txt Properly enable hacking checks for flake8 2018-12-18 11:28:56 -06:00
tox.ini Add puppet-lint support 2018-12-24 13:50:20 -06:00

stx-config

StarlingX Configuration Management