128 Commits

Author SHA1 Message Date
Steve Wilkerson
0a8b710083 Elasticsearch: Add job history to Curator, update schedule key
This updates the Elastic Curator cron job to include configuration
for successful and failed job history limits, similar to the other
cron jobs we deploy. This also moves the key for configuring the
cron schedule from under .Values.conf.curator to a new top level
jobs key to maintain consistency

This also fixes an indentation issue with the deployment overrides
for Curator as well as adds the overrides for the Armada job

Change-Id: I9c720df9677215bdd2bf18be77959bd5f671c0ca
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-30 15:28:30 +00:00
Steve Wilkerson
8cb4051fc8 Elasticsearch: Fix typos in cluster wait script
This fixes typos in the cluster wait script to ensure the messages
reflect the types of nodes being checked

Change-Id: I5964b5517b3099fbfe8d574b2ca869d366c9bb17
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-29 09:58:44 -05:00
Steve Wilkerson
abb5e0f713 Separate fluentbit and fluentd charts
This begins to split the fluent-logging chart into two separate
charts, one for fluentbit and one for fluentd. This is to help
isolate each chart and its dependencies better, and to treat each
service as its own entity.

This also moves the job for creating Elasticsearch templates to
the Elasticsearch chart, as the elasticsearch chart should have
ownership of creating the templates for its indices.

This also performs some general cleanup of values keys that are
not currently used

Change-Id: I827277d5faa62b8b59c5960330703d23c297ca47
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-24 06:31:09 -05:00
Zuul
96af0f1567 Merge "Elasticsearch: Remove LoadBalancer type service" 2019-05-24 00:04:52 +00:00
Steve Wilkerson
36d03133f8 Add statefulset update strategy to elasticsearch data statefulset
This adds the helm-toolkit function for defining the update
strategy for the elasticsearch-data statefulset and sets the chart
default to RollingUpdate

Change-Id: Ia10ea7bf000474e597bdb36778118a96d85b93c1
2019-05-23 22:05:06 +00:00
Steve Wilkerson
65f60a3893 Elasticsearch: Use openstackhelm elasticsearch-s3 image as default
This updates the Elasticsearch chart to use the elasticsearch-s3
image built from the openstack-helm-images Dockerfile instead of
using the previous image from a personal repository

Change-Id: I4d6b18aea11920de33ce1f4b63d39c18cd2b98d3
2019-05-23 12:55:04 -05:00
Steve Wilkerson
9cefc2c334 Elasticsearch: Remove LoadBalancer type service
This fixes the elasticsearch-logging service by removing the
LoadBalancer type configuration from the service template. This
was mistakenly added in a previous change

Change-Id: Id2f866147c2dcccc10c83bd54094d54cf3bd227b
2019-05-21 12:59:20 -05:00
Jean-Philippe Evrard
5f5e988fb3 Point to OSH-images images
We now have a process for OSH-images image building,
using Zuul, so we should point the images by default to those
images, instead of pointing to stale images.

Without this, the osh-images build process is completely not
in use (and completely opaque to deployers), and updating the
osh-images process or patching its code has no impact on OSH.

This should fix it.

Change-Id: Ic00bd98c151669dc2485cd88e0e8c2ab05445959
2019-05-17 08:17:32 +00:00
Roy Tang (rt7380)
85bd731562 Expose Anti-Affinity Weight Setting
This ps exposes the anti-affinity weight value, including
default, that will be consumed by the updated htk function.

Change-Id: Id8eb303674764ef8b0664f62040723aaf77e0a54
2019-05-14 17:04:52 -05:00
RAHUL KHIYANI
9b265d744e Elasticsearch: Add read-only-fs
This PS adds the default read-only-rootfs to true for elasticsearch chart

Change-Id: Iff06ee40e299d7dd4f4724a39ad5eb67eeae19dd
2019-05-10 13:44:23 +00:00
Meg Heisler
e1f2a3cf78 Fix broken network policy check/gate
This adds a basic egress policy to the charts run by the
network-policy check. A change was recently merged requiring
the eggress tag to be in the chart but did not add it, this
addresses that

Change-Id: I60669c9351db7854cba8c69723eb783a966d2a56
2019-05-10 05:55:22 +00:00
Zuul
ead842d1d8 Merge "Elasticsearch: Heap configuration and ingest node updates" 2019-05-09 21:10:26 +00:00
Steve Wilkerson
88f21acf34 Curator: Update image, add separate configmaps for service
This updates the Curator image to use version 5.6.0, which adds
additional actions for use, such as the ability to shrink indices.

