-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[major] Add junitreporter sub-chart for reporting sync to devopsdb #201
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new sub-chart which is included in each argo app/helm chart we have. This new sub-chart called
junitreporter
has a presync and postsync job. The presync job will call theregister-start.py
script and create a configmap (if it doesn't exist) with the current time in. The register-start.py also has changes in the (ibm-mas/cli#1271) cli PR to accept the new ibm-mas-gitops productid. This will store that a sync job is started in the devops db.The postsync of this new subchart runs when the main app chat completes its sync. This will call the
save-junit-to-mongo
script after creating a junit xml based test result (with just one testcase of sync). The configmap with the sync_start is used to determine the time taken. The configmap is then deleted by the post-sync job.The reason the configmap is created by the job rather than as a resource is that when an app fails on sync it will re-sync and so the pre-sync is called again before the post-sync is called. This would reset the time in the configmap if it was a pure resource in the template.
Exmaple of a sync with the pre and post jobs:
The sub-chart will only be executed when the
devops_mongo_uri
is present.WARNING: Although the sub-chart won't be used in envs that don't have devops_mongo_uri set, it will still need to template the subchart. This requires that the Vault Plugin being used in ArgoCD needs to run
helm dependency update
otherwise the helm template will error. The updated Vault Plugin config is present in the cli PR (ibm-mas/cli#1271). This is why this PR is marked as major as this needs to be in place regardless as to if the function will be used or not.