34 Commits

Author SHA1 Message Date
Pete Birley
b6a51fb57f Use current kubernetes API version
This PS moves to use the current API version for kubernetes rcs'
that were previously using `apps/v1beta1`.

Story: 2002205
Task: 21735

Change-Id: Icb4e7aa2392da6867427a58926be2da6f424bd56
Signed-off-by: Pete Birley <pete@port.direct>
2018-06-12 17:35:13 -05:00
Steve Wilkerson
de9c46bcfa Charts: Tidy up openstack-helm-infra charts
This moves the charts in openstack-helm-infra closer towards a
standard structure. It addresses multiple deviations, including:
missing resources for init containers, incorrect indents for
disabled resources in some charts, incorrect indents for volumes
and volumemounts added via values, missing resources for some
helm test templates, missing helm-toolkit image functions, and
moving the resource template declarations to be under the image
template declarations

Change-Id: I4834a5d476ef7fc69c5583caacc0229050f20a76
2018-05-21 12:58:22 -07:00
Steve Wilkerson
e166432a98 Add manifest for image_repo_sync job
This ps proposes adding a common template for the image_repo_sync
jobs for consumption by the charts

Change-Id: I48476d1e4fd94bd1b08b13b46983e3d999f8d8ca
2018-04-19 14:10:08 +00:00
Zuul
49e9084679 Merge "OSH-Infra: Update labels for chart components" 2018-04-18 18:47:08 +00:00
Zuul
626b94e0c8 Merge "Helm-Toolkit: Kubernetes Entrypoint, simplify image dependencies" 2018-04-17 15:11:00 +00:00
Zuul
8eae6d8509 Merge "OSH-infra: move charts to use ingress manifest in htk" 2018-04-13 22:54:42 +00:00
Steve Wilkerson
7757400edc OSH-infra: move charts to use ingress manifest in htk
This moves all relevant charts in osh-infra to use the htk manifest
template for ingresses, bringing them in line with the charts in
openstack-helm

Change-Id: Ic9c3cc6f0051fa66b6f88ec2b2725698b36ce824
2018-04-13 15:41:12 -05:00
Steve Wilkerson
aaffc4caf0 OSH-Infra: Update labels for chart components
This ps adds more granular node selectors for the charts in osh
infra to match what is currently done in osh

Change-Id: I8957a95053b9fb3ea329fd37ff049cd223a7695d
2018-04-13 08:44:33 -05:00
Pete Birley
b9336ca613 Helm-Toolkit: Kubernetes Entrypoint, simplify image dependencies
This PS simplify the logic for dyanmicly merging the image management
depenencies into pod deps when active.

Change-Id: I0cf6c93173bc5fbce697ac15be8697d3b1326d0a
2018-04-13 08:42:37 -05:00
Steve Wilkerson
9bf5fedead Prometheus: Generate command line flags dynamically
This proposes a means for generating the command line flags for
configuring the Prometheus service via the values file instead of
templating out the command line flags used for the service. This
allows flexibility in choosing which flags and values to use when
deploying Prometheus, without needing to modify the chart itself

Change-Id: I74845b96e213403ad743724137a82ce2c78fcd1f
2018-03-26 09:42:59 -05:00
Steve Wilkerson
616c351fa7 Dynamically generate list of rules files for prometheus
This enables the dynamic generation of the list of rules files for
prometheus, driven by the rules added in the appropriate tree under
.Values.conf.prometheus.rules. This removes the necessity of adding
the file name manually in addition to defining the rules in the
rules tree, which should reduce overhead associated with adding
new rules for prometheus to evaluate

Change-Id: Ib768a252c5ea4f2d099df534c3ffcfb2949d7481
2018-03-24 12:25:11 -05:00
Zuul
eb3cbf0f95 Merge "yaml cleanup: trim multiline strings" 2018-03-10 07:01:35 +00:00
Chris Wedgwood
3a8c00764c yaml cleanup: trim multiline strings
Change-Id: I7e8f423be2efb84f3116258beca805265ca388f7
2018-03-08 20:18:53 +00:00
Steve Wilkerson
083f8fd8d6 Prometheus: use endpoints section and lookups to set port
This PS moves prometheus to use the endpoints section and lookups
to set the port it serves on.

Change-Id: Ifae665e21128dd566da5a68b9904a94a68df4018
2018-03-08 20:01:01 +00:00
Pete Birley
3c101a6324 dependencies: move dynamic common deps under a 'dynamic.common' key
This PS moves existing dynamic common dependencies under a
'dynamic.common' key to simplify the yaml tree.

Change-Id: I4332bcfdf11197488e7bd5d8cf4c25565ea1c7b6
2018-02-24 17:42:10 -05:00
Pete Birley
e0c688d7ee dependencies: move static dependencies under a 'static' key
This PS moves static dependencies unser a 'static' key to allow
expansion to cover dynamic dependencies.

Change-Id: Ia0e853564955e0fbbe5a9e91a8b8924c703b1b02
2018-02-24 17:39:55 -05:00
Steve Wilkerson
77503d150c Fix prometheus clusterrole name
The clusterrole name for prometheus wasn't referenced correctly in
the clusterrolebinding, resulting in issues with prometheus
operating correctly

Change-Id: I5b843d8a2b6829356098d71503ffce4a66d3198a
2018-02-21 07:51:39 -06:00
Zuul
09b48986de Merge "RBAC: Include release name in cluster roles to prevent collision" 2018-02-19 22:49:54 +00:00
portdirect
515494ca98 RBAC: Include release name in cluster roles to prevent collision
This PS includes the release name in the cluster role to prevent
colision if the chart is deployed multiple times in the same
cluster.

