Code Changes for Updates💣
Elastic/Kibana is a Big Bang built/maintained chart. The below details the steps required to update to a new version of the package.
-
Ensure that newest elastic/kibana images are compatible. If possible the image tags should be the same, although patch version differences are OK.
-
Checkout the
renovate/ironbankbranch. This branch should already have the updates you need for the images,elasticsearch.version,kibana.versionandappVersioninChart.yaml. Validate that theversionvalues are equal to their respectiveimage.tagvalue and that theappVersionis equal to the elasticsearch version. -
Modify the
versioninChart.yaml. Since this is an upstream chart you should bump the versioning following semver, and append-bb.0. In general for new elastic/kibana versions this will mean bumping the minor version (i.e.0.1.2-bb.0to0.2.0-bb.0). -
Update
CHANGELOG.mdadding an entry for the new version and noting all changes (at minimum should includeUpdated Elastic/Kibana to x.x.x). -
Generate the
README.mdupdates by following the guide in gluon. -
If this is a new minor version of Elastic you will likely need to add a new section to
chart/templates/bigbang/upgrade-job.yamlfor the new version upgrade. Follow the existing examples to update the job to support upgrades between old version -> new version. -
Push up your changes, validate that CI passes. If there are any failures follow the information in the pipeline to make the necessary updates and reach out to the team if needed.
-
Perform the steps below for manual testing. CI provides a good set of basic smoke tests but it is beneficial to run some additional checks.
Manual Testing for Updates💣
NOTE: For these testing steps it is good to do them on both a clean install and an upgrade. For clean install, point logging to your branch. For an upgrade do an install with logging pointing to the latest tag, then perform a helm upgrade with logging pointing to your branch.
You will want to install with:
- Logging (elastic, eck operator, and fluentbit), and Istio packages enabled
- Istio enabled
- Dev SSO values for Logging
Testing Steps:
- Ensure all pods go to running (NOTE: this is especially important for the upgrade testing since Big Bang has an “auto rolling upgrade” job in place)
- Login to Kibana without SSO, using the password in the
logging-ek-es-elastic-usersecret and usernameelastic - Navigate to https://kibana.bigbang.dev/app/management/security/role_mappings and add a role mapping for SSO logins (name: sso, roles: superuser, mapping rules: username=*)
- Logout and attempt to perform an SSO login with your login.dso.mil credentials
- Navigate to https://kibana.bigbang.dev/app/management/kibana/indexPatterns and add an index pattern for
logstash-* - Navigate to
Analytics->Discoverand validate that pod logs are appearing in thelogstashindex pattern
When in doubt with any testing or upgrade steps ask one of the CODEOWNERS for assistance.