This also adds a separate configmap and config secret for Curator,
as this allows us to use separate configmap annotations on the
Elasticsearch component pods to prevent Curator config updates
from triggering recreation of Elasticsearch components. This helps
alleviate overhead associated with Elasticsearch service restarts.

Change-Id: I0aec7756b0dc09bc3981ede950dc88f821aeca4b
2019-05-09 10:22:25 -05:00
Steve Wilkerson
031ee3e6af Elasticsearch: Heap configuration and ingest node updates
This updates the Elasticsearch chart to allow for setting the
heap size per node type instead of for all nodes equally. This
also adds the required environment variable to configure whether
a node is an ingest node. This is set to false, as suggested for
elasticsearch versions <= 6.x

This also removes the ES_PLUGINS_INSTALL environment variable as
it is not used for anything in the current charts

Change-Id: I9096774db46dcbcd48b8a5448f0510984bf4108f
2019-05-06 14:55:45 -05:00
RAHUL KHIYANI
5be16a66d7 Elasticsearch: Fix security context
This PS fixes the use of the security context macros for the
elasticsearch chart.

Change-Id: I85a37aa4dec88222107323f17d10e5ff29f41648
2019-04-23 23:04:18 -05:00
Zuul
d27e548f8f Merge "OSH-Infra: Add emptydirs for tmp" 2019-04-21 02:21:11 +00:00
Pete Birley
2abf62ff4d OSH-Infra: Add emptydirs for tmp
This PS adds emptydirs backing the /tmp directory in pods, which
is required in most cases for full operation when using a read only
filesystem backing the container.

Additionally some yaml indent issues are resolved.

Change-Id: I8b7f1614da059783254aa6efc09facf23fca3cad
Signed-off-by: Pete Birley <pete@port.direct>
2019-04-20 20:50:59 +00:00
Zuul
7b539caf89 Merge "Revert "readOnlyFilesystem: true for elasticsearch chart"" 2019-04-20 19:32:49 +00:00
Rahul Khiyani
189630ba91 Revert "readOnlyFilesystem: true for elasticsearch chart"
This reverts commit ab86685bea6df436c93220ce63900549c19effff.

removing readOnlyRootFilesystem flag since pods are running to "crashLoopBackOff" state by implementing HTK functionality

when we have set the readOnly flag at pod without HTK functionality the changes were not effected. That is why it passed the gate.

Change-Id: Iaa6b89a6a19e8f85d02bf6d06f45570469674d4f
2019-04-18 20:42:13 +00:00
Steve Wilkerson
2e8c96a623 Elasticsearch, Fluent-logging, Kibana Ingress Policy
This adds ingress network policy for the fluent-logging, kibana
and Elasticsearch charts. This leverages the helm-toolkit template
that was used in openstack-helm for the openstack services

Change-Id: I2a89b62f1002851346e9a25de40113078e9c518f
2019-04-16 19:44:46 +00:00
Zuul
2abcc6d8b4 Merge "elasticsearch-exporter: Add security context for exporter pod/container" 2019-04-15 23:05:47 +00:00
Randeep Jalli
c98f7a7f05 Fix Elasticsearch helm test indentation
This indents the closing {{ end }} for the check for executing the 
Elasticsearch test that checks the snapshot repositories

Change-Id: I77ebb1af7ee648cc9787665bfb81dfbb1a30663a
2019-04-10 13:59:08 +00:00
RAHUL KHIYANI
f667804430 elasticsearch-exporter: Add security context for exporter pod/container
This adds the security context snippet for the elasticsearch
prometheus exporter container to set allowPrivilegeEscalation to false
and readOnlyRootFilesystem to true

Change-Id: Ia80aa9cfc837073fae0a884de5245764147d7ded
2019-04-01 22:56:56 +00:00
Steve Wilkerson
8193542c98 Elasticsearch: Add job to wait for Elasticsearch cluster formation
This adds a job that will query the Elasticsearch HTTP cat API to
determine whether the desired number of nodes have been discovered
via the Zen discovery mechanism to be included in the cluster.
This aims to address issues seen when upgrading Elasticsearch,
where the snapshot repository job may trigger due to endpoints
from older pods being present. This new job will be the dependency
required by the snapshot repository job to ensure the ES cluster
has the desired number of nodes before attempting to register a
snapshot repository or interact with the cluster