Change-Id: I7166e5ee25b3d4c89879393c5f84c869585a2681
2018-02-19 13:13:56 -06:00
Steve Wilkerson
a153f5474f Add rules files to prometheus dynamically
This dynamically adds the rules files for prometheus to the
prometheus-etc configmap, and also dynamically adds volume mounts
to the prometheus statefulset for each rules file

This also removes the empty rules file trees in the prometheus
values.yaml file

Change-Id: I9acbbe57d71a23f69e9e172b2f3ad66985e99574
2018-02-19 17:55:10 +00:00
Sean Eagan
641c79c902 Add deep merge utility to helm-toolkit
Adds "helm-toolkit.utils.merge" which is a replacement for the
upstream sprig "merge" function which didn't quite do what we
wanted, specifically it didn't merge slices, it just overrode
one with the other.  This PS also updates existing callsites
of the sprig merge with "helm-toolkit.utils.merge".

Change-Id: I456349558d4cf941d1bcb07fc76d0688b0a10782
2018-02-13 10:08:50 -06:00
Zuul
713ce66963 Merge "Prometheus: Use volume claims to support RWO storage class" 2018-01-30 16:15:29 +00:00
Steve Wilkerson
8a523c0afd Tune prometheus default intervals and block durations
This increases the default scrape and evaluation intervals to match
those of the prometheus service upstream with the aim to reduce
prometheus's resource consumption. It also adds configuration
parameters for the min and max block durations that series can
span

Change-Id: I7f9352413a273fbf680b892ba26e30cf27bae232
2018-01-29 13:04:34 +00:00
Siri Kim
74db52a349 Prometheus: Use volume claims to support RWO storage class
This PS uses volumeClaimTemplates to provide multiple
pvcs and pvs to prometheus statefulset's multiple pods.
This gives ability to provide read-write-many access
backend by a read-write-once storage class.

Change-Id: I53d1b866c0c87f0833941b612d3acfbe5742744f
2018-01-29 05:46:46 +00:00
Steve Wilkerson
9ffc748979 helm-toolkit prometheus service annotation clean up
This adds checks for the fields in the service annotations for
prometheus, similar to the checks made for the pod annotations.
It also moves prometheus annotations under a prometheus: key
under a top-level monitoring tree to allow for other monitoring
mechanisms independent of the endpoints tree

Change-Id: I4be6d6ad8e74e8ca52bd224ceddad785577bf6c7
2018-01-16 20:35:50 +00:00
Steve Wilkerson
182c0c5618 Remove unneeded context in prometheus service annotation
Removes an unused context declaration from the prometheus service
annotation template in helm-toolkit, and removes all references to
it

Change-Id: I57612c1504cf046f367ee10d26ef3062ebe528d3
2018-01-12 08:28:48 -06:00
portdirect
f59d3b0011 Prometheus: Fix permisions for PVC
This PS fixes the permisions for the PVC backing Prometheus

Change-Id: I19b96296fe3553df5b433c22c05cbdfff1b8402a
2018-01-10 12:43:06 -05:00
portdirect
3b6596c56e Prometheus: Update values to be yaml rather than freeform text
This PS udpates the Prometheus values to use yaml rather than text.

It also consolates all configuration into a single `etc` configmap,
inline with other OSH charts.

Change-Id: I162d4817a2b1b842499ef27d754707f8fce23bf3
2017-12-20 01:49:40 -05:00
Tin Lam
628fd3007d RBAC: Consolidate serviceaccounts and restrict rbac
Currently, services have two serviceaccounts: one specified in the
chart that cannot read anything, and one injected via helm-toolkit
that can read everything. This patch set refactors the logic to:

- cleanup the roles and their binding automatically when the helm
  chart is deleted;
- remove the need to separately mount a serviceaccount  with secret;
- better handling of namespaces resource restriction.

Co-Authored-By: portdirect <pete@port.direct>

Change-Id: I47d41e0cad9b5b002f59fc9652bad2cc025538dc
2017-12-19 20:22:57 -05:00
Steve Wilkerson
ca6322da87 Update Prometheus to version 2.0
Updates the Prometheus chart to use version 2.0 by default. This
introduces a change in the rules format (to yaml), and changes the
flags required for the storage layer.

Change-Id: Icb06a6570683b7accebc142f75901530c6359180
2017-12-17 20:47:09 +00:00
Zuul
093e64631d Merge "Add missing prometheus and alertmanager resources" 2017-12-14 00:20:52 +00:00
Steve Wilkerson
605faded2e Gather deployment information after checks run
Adds tasks to gather descriptions of kubernetes objects, logs from
deployed pods, logs from helm test pods, the status of each
helm release, and metrics from endpoints exposed to prometheus

Change-Id: I606797c6a5d75ba446ed2c16a9710f7b0227f910
2017-12-11 09:57:28 -06:00
Steve Wilkerson
5fae0f2880 Add missing prometheus and alertmanager resources
Alertmanager and prometheus were missing entries for job
resources in values.yaml. Also added resources to the prometheus
helm test template

Change-Id: I11dbad19d1f881c398a4b4dcd0c0eab23fccf278
2017-12-01 18:30:47 -06:00
Steve Wilkerson
429a4edd86 Prometheus monitoring for OSH infra
This will move prometheus to OSH-infra to be included as part of
the basic infrastructure deploy for openstack-helm. It includes
charts for Prometheus, Node Exporter, Kube-State-Metrics, and
Alertmanager. It provides a base for monitoring and alerting
for the underlying infrastructure

Partially Implements: blueprint osh-monitoring

Change-Id: Ie453373b54c5f1825339ce0566e4b5d0f74abc20
2017-11-30 09:43:17 -06:00