Commit Graph

84 Commits

Author SHA1 Message Date
Pete Birley
f57972b5b6 dependencies: move static dependencies under a 'static' key
This PS moves static dependencies under a 'static' key to allow
expansion to cover dynamic dependencies.

Change-Id: I38990b93aa79fa1f70af6f2c78e5e5c61c63f32c
2018-02-23 12:31:15 -08:00
Zuul
96ca93521d Merge "Images: Move default to LOCI and Kolla newton gate" 2018-02-17 01:39:13 +00:00
portdirect
2cb634789d Images: Move default to LOCI and Kolla newton gate
This PS moves the default image in OSH for most services to use LOCI
and also provides a Kolla gate for newton openstack.

Change-Id: Ice6cb9f89bc3ce6e8280e580d215aedda9e71904
2018-02-16 17:06:15 -05:00
Zuul
13bd98c768 Merge "mariadb: by default don't cluster" 2018-02-16 20:19:01 +00:00
Zuul
879a0cfc0b Merge "mariadb: remove connect_timeout to fix mysqldump" 2018-02-15 19:35:04 +00:00
Marcus
d78f8e0901 Improve fault tolerance of MariaDB startup
* Changed podManagementPolicy to parallel in order to allow recovery
  from secondary or third master

  After rebooting the whole cluster on purpose or after a power failure
  a primary node the cluster can synchronize with is required. This is
  usually done automatically by selecting the node with the highest
  transaction id. The current implementation of the stateful set starts
  the nodes in sequence, preventing the start of further nodes if the
  process terminates with error state. Because of this, the cluster may
  not come up if the first or second node are not in primary state.

* Elects first node started in primary state as bootstrap source.
* Display warnings and runs mysqld with wsrep-recover on crashed nodes
* Introduces FORCE_RECOVERY argument for crash recovery

  In case the primary selection failed, the cluster bootstrap process
  must be manually initiated from the most advanced node (highest
  committed transaction id). This information is available from the
  grastate.dat file in case of a clean shutdown. On crashed nodes an
  InnoDB recovery is required to get the last committed transaction id.

  start.sh will handle both cases and gives instructions on how to
  recover the cluster on a hard failure. If FORCE_RECOVERY was set to
  the name of a POD (mariadb-0, mariadb-1, ...), the bootstrap process
  will be initiated from the specified node.

DocImpact
Closes-Bug: #1716461

Change-Id: I96a8cb52124f64920a7d9cf21a8924ede78ebf7b
2018-02-13 11:30:26 +00:00
Chris Wedgwood
4ec489e30a mariadb: by default don't cluster
kubernetes does clustering for us and with persistent robust PVs
clustering of mariadb isn't useful for most people by default

Change-Id: I460c00c141ffe7d93af5ec09d1599cb8eaa9dcf7
2018-02-09 20:05:10 +00:00
Chris Wedgwood
def513fcb2 mariadb: remove connect_timeout to fix mysqldump
Remove 'connect_timeout' which defined in the '[client]' section which
surprisingly affects mysqldump by causing it to fail as it doesn't
understand this; we're not doing anything that depends on having this
value so this is safe.

This now means mysqldump works (as expected) and we can use the
packaged/pod version of mysqldump for backup purposes.

Change-Id: I9142969e4b8576b19353c063586dd11f91875f0b
LocalWords:  mysqldump
2018-02-07 22:16:59 +00:00
Steve Wilkerson
b42cd19bdc Add prometheus exporters to osh charts
This moves the prometheus exporters for services into a directory
in the chart themselves. This keeps the monitoring services
coupled to the services theyre meant to monitor. This changes the
chart directory structure to include a monitoring/ directory to
host any monitoring requirements (not just prometheus exporters)

Change-Id: Ic5f46a7e9a2a773a837ff399b8730782cf89f1de
2018-02-07 15:55:49 -06:00
portdirect
b341cc8e9c Mariadb: enable storage ownership management on pod start
This PS enables storage ownership management on pod start, which
is required for some PVC providers/provisioners.

Change-Id: Idb4bd20104815efb241ed163daddf27f8bd2b559
2018-01-17 09:48:31 -05:00
Pete Birley
accea0c6b4 Revert "MariaDB: Move to version 10.2.12"
This reverts commit 4675a2a63d.