Change-Id: I94fbbfdec7ca66d04acca9558e56dca3b2bc7d52
2019-04-01 13:50:11 -05:00
Steve Wilkerson
f008379c8e Elasticsearch: Update dependencies for components
This updates the dependencies for the Elasticsearch chart to be
more cautious before proceeding. For example, this updates the
dependencies for the register snapshot job to wait until all
ES components have registered endpoints, and also updates the helm
test pod to wait for all components to have registered endpoints
and the snapshot job to have completed

Change-Id: Ie4e92bba4ae33b33cadb921bdda91ceb813e29e1
2019-03-21 13:41:29 -05:00
Steve Wilkerson
84f30ec103 Add release-annotation to pod spec, add missing annotations
This adds the release-annotation to the pod spec for the charts in
openstack-helm-infra. This also adds missing configmap annotations
to charts in openstack-helm-infra

Change-Id: Ie23f0c16a7a21d3929e98928db2bbcef69ae6490
2019-03-21 09:10:48 -05:00
Steve Wilkerson
05e57f4e37 Elasticsearch: Remove insertion of test data in helm tests
This removes the insertion of test dummy data and the following
query for it from the Elasticsearch helm tests.  Upon upgrades,
it's possible for Elasticsearch to refuse the direct insertion of
data due to shard reallocation and due to full bulk endpoint
queues. These refusals should not be seen as test failures

Change-Id: Id53d53a7aa2b58e64932d50ca3e7a4fb1141bb3a
2019-03-20 12:06:57 -05:00
Zuul
e1b729e660 Merge "Elasticsearch: Update locations for apache virtual host" 2019-03-15 06:32:51 +00:00
Zuul
43ae215ca9 Merge "Elasticsearch: Add check to job for registering snapshot repo" 2019-03-07 20:19:57 +00:00
Rahul Khiyani
ab86685bea readOnlyFilesystem: true for elasticsearch chart
Fix for adding readOnlyFilesystem flag at pod
level

Change-Id: Ife8d2b5ea02b4734ee4a83e868e16831e5f2b23f
2019-03-07 17:13:08 +00:00
Steve Wilkerson
f361fd6477 Elasticsearch: Add check to job for registering snapshot repo
This updates the script used to register the elasticsearch
snapshot repositories. It will first gather a list of all
currently registered repositories, then check for the existence
of each configured repository.  If the repository exists, the job
will not attempt to register the repository again. If it doesn't
exist, the job will then register the desired repository

Change-Id: I2cfd3c44f1b2b4a54c9b07be79c2c87af77c540e
2019-03-06 03:09:27 +00:00
Steve Wilkerson
b2db75d3e8 Elasticsearch: Update locations for apache virtual host
This begins to break out the various location paths for the
Elasticsearch apache-proxy virtual host.  These include:

- Deny all access to the update document api
- Deny all access to the update by query api
- Deny all access to the delete by query api
- Prohibit the DELETE method on all document api endpoints

This helps ensure that documents can't be updated or deleted once
indexed into Elasticsearch

Change-Id: Iaa97a9f7699a47d13c25b9e2e4249c37c29e4559
2019-03-06 03:09:02 +00:00
Luna Das
ae24ce9999 Add default-docker (enforce) AppArmor profile to Elasticsearch
Change-Id: I86930ee90170385008d5c674eab34d7c0e34e6e4
2019-01-01 08:12:56 -05:00
Steve Wilkerson
4c0fd492ee Update logging format and config for apache reverse proxies
This updates the logging format and configuration for the apache
reverse proxies used for elasticsearch, kibana, nagios and
prometheus to enable logging of the remote clients used to access
these services

Change-Id: Id07e4294ea18203fbb890b78424a232c2d59cb82
2019-02-25 09:21:41 -06:00
Pete Birley
6ea6a85198 Ceph: Update default to use OSH image
This PS udpates the default image in the chart to the latest OSH image.

Change-Id: Ib8d2a72ad48049fe02560dc4405f0088890b6f64
Signed-off-by: Pete Birley <pete@port.direct>
2019-02-01 21:25:13 +00:00
Steve Wilkerson
290df62223 Elasticsearch: Update image for s3 bucket creation
This updates the Elasticsearch image used for s3 bucket creation
to use the same ceph daemon image used in the ceph-rgw chart now
that the Mimic release is supported

