396 Commits

Author SHA1 Message Date
Tin Lam
1d903948ae Add label to namespaces
This patch set adds the ability to add a label to the following namespaces:

- kube-public
- kube-system
- default

This was previously done in kubeadm in patch [0] but appears to be
removed as the script moved around. Also, this PS adds this to the
minikube deployment.

[0] https://review.opendev.org/#/c/540131/

Change-Id: I0f06e8ae0cd7742313b447dc2d563c7d92318fb0
Signed-off-by: Tin Lam <tin@irrational.io>
2019-09-13 13:20:07 -05:00
Zuul
f0306ce33d Merge "Sync wait-for-pods script with the one from openstack-helm" 2019-08-24 07:45:38 +00:00
Zuul
a381200e8c Merge "Disable cephfs provisioner in multinode jobs" 2019-08-14 00:48:32 +00:00
Zuul
e11e9734bd Merge "Minikube: Expose Tiller http port for metrics" 2019-08-13 21:50:28 +00:00
Zuul
eb3ec04325 Merge "AIO multinode: Add root user directive to Kubelet" 2019-08-13 16:55:10 +00:00
Steve Wilkerson
d547063c37 Disable cephfs provisioner in multinode jobs
This disables the cephfs provisioner in the multinode
periodic jobs. It seems the helm tests for the ceph
provisioner chart that test cephfs fail more often than
not in the multinode jobs while passing reliably in the
single node check and gate jobs. As cephfs is still
gated, disabling the cephfs provisioner in the periodic
jobs allows for further investigation into this issue
without causing potential regressions

Change-Id: I36e68cc2e446afac8769fb9ab753105909341f24
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-08-13 14:49:27 +00:00
Drew Walters
354d53c4c3 AIO multinode: Add root user directive to Kubelet
Systemd units run as the root user by default; however, environment
variables in spawned processes are not populated for the root user
unless "User=root" is specified for a particular unit [0]. This change
adds the "User=root" declaration to the Kubelet systemd unit so that
Kubelet will look in the root user's home directory for Docker
configuration information. Without this change, Docker configuration
information, such as authentication keys for private repositories, are
ignored by Kubelet even though the Docker daemon honors them.

[0] https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Environment%20variables%20in%20spawned%20processes

Change-Id: I209de0f4f04c078d39b1e8bf18195e51e965cbf3
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-08-12 15:56:47 +00:00
Steve Wilkerson
8573957fce Minikube: Expose Tiller http port for metrics
This updates the Minikube deployment to patch the tiller-deploy
service to add a port definition for the http (44135) port for
tiller, which is used to expose metrics for Prometheus to scrape

Change-Id: I2eb5d4001c37935674ce64012b2744030addc127
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-08-07 13:25:23 -05:00
Steve Wilkerson
443832a8fd Remove stale images from openstack-helm-infra
This removes the artifacts associated with images for libvirt,
mariadb, and vbmc from openstack-helm-infra as these images now
live in openstack-helm-images.

Change-Id: I5c97d2db89068c71ec1a56a5ac17007682711182
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-08-07 08:56:51 -05: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
Chinasubbareddy Mallavarapu
acd5d11bc2 Ceph-Client: update configmap name for defragosds cronjob
This is to update configmap names using by defragosds cronjob.

Change-Id: I29608cd8b6ce1e30615a0f92853939d7bbae9972
2019-08-01 12:22:48 -05:00
Anderson, Craig (ca846m)
ab8c81f2ee Restore overrides functionality after regression
Revert 833d426da8e4b049277ca9847830f6e6beee40c3

https://review.opendev.org/#/c/667022 introduced a regression in the
overrides functionality, which caused the corresponding gate test to
fail. This "fixed" a problem by breaking the override capability.

This patchset reverts the previous to restore override functionality and
make gates green again. Deep copy is added in order to resolve the
original problem that 667022 attempted to resolve.

Change-Id: I6c052c0fabe0067612d6a3d9d3bfac4df59202d7
2019-07-24 12:18:44 +00:00
Alexander Noskov
3b5a1c7909 Take dnsPolicy from .Values.pod.dns_policy variable
Change-Id: Iae7caa5bdefe7749231c031c6003591a6251fa97
2019-07-15 17:31:16 +00:00
Zuul
e01741589a Merge "Tenant-Ceph: Enable cephfs storage class provisioning" 2019-07-13 16:16:54 +00:00
Drew Walters
8ba46703ee CI: Restore Xenial compatibility in K8s script
Recently, the Minikube gate script was modified to support Ubuntu Bionic
[0]; however, the change made the script incompatible with Ubuntu Xenial
because libxtables12 is not available on Ubuntu Xenial. OpenStack-Helm
still supports Ubuntu Xenial, and this script should too.

