154 Commits

Author SHA1 Message Date
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
Smruti Soumitra Khuntia
2ac08b59b4 Support for local storage
This change adds a means of introducing new storage classes
and local persistent volumes.

Change-Id: I340c75f3d0a1678f3149f3cf62e4ab104823cc49
Co-Authored-By: Steven Fitzpatrick <steven.fitzpatrick@att.com>
2020-01-09 10:24:31 -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
fd7067649a Elasticsearch: Remove unnecessary rbac definitions
This removes the cluster role definition from the Elasticsearch
component templates, as these are not needed for the service to
function correctly.

Change-Id: I671272affbed8984a47121187024e4b831937123
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-12-03 09:06:13 -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
Andrii Ostapenko
fdcc9b7e0e Make all prints python3 compatible
Change-Id: Ie5a08859010453d276b42253f5f2130f80b82224
2019-10-01 01:28:35 +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
Steve Wilkerson
8130e6bdc5 Elasticsearch: Manually verify snapshot repositories
This updates the script for registering snapshot repositories to
include a manual verification of the repositories created. This
simply allows for inspection of all master and data nodes the
repository is verified with to provide additional visibility into
the state of all repositories

Change-Id: I6e5386386e2b79b1cb0f41fc1f9b78817695f8f3
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-24 15:37:23 -05: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
Zuul
b7f0fd8dff Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-06-04 08:57:21 +00:00
Zuul
e238b7a611 Merge "Remove readonly rootfs Elasticsearch" 2019-06-03 19:39:55 +00:00
Steve Wilkerson
dc6c1f2145 Elasticsearch: Update cluster-wait job script
This updates the cluster-wait job script to include a sleep for
when no nodes of a given type are detected.  This check was
previously executed only when a node count of (0 < x < expected)
was detected.  This update reduces the number of queries executed
against the Elasticsearch http endpoint

Change-Id: I15cb39250a5ab9a7f6df0d62c35289a55e109dbd
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-03 16:00:51 +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
caoyuan
040edeb79a Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I0e3af4a3385f5b2a7705bc19b775863b16c2e08e
2019-05-31 01:52:10 +00:00
Steve Wilkerson
b0706544f7 Elasticsearch: kill process after data node drain
This updates the Elasticsearch entrypoint override for the data
nodes to include a signal to kill the process after the trap to
drain each data node completes

Change-Id: Iccd4342fe16d06787cb24342d9a57e4de12e6980
2019-05-30 15:12:37 -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
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