Change-Id: I416a283b8ac41f6b360d20aac1be8374c07badcd
2019-01-07 13:51:55 -06:00
Zuul
632742b5f7 Merge "Remove unused pod-etc-apache volumes" 2019-01-07 19:40:20 +00:00
Zuul
5347636108 Merge "Elasticsearch: Add security context for exporter pod/container" 2019-01-07 16:26:08 +00:00
Steve Wilkerson
8180635733 Helm-toolkit: Update job for creating s3 buckets
This updates the helm-toolkit manifest template and scipts for
creating an S3 bucket and linking it to a user. This moves away
from the previous python implementation that used rgwadmin, and
instead uses s3cmd for a cleaner approach that can support more
recent versions of ceph

Change-Id: I305062a5daa063bfe21a12448d7a3957bca00bf4
2019-01-05 14:37:47 +00:00
Steve Wilkerson
30d2cf00d4 Remove unused pod-etc-apache volumes
This removes unused pod-etc-apache volumes from the charts that
use an apache sidecar container as a reverse proxy.

Change-Id: Ibafff3b53f9d3c20f5aed30d40ee6470cb515a8a
2019-01-04 10:31:35 -06:00
Chris Wedgwood
0c4e37391f 'NOP' cleanup for more consistent white-space use in charts
Where we have the style '{{ ...' we should use the style '... }}'.

Change-Id: Ic3e779e4681370d396f95d3804ca27db5b9d3642
2019-01-03 22:45:49 +00:00
Steve Wilkerson
0679ed49bd Elasticsearch: Add security context for exporter pod/container
This adds the security context snippet for the elasticsearch
prometheus exporter pod. This changes the pod's user from root to
the nobody user instead

This also adds the container security context to explicitly set
allowPrivilegeEscalation to false

Change-Id: If692fccaf4dd362b28fecb4656036289a3a97122
2019-01-03 16:12:17 -06:00
Zuul
6d354f0f7b Merge "Revert "Add Egress Helm-toolkit function & enforce the nework policy at OSH-INFRA"" 2018-12-16 08:57:09 +00:00
Pete Birley
0bf3674539 Revert "Add Egress Helm-toolkit function & enforce the nework policy at OSH-INFRA"
This reverts commit 8d33a2911cda0c9e88406b9eeacbd8dfa70286f2.

Change-Id: Ic861b9bf9b337449b47a3558da8355e7a5bcacee
2018-12-16 04:21:46 +00:00
Zuul
b90bf10b89 Merge "Add Egress Helm-toolkit function & enforce the nework policy at OSH-INFRA" 2018-12-15 09:32:21 +00:00
Mike Pham
8d33a2911c Add Egress Helm-toolkit function & enforce the nework policy at OSH-INFRA
This PS implements the helm toolkit function to generate the
Egress in kubernetes network policy manifest based on overrideable values.
It also enbale the K8s network policy at Osh-infra gate.

Change-Id: Icbe2a18c98dba795d15398dcdcac64228f6a7b4c
2018-12-14 16:32:40 -05:00
Zuul
d984f3c782 Merge "Elasticsearch: Define success criteria for adding snapshot repo" 2018-12-12 23:23:48 +00:00
Steve Wilkerson
7be42d3cd5 Elasticsearch: Define success criteria for adding snapshot repo
This adds a simple check to the Elasticsearch snapshot repo job
that will cause the job to fail if the repository isn't added
successfully

Change-Id: I9dca6ef545b43c52a37542319fa2f706b174c44b
2018-12-12 14:44:49 -06:00
Steve Wilkerson
d3e046d803 Elasticsearch: Update helm test
This updates the Elasticsearch helm test to execute a clean on the
test index before attempting to create it, in cases where a
stranded test index may exist

Change-Id: I87533f94f6ea55b0b2f929543f8d3e75baa81bed
2018-12-12 12:43:13 -06:00
Steve Wilkerson
00f6a4a9c1 Elasticsearch: Remove default Curator action configuration
This removes the default Curator action configuration. As these
values will potentially be merged with any supplied overrides, it
could result in undesirable behavior. As a result, we should leave
the existing defaults commented out as a reference instead.

Change-Id: Idaf1dc8f3e476f1189058b69b841588a15deb7cd
2018-12-10 14:06:35 +00:00