This is a major refactor of the mariadb chart. A few things
are accomplished:
* The chart template layout is updated to match our keystone
chart, providing a more structure to the chart.
* The chart was updated to leverage StatefulSets, which requires
Kubernetes 1.5, and helm 2.1.0.
* The bootstrapping process was completely overhauled to support
the unique constraints of statefulsets, namely that they come up
one by one, needing the previous to be in a ready state before
the next is provisioned.
* The references to {{ .IP }} we removed and replaced with POD_IP
environmental passing and address binding was fixed in several
places for wsrep functionality. This may explain several oddities
with the previous setup causing mysterious and intermittent
database consistency issues.
This script allows you to have an single environmental YAML file that can be
chunked up for feeding into various subcharts. This is required as values
input into helm requires the top level namespace be stripped off. In other
words, a flat namespace. This allows a single environmental definition that
can be chunked into YAML files for subchart input.
Usage will be documented on the wiki.
* A new boolean value controls whether secrets and
the ceph.conf secret ConfigMaps are installed allowing
you to bring-your-own ceph configs. This should
remove the dependency on having to generate secrets
using the common chart if you have installed your own.
* A new boolean value controls whether we install
a storage class as part of the ceph chart install allowing
you to externally manage this
* More of the ceph values have been converted to values
variables, paving the way for a master yaml to provide input
and overrides to many independent "sub" charts without a parent chart
The quickstart guide was attempting to build the helm charts for Ceph before the secrets currently embedded within it were prepared. This commit fixes that and also provides instructions for installing Sigil.
* As of helm 2.0.0, it no longer seems necessary to
copy a "globals.tpl" into each child chart, defines in
child charts now seem to be reliably rendered in the
parent. This was not working correctly in 2.0.0rc2
and so after a lot of testing, the globals define
insertion has been removed from the Makefiles. Also,
includes piped to b64encode are working now, meaning
we no longer have to do Makefile magic to base64
encode successfully. That has been removed. Once
.Files.Get works properly in a child chart context
we can remove all Make help.
* The openstack-base chart has been renamed to common
to better reflect that it is common to everything in
aic-helm, even non-openstack projects like ceph. All
charts now include it as a requirement.
* A first pass at a "cleaner" template directory approach
has been applied to rabbitmq as a test chart. This allows
files such as _start_rabbit to live in their raw form
and organizes files by config vs script in 'etc' or 'bin'
directories. If accepted, will apply to all other charts
for consistency.