This change modifies the gate script to install iptables instead of
libxtables12. The iptables package depends on libxtables11 on Ubuntu
Xenial and libxtables12 on Ubuntu Bionic, so this achieves the same
result.

[0] https://review.opendev.org/650523

Change-Id: I5afbcfeca6e7b30857a44aed35a360595eeb5037
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-07-12 13:50:22 +00:00
Steve Wilkerson
7e55710a42 Tenant-Ceph: Enable cephfs storage class provisioning
This updates the tenant ceph job to provision the cephfs storage
class by removing the override that prevents it. This is required
for the ceph namespace activation deployment for osh-infra to
successfully pass its helm tests

Change-Id: I3f801cb2a369f6a073105296d7cc4f98fddf6a68
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-12 13:45:40 +00:00
Steve Wilkerson
ae3c07b853 Ceph: Update default test pod timeout for provisioners
This mvoes the default timeout for the ceph provisioners helm test
pod to 600 seconds, as 120 seconds is fairly aggressive.  This
also adds the required --timeout flag to the helm test command in
each job for the ceph provisioners, as well as adding the required
helm test configuration to the armada-lma manifest

Change-Id: I5a3b98de9132fe83cf09b1e5b3fcc513bd496650
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-12 13:43:38 +00:00
Zuul
e40c903cda Merge "Armada: Fix issues with armada-lma manifest" 2019-07-11 19:06:43 +00:00
Zuul
639dcc2da3 Merge "Enable calico prometheus metrics for minikube" 2019-07-11 19:03:59 +00:00
Alexander Noskov
b191d4ae99 Update symlink for 110-kibana.sh
070-kibana.sh was renamed in https://review.opendev.org/#/c/661753/1/tools/deployment/osh-infra-logging/075-kibana.sh

Change-Id: I043179d259f51734056d168058304ca9a8ff4de4
2019-07-10 18:12:27 -05:00
Steve Wilkerson
4e54672733 Armada: Fix issues with armada-lma manifest
This addresses issues with the armada-lma manifest that arose
after the splitting of the fluentbit and fluentd charts. The top
level labels key was missing from the fluentbit chart and the
logging chart group still referenced a nonexistent fluent-logging
chart

Change-Id: I5244fc9d065806c376ca5d18b6ced9ed445057c9
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-10 20:54:18 +00:00
Steve Wilkerson
4feff0e34a Enable calico prometheus metrics for minikube
This updates the minikube deployment script to patch the
calico-node daemonset to set the appropriate annotations and
environment variables required for felix to expose prometheus
metrics

Change-Id: Ic5dc2ecb298add12cd3b150cc4d26e7639c43488
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-10 15:48:18 -05:00
Steve Wilkerson
09366598b5 Remove docker.io version pin
Change-Id: Id45132d8476ca931042dddc4544074e26135f9fc
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-08 20:39:58 +00:00
Pete Birley
fff09d1066 Rabbit: Move to deploy the default number of replicas in gate
This PS moves to deploy the default number of RMQ replicas in the gate.

Change-Id: I36734a64b45adce8de89dfe3b020d0dae0e66d94
Signed-off-by: Pete Birley <pete@port.direct>
2019-07-05 13:13:42 +00:00
Zuul
ce2c0e08d2 Merge "Update helm version to 2.14.1" 2019-07-04 18:36:57 +00:00
chengli3
13c89f9721 Update ldap overrides values file reference
The ldap overrides values file had been moved to
keystone/values_overrides[1]. This patch is to update the reference.

[1]
cede6c0d48 (diff-89208df3c46570cf56141a9353ce27a7)

Change-Id: Ib03bb979dc681a647abd36df77f55fd82e0d4df6
2019-07-02 11:02:06 +08:00
Kabanov, Dmitrii (dk370c)
1db1ddf0ba [Kibana] Add improvements to Selenium tests for Kibana
This PS adds several fixes to Selenium tests (for Kibana) and adds
role which allows to collect the results.

Change-Id: If9fb5f50e395379fdd3ccc46e945a93606dcbabe
2019-06-25 20:51:01 -07:00
Steve Wilkerson
b117b14c3a Update helm version to 2.14.1
This updates the helm version from 2.13.1 to 2.14.1