Until the following is fixed, we should stick with 10.1:
 * https://bugs.launchpad.net/barbican/+bug/1734329

Change-Id: If62b527efefeda7dfa10324562916d2054d8889e
2018-01-12 03:07:22 +00:00
portdirect
4675a2a63d MariaDB: Move to version 10.2.12
This PS moves the version of MariaDB used to the latest supported
version.

Change-Id: I9dce3e046efbc775f485c775e1da9709bbd99564
2018-01-07 23:15:35 +00:00
portdirect
e0841eecde MariaDB: simplify db init process
This PS simplifys the db start and init script, increasing
robustness of the mariadb chart on low end hardware. It also
removes some unrequired annotations and moves to more explicit
qualification of the clustering variables.

Change-Id: I6cff5fb6ccfdcc6c82203b0e5eff445ee98bc298
2018-01-07 18:05:31 -05:00
Steve Wilkerson
4a0380ae84 MariaDB chart cleanup
This ps brings mariadb inline with the other charts in openstack
helm. It organizes the values trees, removes an unused duplicate
resource tree, and adds the keys for enabling specific manifests

Change-Id: I6f331d51802968620da18b687dc2f9dfa58cdd79
2018-01-06 13:48:42 -06:00
portdirect
fa2620d54b RBAC for OSH
This PS applys RBAC rules to OSH, based off the work
done in https://review.openstack.org/#/c/526464/

Change-Id: I541b0ac1a3972566ef2b66571ae32744dab70c17
2017-12-26 10:24:19 -05:00
intlabs
fe6107cf76 Images: Update values to allow simple parse of images being used
This PS updates the values file layout for images to allow simple
parsing of the images in use by charts, allowing them to be queried
and modified much more simply. By moving the image tags to a 'tags'
key, we can extend the options used simply to accomodate extra
options simply (eg prefixing the tag for use with an internal
registry) or pre-pulling the images to reduce chart deploy failure.

Change-Id: I9ec1dbb00d997ab6cb021bf0b698f7aae740e95d
2017-10-23 10:05:20 -05:00
Chris Wedgwood
48fa00f2d7 mariadb: reasonable timing for readinessProbe
Give mariadb time to start up and probe only as much as needed.  This
avoids premature health warnings.

Change-Id: I5427cb26dc6a788123bdfac925e6d94321aabb1f
2017-10-12 18:36:40 +00:00
intlabs
61569d1b8b KubeAPI: Update secrets to be in conformance with k8s 1.8
Kubernetes 1.8 is stricter about the feilds in a secrets manifest,
this PS updates OpenStack-Helm to be compliant.

Change-Id: I9e19d07060d8517e0f4fd3056013191b1b4ba2da
2017-10-09 18:20:03 -05:00
Pete Birley
b120667031 Endpoint lookups: fix typo in overrides
This PS fixes a typo in the endpoint lookup function and input.

Change-Id: I6ff6d68bf82e1e1f70438a7017f4e1a6df7f59a7
2017-09-06 11:15:54 -05:00
Jenkins
198162a073 Merge "Fix some typos" 2017-09-03 04:47:48 +00:00
Pete Birley
bede94c835 Endpoint lookup namespace and fqdn support
This PS adds namespace and fqdn support to endpoint lookup functions,
it also permits over-riding of the puplic endpoint for ingress.

Change-Id: Ib61c5c00a214d75fe85fbffe9080c2ae88bd8cb9
2017-08-31 19:06:33 +00:00
lidong
75a2639a48 Fix some typos
Correct some spelling errors in files : 
mariadb/templates/etc/_00-base.cnf.tpl,tools/gate/funcs/kube.sh


Change-Id: Ie6d7f2b90a8d569663452d00565af2789bbb377e
2017-08-08 03:39:06 +00:00
Pete Birley
ff8744a9b9 Licence: Remove licence header from rendered files
This PS removes the licence header from rendered output from tiller,
significantly reducing the configmap size of charts deployed to the
cluster.

