Create a unique setup/update Job name per release version#792
Create a unique setup/update Job name per release version#792jorhett wants to merge 1 commit intotemporalio:mainfrom
Conversation
Create a job name which contains the minor version Remove the TTL on the job which causes diff/sync issues Update the README instructions
|
|
|
Please could you update this now that v1 has been merged to master. Please add a test, and consider how this might work given we're currently doing rc releases? Might need to have support for pre/alpha/rc style stuff in the schema job name as well. |
It's kind of odd to respond to a submission and say "please go solve this new problem specific to our releases" -- especially when I know nothing of your versioning or release strategy 😁 I've demonstrated a useful way to solve this problem and minimize problems that lots of people were experiencing in many different ways. I would think details like adapting it to changes in your versioning strategy / etc are important to you, but orthogonal to the value provided by this PR. Please take this answer and implement it however you feel is best. |
|
Also keep in mind that AFAICT the "changes" required would be altering a I'm not in any way trying to suggest that version handling isn't important, I'm saying an engineer who knows your versioning can do it between breaths 😉 |
Allow people to disable ttlSecondsAfterFinished but default to setting it as it's best practise to avoid orphaned pods hanging around. Based on #792. Documentation changes to follow.
* Use full chart version in job name to improve Argo compat. Allow people to disable ttlSecondsAfterFinished but default to setting it as it's best practise to avoid orphaned pods hanging around. Based on #792. Documentation changes to follow. * Fix name formatting.
|
Full release name is now used for the job via #846 |
Why?
The helm chart currently creates a job to setup and update the schema named
temporal-schema-{{Helm chart version}}since #564 which is often justtemporal-schema-1. The lifetime of this chart is 1 day, which has two separate impacts:helm upgradedoes not work ifschema.enabledis true #554schema.updateis enabledWhat was changed
Give the schema update job and pod a name including the major-minor version of Temporal. This will allow multiple minor version upgrades to succeed without having to manually remove the job.
Remove the job removal TTL the value of which was debatable, but regardless of value will show sync issues with Helm diff and ArgoCD sync status. As the use of Helm hooks was explicitly removed in Setup for
ci install. #522 to resolve issues with--wait, this provides another way to retain diff/sync. This also means that job update logs are retained and available for life of the helm release.Updated the README to make it clear the manual update steps aren't required if update is enabled.
Checklist
Closes [Bug]
helm upgradedoes not work ifschema.enabledis true #554 [Feature Request] Allow Schema Job ttlSecondsAfterFinished to be configurable #735 Inconsistent diff using Helm diff plugin #636 [Feature Request] Support ArgoCD deployments #709 [Bug] schema job fails #737How was this tested: it's only a name change, helm upgrade did it all 😁
Any docs updates needed?
Updates to the README are included.