Change-Id: I619351d846253bf17caa922ad7f7b0ff19c778a2
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-25 21:33:20 +00:00
Zuul
28d3cb538b Merge "Remove fluent-loggin from network-policy" 2019-06-25 03:28:05 +00:00
Kabanov, Dmitrii (dk370c)
44c1dcc4c9 [etcd] Move etcd storage to tmpfs
The PS allows to use tmpfs for etcd during the gates.
There is an assumption that it will improve the performance and
will allow to get rid of weird issues.

Change-Id: Id68645b6535c9b1d87c133431b7cd6eb50fb030e
2019-06-24 11:14:21 -07:00
MegHeisler
d5af61b751 Remove fluent-loggin from network-policy
This removes the old fluent-logging chart from network
policy and replaces it with the new fluentbit and fluentd
charts. This will return the network policy gate back to
passing

Change-Id: I060c6c3034fa798a131a053b9d496e5d8781c55d
2019-06-24 16:14:05 +00:00
Randeep Jalli
1c4084bdc0 add docker-default apparmor profile for prometheus-alertmanager
Add in prometheus-alertmanager gate script as a script

Change-Id: I3c10f9a9d4403fd91da292a50d204f73a9295611
2019-06-22 10:13:18 +00:00
Steve Wilkerson
f2db36862c Add openstack-exporter to aio-monitoring & openstack-support jobs
This deploys the openstack-exporter as part of the aio-monitoring
single node and openstack-support jobs, to ensure the exporter is
functional and working as expected

Change-Id: If31046769fd9032647af47ce8fce0cde5b8f7d7d
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-19 16:38:10 +00:00
Renis Makadia
c7f5c9979c Add helm tests for Ceph Provisioners chart
- Adding helm tests for Ceph provisioner chart
- Helm test should only executed when deploying chart with
client_secrets: true.

Co-Authored-By: Chinasubbareddy Mallavarapu <cr3938@att.com>

Change-Id: I33421249246dfaf6ea4f835e76a74813dfb3b595
2019-06-12 12:32:30 -05:00
Steve Wilkerson
40769d5a60 Nagios: Add Selenium tests via helm test pod
This adds selenium tests for the Nagios chart via a helm test
pod to help ensure the Nagios deployment is functional and
accessible

Change-Id: I44f30fbac274546abadba0290de029ed2b9d1958
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-06 19:35:59 +00:00
Steve Wilkerson
0d2ac10fc2 Update apparmor job after fluent-logging split
This updates the apparmor job to account for the splitting of the
fluent-logging chart, as it was missed during that change.  Now,
the apparmor job will deploy fluentbit as well as fluentd deployed
as a daemonset running as a collecting agent

Change-Id: Iefa50f474b57a10c5e7e5a9032c7b23d26d97640
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-04 12:58:33 +00:00
Steve Wilkerson
aee9708b06 Fluentd: Update configuration defaults and overrides
This updates the default fluentd configuration to include
recommended settings for preventing the elasticsearch plugin from
reloading the connection after 10000 requests (default for the
ruby gem). This also updates the configuration overrides for the
fluentd-daemonset deployment to provide input parity with the
default fluentbit configuration by adding inputs for the docker
and kubelet systemd units, inputs for ceph, libvirt, kernel logs,
and auth logs on the host.  Finally, this updates the fluentd
template to include environment variables for the host name and
the fluentd pod name so they can be added to logged events through
fluentd filter plugins

Change-Id: I21f7a89a325c44f8b058ff01a20191bea1a210b4
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-06-03 16:00:44 +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
Doug Aaser
9efb353b83 Patroni inclusion work for HA Postgres
This patchset aims to add HA Clustering support for Postgres. HA Clustering
provides automatic failover in the event of the database going down in addition
to keeping replicas of the database for rebuilding in the event of a node
going down. To achieve this clustering we use
[Patroni](https://github.com/zalando/patroni) which offers HA clustering
support for Postgres.

Patroni is a daemon that runs in the background and keeps track of which
node in your cluster is currently the leader node and routes all traffic
on the Postgresql endpoint to that node. If the leader node goes down,
Patroni holds an election to chose a new leader and updates the endpoint
to route traffic accordingly. All communication between nodes is done by
a Patroni created endpoint, seperate from the externally facing Postgres
endpoint.

Note that, although the postgresql helm chart can be upgraded from
non-patroni to patroni clustering, the previous `postgresql`
endpoints object (which is not directly managed by helm) must be
deleted via an out-of-band mechanism so that it may be replaced by the
patroni-managed endpoints.  If Postgres itself is leveraged for the
deployment process, this must be done with careful timing.  Note that
the old endpoints had a port named "db", and the new endpoints has
a port named "postgresql".

- Picking up patchset: https://review.openstack.org/#/c/591663

Co-authored-by: Tony Sorrentino <as1413@att.com>
Co-authored-by: Randeep Jalli <rj2083@att.com>
Co-authored-by: Pete Birley <pete@port.direct>
Co-authored-by: Matt McEuen <mm9745@att.com>

Change-Id: I721b745017dc1ea7ae05dfd9f8d5dd08d0965985
2019-05-28 19:13:13 +00:00
Steve Wilkerson
bdaf866a4e Fluentd: Support Daemonset deployment
This adds required changes to the Fluentd chart to allow for
deploying Fluentd as either a deployment or a daemonset. This
follows the pattern laid out by the ingress chart. This also
updates the single and multinode jobs to deploy fluentd as both
a daemonset and a deployment for validation

Change-Id: I84353a2daa2ce56ff59882a8d33203286ed27e06
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-28 08:23:44 -05:00
Jean-Philippe Evrard
ed200cb3b0 Wait for pods for openstack-support scenario
The wait for pods is not consistently used in the
openstack-support scenario.

This is a problem, as some helm charts deploys are
basically masking issues that can arise.

This should fix it.

Change-Id: Ib3e8f16bea701bf20375d4deec7c7869e7bf85c2
2019-05-28 07:51:34 +00:00
Zuul
5cb47aed80 Merge "Separate fluentbit and fluentd charts" 2019-05-24 17:34:27 +00:00
Tin Lam
752bbf48c4 Migrate ubuntu jobs from Xenial to Bionic
This patch set is based on [0] that also fixed up a handful of Bionic-
specific changes required for the gates to pass.

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

Co-Authored-By: ghanshyam <gmann@ghanshyammann.com>

Change-Id: I217a27c53eec2a51ddbea7226a23042558c5946b
2019-05-24 13:52:08 +00: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
b44d99b36a Fluent-logging: Remove utils for generating configuration files
This removes the utilities for generating the fluentd, fluentbit,
and parser configuration files from yaml and moves to instead
consume the configuration files as strings from the values.yaml.

This allows for easier creation and maintenance of configuration
files for fluentd and fluentbit, as the utilities became unwieldy
with complex configuration files.

This necessitated the removal of the core test executed by the
charts helm tests, but this would be required as we move to split
the charts regardless

Change-Id: Ied4a76bbdf58b54a6d702db04a7120b64f54dcac
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-05-23 13:06:19 -05:00
Zuul
85c03c422e Merge "Add docker-default (enforce) AppArmor profile to openvswitch" 2019-05-23 15:05:53 +00:00
Renis Makadia
5985b61286 Ceph-Client: Update, Enable and Cleanup helm tests
- Update ceph-client chart to
1) By default, enable ceph-client helm test. Update enabler
key in values.yaml to follow pattern as in other charts
2) Add needed dependancy for ceph-client helm tests
3) Update helm test script to reduce output and update
error msgs
4) Removed unwanted ENV variables SPECS and EXPECTED_POOLMINSIZE
- Update gate scripts to run helm test command

Change-Id: I6a0e4f5107e49dac081ac2037bcc0f9c0864793f
2019-05-18 03:09:45 +00:00
Jiří Suchomel
ce9f4e41ab Sync wait-for-pods script with the one from openstack-helm
Change-Id: I709362ea9e6c1d0fe2c567556ebf7c3b666e9849
2019-05-16 15:52:58 +02:00
Steve Wilkerson
7c093716ca Enable fluentd monitoring in single and multinode jobs
This updates the scripts for deploying fluentd to include
overrides for enabling prometheus monitoring. Despite not
deploying prometheus in the osh-infra-logging job, we can still
leverage the post run job to gather metrics from the exporters
service. This gives us the means for verifying the functionality
of the exporter

Change-Id: Id98474de89d86419157635007e2f114f0947498e
2019-05-10 01:18:13 +00:00
Zuul
ead842d1d8 Merge "Elasticsearch: Heap configuration and ingest node updates" 2019-05-09 21:10:26 +00:00