Change-Id: I5d1b246f2068f3b83bf59ba79fe8b88bbc9a6161
2017-08-07 17:16:13 -05:00
Pete Birley
e7abfee16d MariaDB: Update start script to be more robust
This PS updates the MariaDB start script remove templated values
from being directly inserted into the script. It also moves the
root connection params to a secret to prevent the root password
being exposed in logs.

Change-Id: I10977ef267877a5913bf265280ff5439c7bf268c
2017-07-29 23:05:20 +00:00
Steve Wilkerson
8dfc2cf3a3 Fix mariadb start script
Fixes the reference to mariadb replicas used when adding pods to
the mariadb cluster. This was causing nodes to not be added to
the cluster properly

Change-Id: I9df586c8939e241ea58d933652c767542fd364ff
2017-07-29 10:35:48 -05:00
Pete Birley
f30cbcf108 Update pod affinity to allow customisation
This PS updates the pod affinity function to allow customisation by
operators at the point of deployment.

Change-Id: I8b7b2f584e990e068051d9a6d5cc7b1e1adb5aa5
2017-07-28 15:02:47 +00:00
Alan Meadows
ccea6b4df5 Convert ceph to utilize hostNetworking
This enhances the stability and recovery of ceph by leveraging
hostNetworking for monitors as well as OSDs, and enables the
K8S_HOST_NETWORK variable within ceph-docker.  This enhancement should
allow recovery of monitors from a complete downed cluster.

Additionally, ceph's generic "ceph-storage" node label has been
split out for mon, mds, and osd.

Co-Authored-By: Larry Rensing <lr699s@att.com>
Change-Id: I27efe5c41d04ab044dccb5f38db897cb041d4723
2017-07-14 19:06:57 +00:00
Pete Birley
4d066332a7 Values: Move replicas to pod key
This PS move s the replicas key to be under the pod key in the values.
It brings further consolation of related configuration params to be
nested under common keys across all charts.

Change-Id: I420b06debd0a62ba5d83497be43ff6c49c49d339
2017-07-13 23:08:08 -05:00
Pete Birley
20527cb57c Move k8s pod params under common key
This PS moves K8s pod params under a common key.

Change-Id: Ib4e72e82a4f1540fa800c39d0dcc91b286d96c93
2017-07-11 23:28:47 +00:00
Tin Lam
670a78bcbe Fix file permission and readOnly flag
This patchset enforces stricter file permission on *-etc configmap and
sets readOnly flag to true in a number of charts.

Change-Id: I233689a5d56dd1352e0d81997a94b4cdd6bed5d2
Signed-off-by: Tin Lam <tin@irrational.io>
2017-07-08 13:24:14 -05:00
Pete Birley
ac06f49849 Unify and normalise K8s Resources and Upgrade Strategy
This PS unifies and normalises Kubernetes resource allocation and
update strategy across all OpenStack-Helm elements.

Change-Id: Ia41fc453cb5191fa447ca6e1aa0f5b431c939dc8
2017-07-06 17:48:16 +00:00
Pete Birley
c5bbc97ab7 Soft pod anti-affinity for all pods
This PS adds soft anti-affinity to all pods in OS-H. By doing so
resiliancy is improved by attempting to ensure that pods are created
on seperate nodes.

Change-Id: I0c1092498f7a1e44218ef785ca3f73fa9f49819c
2017-07-03 14:15:40 -05:00
Pete Birley
8ff8e7aeb2 Mariadb: Update to use endpoint values layout and lookups
This PS adjusts the MariaDB chart to use the same endpoint values
layout as used in other openstack-helm components. It also removes
credentials and params from the configmaps and moves them to secrets
and env vars as appropriate.

Change-Id: I9116be7c46cdd16c743ca2784878f3de65665f8c
2017-07-03 13:17:48 +00:00
Pete Birley
4cc4b66898 Mariadb: fix pod antiaffinity declaration
This PS fixes the pod antiaffinity declaration for MariaDB.

Change-Id: Iadbccd1b9ead1dfd01a82f880adfced647cba5de
2017-07-03 12:20:17 +00:00
Michał Dulko
a6cd9bac16 Use k8s 1.6 syntax of declaring affinity
K8s 1.6 has affinity/antiaffinity funtionalities as a beta feature. This
means we don't need to declare them using annotations. This commit
switches usages of affinity to 1.6 syntax.

Change-Id: Ia68f4ab28a018617bd44b1295fea58cd30eb4a39
2017-06-20 16:51:07 +02:00
Pete Birley
0f88893a41 Images: fix references to be explicit, and point to right dep image.
This PS fixes some image references, to bring them inline with the
style and location with other services.

Change-Id: I1c42748875170a5a33bed7566382f3e31438dc7d
2017-06-15 08:59:08 -05:00
Jenkins
f51854d207 Merge "Configmaps: set default mode of files in *-bin configmaps to +x" 2017-06-12 15:50:24 +00:00
Jenkins
3b6dec1364 Merge "Adding pod disruption budget for mariadb" 2017-06-12 13:52:32 +00:00
Pete Birley
81aef1ecea Configmaps: set default mode of files in *-bin configmaps to +x
This PS sets the default modetype of mounts from *-bin configmaps
to 0555, and removes the then unnecessary commands from the manifests.

Change-Id: I93ce0facb06affdf362a58f8520e69ba94ea3034
2017-06-12 00:22:30 -05:00
Larry Rensing
bcdb673e49 Adding pod disruption budget for mariadb
This PS adds pod disruption budgets for mariadb

Change-Id: I6ca698c15ec6693dd001183220e619e305f2732c
2017-06-12 04:12:37 +00:00
Jenkins
efc68f4347 Merge "Make remaining volumeMounts readOnly" 2017-06-01 21:40:26 +00:00
Jenkins
1ca77db357 Merge "Update remaining markdown docs to RST" 2017-06-01 21:32:41 +00:00
Pete Birley
8c29949c0d Helm-Toolkit: Update naming to be explict and remove old functions.
This PS updates the way helm-toolkit functions are named to
reference the full path they are loacted at. This should make
development and debugging easier. Addtionally unused functions
have been pruned as well.

Change-Id: I03c553f1d01bccc70c86768b416b147c90d9b2f0
2017-05-31 19:52:02 +00:00
Chris Wedgwood
f9252a8235 Use storageClassName in preference to the annotation.
Change-Id: I60a2b607b85cd22abbd5b0d10c4571430f56d62f
2017-05-27 05:18:51 +00:00
Larry Rensing
ed2b82977b Make remaining volumeMounts readOnly
This cleanup adds a readOnly tag for the remaining volumeMounts
across the project.

Change-Id: I1035c075c2e0c6f2b1b76a14e45094ed4e90a879
2017-05-26 13:46:30 +00:00
Mark Burnett
de20cbb15d Use the standard Dockerhub MariaDB image
Addresses consistency issues that appear with autoincrement fields in
the existing chart, as demonstrated in [1].  It should allow automatic
recovery of 2 out of the 3 (default) cluster members.

It does not address automatic recovery of a complete shutdown of all
cluster nodes.

[1] https://review.openstack.org/#/c/465977/

Change-Id: I84c86e1862f03a6d381bf219b821ea3636049f0b
2017-05-25 08:56:35 -05:00
Chris Wedgwood
8b07ffa2d1 Simplify/lessen requirements for MariaDB
Change-Id: Ic0159fc38f9551c60ae588ab2d78944fb61239e2
2017-05-23 23:41:59 +00:00
Michał Dulko
cc243499ec Update remaining markdown docs to RST
There were few remaining README.md files. This commit converts them to
RST.

Change-Id: Ia0be0012fff33b9be5c9db3febc1e45a076701ec
2017-05-22 10:56:51 +02:00
Jenkins
fb11f693ab Merge "Cleanup - add remaining configmap hashes" 2017-05-20 23:08:07 +00:00
Tin Lam
e28c4f7ae3 Add a whitespace check script
This patch sets put in whitespace check against all files except .tgz,
files in hidden directory or things in the doc/build folder.  Enforcing
the cleanup work in [0]. Also fixed two readmes' trailing blank spaces.

[0] https://review.openstack.org/#/c/466409/

Change-Id: I21ee232e4d502ca2db9dbf012624d6552d0f7ad2
2017-05-20 11:17:45 -05:00