Skip to content

Automated cherry pick of #7185: fix unrendered templates#7329

Merged
karmada-bot merged 1 commit intokarmada-io:release-1.15from
AbhinavPInamdar:automated-cherry-pick-of-#7185-upstream-release-1.15
Mar 31, 2026
Merged

Automated cherry pick of #7185: fix unrendered templates#7329
karmada-bot merged 1 commit intokarmada-io:release-1.15from
AbhinavPInamdar:automated-cherry-pick-of-#7185-upstream-release-1.15

Conversation

@AbhinavPInamdar
Copy link
Copy Markdown
Contributor

@AbhinavPInamdar AbhinavPInamdar commented Mar 26, 2026

Cherry pick of #7185 on release-1.15.
#7185: fix unrendered templates, Part of #7292
For details on the cherry pick process, see the cherry pick requests page.

`karmada-chart`: Fixed unrendered `{{ ca_crt }}` during upgrades.

after upgrade some of `{{ ca_crt }}` were unrendered in the static-resources configmap

this is because `kubectl -o yaml` wraps long lines:
https://stackoverflow.com/questions/65996363/generating-yaml-output-using-kubectl-result-in-splits-line

Signed-off-by: Nikita Sokolov <faucct@tracto.ai>
@karmada-bot karmada-bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Mar 26, 2026
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a critical templating issue within the karmada-chart that prevented {{ ca_crt }} values from being correctly rendered during upgrades. By switching the kubectl get configmap output format from YAML to JSON in the pre-upgrade job and related scripts, it ensures that subsequent sed commands can reliably parse and substitute values, leading to more robust and predictable upgrade processes.

Highlights

  • Template Rendering Fix: Resolved an issue where {{ ca_crt }} templates were not being correctly rendered during upgrades of the karmada-chart.
  • Output Format Consistency: Standardized the output format for kubectl get configmap commands from yaml to json across various scripts and templates to ensure reliable parsing and substitution.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates several kubectl get configmap commands from outputting YAML to JSON format across various scripts and templates, including a pre-upgrade job, a README example, and e2e test scripts. The change aims to improve the reliability of subsequent sed operations. A review comment highlights a potential issue where the sed command's delimiter (/) could conflict with characters in the karmada_ca variable (a base64 encoded certificate), suggesting the use of an alternative delimiter like # to prevent failures.

Comment on lines +88 to +89
kubectl get configmap {{ $name }}-static-resources -n {{ $namespace }} -o json | sed -e "s/{{ print "{{ ca_crt }}" }}/${karmada_ca}/g" | kubectl apply -f -
kubectl get configmap {{ $name }}-crds-patches -n {{ $namespace }} -o json | sed -e "s/{{ print "{{ ca_crt }}" }}/${karmada_ca}/g" | kubectl apply -f -
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The karmada_ca variable contains a base64 encoded certificate, which can include the / character. Using / as the delimiter in the sed command can cause the command to fail if the certificate contains a /. It's safer to use an alternative delimiter, like #, to avoid this issue.

          kubectl get configmap {{ $name }}-static-resources -n {{ $namespace }} -o json | sed -e "s#{{ print '{{ ca_crt }}' }}#${karmada_ca}#g" | kubectl apply -f -
          kubectl get configmap {{ $name }}-crds-patches -n {{ $namespace }} -o json | sed -e "s#{{ print '{{ ca_crt }}' }}#${karmada_ca}#g" | kubectl apply -f -

@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 46.24%. Comparing base (e4cb5fd) to head (98d4c97).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@              Coverage Diff              @@
##           release-1.15    #7329   +/-   ##
=============================================
  Coverage         46.24%   46.24%           
=============================================
  Files               688      688           
  Lines             46656    46656           
=============================================
+ Hits              21574    21576    +2     
+ Misses            23477    23476    -1     
+ Partials           1605     1604    -1     
Flag Coverage Δ
unittests 46.24% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@zhzhuang-zju zhzhuang-zju mentioned this pull request Mar 30, 2026
3 tasks
@zhzhuang-zju
Copy link
Copy Markdown
Contributor

/lgtm
/approve

@karmada-bot karmada-bot added the lgtm Indicates that a PR is ready to be merged. label Mar 31, 2026
Copy link
Copy Markdown
Member

@XiShanYongYe-Chang XiShanYongYe-Chang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

Copy link
Copy Markdown
Member

@XiShanYongYe-Chang XiShanYongYe-Chang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@karmada-bot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: XiShanYongYe-Chang, zhzhuang-zju

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@karmada-bot karmada-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 31, 2026
@karmada-bot karmada-bot merged commit 7d3b4d4 into karmada-io:release-1.15 Mar 31, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants