96 Commits

Author SHA1 Message Date
Andrii Ostapenko
731a6b4cfa Enable yamllint checks
- document-end
- document-start
- empty-lines
- hyphens
- indentation
- key-duplicates
- new-line-at-end-of-file
- new-lines
- octal-values

with corresponding code adjustment.

Change-Id: I92d6aa20df82aa0fe198f8ccd535cfcaf613f43a
2020-05-29 19:49:05 +00:00
Andrii Ostapenko
67d1409a74 Enable yamllint checks
- brackets
- braces
- colon
- commas

with corresponding code adjustment.

Change-Id: I8d294cfa8f358431bee6ecb97396dae66f955b86
2020-05-21 14:04:23 +00:00
Steven Fitzpatrick
ad28e68440 Elasticsearch: Bump Exporter to v1.1.0 (latest/stable tag)
This change updates the Elasticsearch chart for compatibility with
the latest version of the Elasticsearch exporter. There are some
breaking changes between v1.0.1 and v1.1.0 - mainly with how arguments
are handled by the program.

All of the configuration options currently available are now exposed
in values.yaml

Change-Id: I8c71d5f6ed4a8360ad886338adb8ad63471eefd1
2020-05-18 19:08:39 -05:00
Smith, David (ds3330)
9178fd1dac Elasticsearch remote logging user
This patchset adds the ability to define an elasticsearch account to
use for remote logging and centralized logging functions

Change-Id: Iec61a130db6d94218893d3544e5a82c8ca04055b
2020-05-14 13:11:05 +00:00
Zuul
e53d28718d Merge "Remove OSH Authors copyright" 2020-05-12 20:00:38 +00:00
Steven Fitzpatrick
95e3c21df4 Settings for Remote Elasticsearch Clusters
This change adds a new Deployment to the Elasticsearch chart to add a
set of "gateway" nodes to the Elasticsearch cluster. These nodes will
facilitate Elasticsearch remote cluster, for features such as cross
cluster search.

Co-Authored-By: David Smith <ds3330@att.com>
Change-Id: Ic4ac988a922a12addce3c65e0ef4099d46bbc784
2020-05-08 13:07:54 -05:00
Gage Hugo
d14d826b26 Remove OSH Authors copyright
The current copyright refers to a non-existent group
"openstack helm authors" with often out-of-date references that
are confusing when adding a new file to the repo.

This change removes all references to this copyright by the
non-existent group and any blank lines underneath.

Change-Id: I1882738cf9757c5350a8533876fd37b5920b5235
2020-05-07 02:11:15 +00:00
dt241s@att.com
1871b830af Enable Apparmor for ElasticSearch
Change-Id: Ie7dc4399be4f0a62576e336c1de02810eeb09212
2020-03-16 20:08:18 +00:00
Pete Birley
641bb04d4a Apparmor: Update to use the runtime default profile
This moves from using the docker profile to the default
runtime profile - which allows container engines other than
docker to work out of the box.

Change-Id: Ica5a48f8c43b90f07969b41e10dc472a772b5b43
Signed-off-by: Pete Birley <pete@port.direct>
2020-01-13 13:04:35 -06:00
Chinasubbareddy Mallavarapu
0c18f272df [Elasticsearch] update ceph Nautilus images
This is to update ceph images  to Nautilus based images since
ceph cluster is now upgraded to Nautilus.

Change-Id: Ib57f29a4dba89de762a9824ba398ad49b0bd397b
2019-12-18 01:45:10 +00:00
Kaspars Skels
4fb0b49169 Fix incompatible curator version
Elasticsearch version 7.1.0 incompatible with this version of Curator (5.6.0)

Change-Id: If9323a6d742ddf2915ca9ec167eb8585c694cf1e
2019-12-13 15:20:57 -06:00
Steve Wilkerson
03580ec90a Elasticsearch: Make node selectors more granular
This updates the Elasticsearch chart to make the values keys used
for defining node selectors for the various elasticsearch
components more granular

Change-Id: Ic1ac343b1d6ee48fc7cb456afe4cd9588c4aa13b
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-12-10 15:55:38 -06:00
Steve Wilkerson
2d3c9575ff Elasticsearch/Kibana: Update version to 7.1.0
This updates the Elasticsearch and Kibana charts to deploy
version 7.1.0. This move required significant changes to both
charts, including: changing elasticsearch masters to a statefulset
to utilize reliable dns names for the discovery process, config
updates to reflect deprecated/updated/removed values, use the
kibana saved objects api for managing index patterns and setting
the default index, and updating the elasticsearch entrypoint
scripts to reflect the use of elastic-keystore for storing s3
credentials instead of defining them in the configuration file

