Skip to content

docs: add migration note for default-httplistenerpolicy Helm ownership conflict#751

Open
kavix wants to merge 1 commit into
openchoreo:mainfrom
kavix:docs/httplistenerpolicy-helm-ownership-upgrade-note
Open

docs: add migration note for default-httplistenerpolicy Helm ownership conflict#751
kavix wants to merge 1 commit into
openchoreo:mainfrom
kavix:docs/httplistenerpolicy-helm-ownership-upgrade-note

Conversation

@kavix

@kavix kavix commented Jul 8, 2026

Copy link
Copy Markdown

Purpose

Adds a Known Migration Issues section to the upgrade guide documenting the HTTPListenerPolicy (default-httplistenerpolicy) ownership conflict that affects users who followed older README setup instructions for the Data Plane.

When upgrading OpenChoreo after the change in openchoreo/openchoreo#4080 (which moved default-httplistenerpolicy into the openchoreo-data-plane Helm chart), users who previously created this resource manually will encounter:

Error: UPGRADE FAILED: rendered manifests contain a resource that already exists.
Unable to continue with update: HTTPListenerPolicy "default-httplistenerpolicy" in namespace "..." exists and cannot be imported into the current release.

The new section explains how to resolve this by transferring ownership to Helm using kubectl annotate and kubectl label before running helm upgrade.

Related Issues

Checklist

  • Updated sidebars.ts if adding a new documentation page (not applicable — no new page)
  • Run npm run start to preview the changes locally
  • Run npm run build to ensure the build passes without errors
  • Verified all links are working (no broken links)

…p conflict

Signed-off-by: kavix <kavix@yahoo.com>
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added a new “Known Migration Issues” section to the upgrade guide.
    • Documented a Helm ownership conflict that can block upgrades for an existing HTTPListenerPolicy.
    • Included step-by-step commands to transfer Helm ownership before continuing with the standard upgrade process.

Walkthrough

This PR adds a new "Known Migration Issues" section to the platform engineer upgrade guide, documenting a Helm ownership conflict for the default-httplistenerpolicy resource and providing kubectl annotate/kubectl label commands to resolve it before upgrading.

Changes

Upgrade Documentation Update

Layer / File(s) Summary
Known Migration Issues section
docs/platform-engineer-guide/upgrades.mdx
Documents a Helm ownership conflict for default-httplistenerpolicy and provides kubectl annotate/kubectl label commands to transfer ownership prior to upgrade.

Estimated code review effort: 1 (Trivial) | ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main documentation change and the Helm ownership conflict it addresses.
Description check ✅ Passed The description matches the template with Purpose, Related Issues, and a completed Checklist, including the relevant issue reference.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/platform-engineer-guide/upgrades.mdx`:
- Around line 89-100: The ownership-transfer commands in the upgrades guide omit
the target namespace, so they can annotate/label the wrong httplistenerpolicy.
Update the kubectl annotate and kubectl label examples to include the Data
Plane/release namespace explicitly, while keeping the existing resource name
default-httplistenerpolicy and Helm metadata keys in the same upgrade
instructions section.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5508eeda-3433-4bd3-8659-0573244cf0cb

📥 Commits

Reviewing files that changed from the base of the PR and between f4de773 and b11e164.

📒 Files selected for processing (1)
  • docs/platform-engineer-guide/upgrades.mdx

Comment on lines +89 to +100
To resolve this, transfer ownership of the resource to Helm **before** running `helm upgrade` by applying the following annotation and label:

```bash
# Replace <release-name> and <release-namespace> with your actual values
kubectl annotate httplistenerpolicy default-httplistenerpolicy \
meta.helm.sh/release-name=<release-name> \
meta.helm.sh/release-namespace=<release-namespace> \
--overwrite

kubectl label httplistenerpolicy default-httplistenerpolicy \
app.kubernetes.io/managed-by=Helm \
--overwrite

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add an explicit namespace to the ownership-transfer commands.

Right now kubectl annotate / kubectl label will run against whatever namespace is active in the current context, which makes these instructions easy to apply to the wrong object. Please include the Data Plane/release namespace in both commands so the Helm ownership metadata is written to the existing default-httplistenerpolicy resource.

Suggested fix
-kubectl annotate httplistenerpolicy default-httplistenerpolicy \
+kubectl annotate -n <release-namespace> httplistenerpolicy default-httplistenerpolicy \
   meta.helm.sh/release-name=<release-name> \
   meta.helm.sh/release-namespace=<release-namespace> \
   --overwrite

-kubectl label httplistenerpolicy default-httplistenerpolicy \
+kubectl label -n <release-namespace> httplistenerpolicy default-httplistenerpolicy \
   app.kubernetes.io/managed-by=Helm \
   --overwrite
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To resolve this, transfer ownership of the resource to Helm **before** running `helm upgrade` by applying the following annotation and label:
```bash
# Replace <release-name> and <release-namespace> with your actual values
kubectl annotate httplistenerpolicy default-httplistenerpolicy \
meta.helm.sh/release-name=<release-name> \
meta.helm.sh/release-namespace=<release-namespace> \
--overwrite
kubectl label httplistenerpolicy default-httplistenerpolicy \
app.kubernetes.io/managed-by=Helm \
--overwrite
To resolve this, transfer ownership of the resource to Helm **before** running `helm upgrade` by applying the following annotation and label:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/platform-engineer-guide/upgrades.mdx` around lines 89 - 100, The
ownership-transfer commands in the upgrades guide omit the target namespace, so
they can annotate/label the wrong httplistenerpolicy. Update the kubectl
annotate and kubectl label examples to include the Data Plane/release namespace
explicitly, while keeping the existing resource name default-httplistenerpolicy
and Helm metadata keys in the same upgrade instructions section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant