As part of the move to helm v3, we migrated how we setup
deploying kubernetes from a series of playbooks to using
a bash script. This had the advantage of being easier to
follow and deploy locally, as well as easier to debug
when an issue arose. While the kubeadm-aio was very useful
in the past to help lower run-times, currently it appears
that optimizations in our jobs have seem to mitigate a lot
of the issues that were lessened with the AIO.
Change-Id: If0c6a97aed4083307a9b6f5beb4ec525e8103e01
Helm3 requires specifying a namespace to retrieve status and values for
a given release.
Before this role would not retrieve any values or statuses. Now values
and statuses are retrieved in saved in Zuul archive correctly.
Change-Id: If8cf28349b0c14ba6e1de74d49e46ab4a61b93c7
Several roles and scripts in the osh-infra repo have defaults for
ubuntu that are still on xenial when we mostly run bionic or newer.
This change updates these references to default to focal.
Change-Id: I84bca2d685cf1c67b10eee3bb7c05deb2cc4670b
Now that openstack-helm has migrated all of its jobs over, we
can now actually delete the tiller chart.
Change-Id: I4a6b201906fb6840222c1b082febedff2e51ce97
Update Kubernetes version to v1.19.15, the latest patch release of the
earliest supported version (as of 2021-09-15).
Change-Id: Ia8f398098dfafa7fc029c982c71bce4a876668de
The corresponding attribute in roles/build-images/defaults/main.yml
is helm_repo instead of google_helm_repo.
Change-Id: Id1be29773224ea496a3550642d7ba194fd1e83c2
The googleapi repo has been causing issues and the latest
one is giving an unauthorized error when trying to download
helm tarball.
This change moves the repo to use the official helm one.
Change-Id: I52607b0ca6d650d5f5e4a95045389970faa08cfb
The version of helm 2 that OSH has been using was older and seems
to have been removed from the googleapi repo that the jobs are
setup to use, this was causing job failures.
This change updates the version to the latest v2 release.
Change-Id: I675f539b24ea9c2355ac9eacc7dd8122c5236e5f
Add openvswitch gate issue with systemd 237-3ubuntu10.43 to
multinode also. Added code from [0].
Additionally, made changes to support 1.18.9 version of kubeadm.
[0] https://review.opendev.org/c/openstack/openstack-helm-infra/+/763619
Change-Id: I2681feb1029e5535f3f278513e8aece821c715f1
Switch from using images from defined in docker_images to provided as
zuul artifacts. Currently to be used in conjunction with [0] in
openstack-helm-images pipelines.
[0] https://review.opendev.org/741551
Change-Id: I43dbd38906e8854c87a361f2e5e479f57850252f
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
Pass parameter from job allowing to parallelize helm tests using
separate scripts.
Change-Id: I3e06c5590d51c75448dc5ff5978dc7fc90daca6f
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
Adds ability to override images in osh and osh-i repositories
if docker_images dict is provided with tags following zuul-jobs
upload-docker-image naming convention.
This allows to inherit osh job from osh-images project providing
required vars.
Change-Id: I5e7acb0dd0edd6838b6f7ddb5111db0fa34912d4
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
Required to support reusing of a job in another project.
Change-Id: I1c5968ea3d785c4902c7ab011f7538877b10ce24
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
This addresses an issue with using py2 as interpreter while
installing required dependencies with py3.
Also switch kubeadm-aio image to bionic.
Change-Id: I5a9e6678c45fad8288aa6971f57988b46001c665
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
Zuul updated ansible to 2.9 and broke one of the playbooks
that had the old sudo keyword, which is no longer valid in 2.9.
This change updates the offending file to use "become" instead,
which is the valid keyword instead of sudo.
Change-Id: I2057de7470d65a60c4c984cb99d0715c9d43b3a8
This commit rewrites lint job to make template linting available.
Currently yamllint is run in warning mode against all templates
rendered with default values. Duplicates detected and issues will be
addressed in subsequent commits.
Also all y*ml files are added for linting and corresponding code changes
are made. For non-templates warning rules are disabled to improve
readability. Chart and requirements yamls are also modified in the name
of consistency.
Change-Id: Ife6727c5721a00c65902340d95b7edb0a9c77365
when the force is yes, get_url moudel will download the file
every time and replace the file if the contents change, so it's
not necessary to remove the jq before get it.
Change-Id: I7337afecd1f9d7c66da46bff433016a39fd9ef7a
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
This change updates the fluentd chart to use the native
fluent-plugin-prometheus for metric production. This plugin
provides more detailed metrics about fluentd's operations,
specifically regarding input and output statistics.
https://github.com/fluent/fluent-plugin-prometheus
Using the plugin, each fluentd pod produces metrics, so
scape annotations have been added to the pod spec. The
zuul check on metric producers has been updated to account
for this.
Depends-On: https://review.opendev.org/714167
Change-Id: I809356d92b0cff1e31cb2062102bbedefd4843fd
This change updates how the gather-prom-metrics playbook role
chooses which services and ports to scrape when gathering metrics
at the end of a zuul build.
We can hit more metric endpoints by finding services with a "metrics"
port, as not all applications have a service labeled "component=exporter"
Change-Id: Ib8db7ea2e7034063eefadad74828d0396407275b
Removes become: and become_user: when including another role (that
already defines become: true and become_user: root)
Fixes an error occurring in the gates:
ERROR! 'become_user' is not a valid attribute for a IncludeRole
Change-Id: I362eefbe5b09ad64e97b3b541d07db2e6b990613
Change I7def8df68371deda0b75a685363c8a73b818dd45 removed one
line by mistake passing the openstack release var down to the zuul
jobs, so all jobs are currently running under ocata.
This patch restores the missing line, thus fixing the opensuse jobs
and making sure the other jobs run under the correct release.
Change-Id: Ia7a488928e521de1afb821f141d77d2b0268ff0a
This removes the default dashboards from the Grafana chart and
instead places them in the values_overrides directory, similar to
what was done for the Prometheus rules. As Grafana dashboards
will likely be heavily dependent upon end-user needs, the old
default dashboard configs should only be used as a reference
instead of opinionated defaults that are difficult to override.
The previous defaults made using specialized labels for dashboard
variables difficult, as they were making dangerous assumptions
about deployed namespaces and host fqdns. By removing the defaults
entirely, end users can define their own dashboards to meet their
specialized needs
Change-Id: I7def8df68371deda0b75a685363c8a73b818dd45
Signed-off-by: Steve Wilkerson <sw5822@att.com>
This updates the gather-prom-metrics role to include gathering
metrics from the active ceph-mgr endpoint
Change-Id: Icb5d27b6a070e9065f6276725bf06dec7d2cbc0d
Signed-off-by: Steve Wilkerson <sw5822@att.com>
This change updates the deploy-selenium playbook
to install Selenium using pip 3.
The shell scripts which call our selenium test python
files have been updated to use python 3.
Change-Id: I7fc82ecd830d460639c718614ce1cca9fd4d1953
This updates the kubeadm and minikube Kubernetes deployments to
deploy version 1.16.2
Change-Id: I324f9665a24c9383c59376fb77cdb853facd0f18
Signed-off-by: Steve Wilkerson <sw5822@att.com>
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>
As per PR, https://github.com/kubernetes/kubernetes/pull/60210,
in kubectl get show-all option is deprecated and no longer needed.
Presumably now that's the default behavior.
Also in current logs gathering logic, we are interested in capturing
only pod names, so removing that option is harmless.
We are seeing related failures in local CI when kubectl version is
1.15.x. So removing this option.
Change-Id: I3886c792fe28bc8b80504d8c91e9524039131b15
This updates the task in the disable-local-nameserver role to
include disabling the systemd-resolved service, as this causes
the entries we update in /etc/resolv.conf to not be honored as
systemd-resolved will use a different set of files for configuring
the nameservers it uses.
See: https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html
Change-Id: I68a623b7bcb32037b9eeff2d76c7f2cb317cb7d8
Signed-off-by: Steve Wilkerson <sw5822@att.com>
It can be that zuul_site_mirror_fqdn env variable will not be set,
in this case the whole job will fail, instead of simply not configuring
mirrors during image build. With this patch, if set_fact fails, mirrors
simply will not be configured during image build, as planned in lines 62
and 88 in this playbook
Change-Id: I049c696c7fb0d7cadb527a9f17dd01a42a671baa
This PS adds several fixes to Selenium tests (for Kibana) and adds
role which allows to collect the results.
Change-Id: If9fb5f50e395379fdd3ccc46e945a93606dcbabe
This updates the helm version from 2.13.1 to 2.14.1
Change-Id: I619351d846253bf17caa922ad7f7b0ff19c778a2
Signed-off-by: Steve Wilkerson <sw5822@att.com>
This PS stores the applied helm values for releases in the gate.
Change-Id: I6563104ded6631b63d9fced775b9b9dba7fd00ef
Signed-off-by: Pete Birley <pete@port.direct>
This PS indroduces a simpler way to incorp over-rides into gate
runs, and also ensures that they are scoped to a single chart, rather
than all of the charts deployed within a gate run.
Change-Id: Iba80f645f33c6d5847fbbb28ce66ee3d23e4fce8
Signed-off-by: Pete Birley <pete@port.direct>
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
This adds '|| true' to the curl command for gathering metrics from
prometheus exporters in the postrun job. After the move to
minikube for single node jobs, the headless services for the
kubernetes components no longer work as intended. The addition of
'|| true' allows the post run job to continue through the list
of services tied to the prometheus exporters without the task
failing outright
Change-Id: I56f0f56b799c3df9b2bd66a2c2044d71473606e3
This updates the post-run pod logs task to gather logs from any
failed containers, allowing for identifying issues associated with
pods that fail to start in the gate jobs
Change-Id: I9195f319a064f84f62d2aa558df05f8f81b9abea