Change-Id: I270d905f266fc15492e47d8376714ba80603e66d
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-12-03 07:43:29 -06:00
Steve Wilkerson
cbeb7f149b Move charts off using the :latest built tags
This updates charts that consume images built from osh-images to
use tags other than the :latest tags. This will be followed up
with the definition of jobs to allow for vetting out of updated
images, as reliance on :latest tags assumes any change merged into
osh-images will result in functionally correct behavior (which has
shown to not be the case traditionally)

Change-Id: I181aa56ed187604dc7583d8081e53cc69eb27310
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-11-21 19:57:07 +00:00
Steve Wilkerson
b50fae62a4 Update kubernetes-entrypoint image reference
This updates the kubernetes-entrypoint image reference to consume
the publicly available kubernetes-entrypoint image that is built
and maintained under the airshipit namespace, as the stackanetes
image is no longer actively maintained

Change-Id: I5bfdc156ae228ab16da57569ac6b05a9a125cb6a
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-10-18 18:20:11 +00:00
Steve Wilkerson
bc20c6c8b6 Elasticsearch: Add cron job to verify snapshot repositories
This adds a cron job to manually verify all snapshot repositories
are registered to any active master and data nodes. This is to
address scenarios where master and data nodes do not have the
desired snapshot repositories registered following node outages
or reboots

Change-Id: Ie6f42e95c3ca4dc2ec70f2852a2bde11e59ec097
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-08-02 02:02:14 +00:00
Venkata, Krishna (kv988c)
50889f8643 Fix indentations
Found incorrect indentations in YAML. This
PS redresses the indentation issue.

Change-Id: Id8d00e07a209a0fd1c98823deb59dc15a87ba16d
2019-06-19 17:11:37 -05:00
Zuul
79582a1ba5 Merge "Elasticsearch: Allow override of job back off limits and deadlines" 2019-06-18 21:18:47 +00:00
Randeep Jalli
79cb67544c Remove readonly rootfs Elasticsearch
This removes ReadonlyRootfs from
Elasticsearch data pods as this is
required in order for the data pods
to recover from outages

Change-Id: I603d3a25b6580eab20e2b20e1b1cd0cf740c7ab2
2019-06-03 15:02:51 +00:00
Steve Wilkerson
1ee476b197 Elasticsearch: Allow override of job back off limits and deadlines
this updates the Elasticsearch cluster wait and snapshot repo jobs
to include values overrides for the job backoff limits and the
active deadline seconds field. This allows for tweaking beyond the
standard defaults for kubernetes jobs

Change-Id: I1f95a635ab4dfdb3718d5d4fa668c64a9095e899
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-31 15:52:16 -05:00
Zuul
f353fc4ab9 Merge "Elasticsearch: Add data node specific entrypoint override" 2019-05-30 19:24:40 +00:00
Zuul
6febe7333c Merge "Elasticsearch: Update client and data pod deps" 2019-05-30 18:52:51 +00:00
Steve Wilkerson
d334c5b68a Elasticsearch: Update client and data pod deps
This updates the Elasticsearch client and data pod dependencies
to allow for sequential bring up of the cluster components. As
we want the order to be master->client->data, we add the discovery
service endpoint as a dependency for the client pods and add both
the discovery and client service endpoints as dependencies for
the data pods

Change-Id: Iec6d6f259dc8b7b4f2309b492409cc0e5feab669
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-30 15:28:59 +00:00
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
91178c31bf Elasticsearch: Add data node specific entrypoint override
This updates the Elasticsearch chart to include a specific start
script for the Elasticsearch data nodes that includes a trap on
signals that removes a data node from allocation eligible nodes
before shutting down.  This results in all shards being moved from
a node on shut down to alleviate issues with planned down nodes,
such as during upgrade scenarios

Change-Id: I22f4957f90e4113831a8ddf48691cb14f811c1e5
2019-05-30 10:25:03 -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
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
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
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
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
Zuul
e1b729e660 Merge "Elasticsearch: Update locations for apache virtual host" 2019-03-15 06:32:51 +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
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
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