Skip to content

fix: Restore namespace discovery label on FeatureStore reconcile - #349

Merged
jyejare merged 2 commits into
red-hat-data-services:rhoai-3.6-ea.2from
patelchaitany:fix/cherry-pick-pr-347-ea2
Sep 3, 2026
Merged

jyejare merged 2 commits into
red-hat-data-services:rhoai-3.6-ea.2from
patelchaitany:fix/cherry-pick-pr-347-ea2

Conversation

@patelchaitany

@patelchaitany patelchaitany commented Sep 3, 2026

Copy link
Copy Markdown

RHOAIENG-91574

Summary

Cherry-pick of #347 (merged to main as ee5802621) onto rhoai-3.6-ea.2.

Restores controller reconcile wiring for the opendatahub.io/feast=true namespace discovery label:

  • Calls access.EnsureNamespaceLabel after FeatureStore is Ready
  • Calls access.RemoveNamespaceLabelIfLast on deletion when no other FeatureStore remains in the namespace

Test plan

  • cd infra/feast-operator && go build ./...
  • Deploy FeatureStore on ea.2 cluster and verify namespace gets opendatahub.io/feast=true
  • Delete FeatureStore and verify label is removed when last in namespace

Made with Cursor

The operator is documented to add `opendatahub.io/feast: "true"` to any
namespace holding a deployed FeatureStore, so dashboards can discover Feast
namespaces cluster-wide via that label selector. The reconcile wiring for it
was dropped during an upstream merge, leaving access.EnsureNamespaceLabel and
access.RemoveNamespaceLabelIfLast orphaned while the manager-role kept the
now-unused `namespaces: update` permission.

Wire both back into Reconcile:

- Add the label in the post-deploy block, gated on the Ready condition, so it
  lands only after the FeatureStore is actually deployed.
- Remove it on both deletion paths (CR-not-found and DeletionTimestamp set),
  and only when no other live FeatureStore remains in the namespace.
- Run the removal before the namespace-registry and OpenLineage cleanups,
  which return early on error and would otherwise strand the label.

countOtherFeatureStoresInNamespace returns (int, error) so a List failure
keeps the label in place, rather than the -1 sentinel used elsewhere which
fails the `> 0` check and unlabels the namespace on any transient API error.

Regenerated with `make manifests generate bundle`, which produced no manifest
changes: the marker already granted `core/namespaces: get;list;watch;update`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Chaitany Patel <patelchaitany93@gmail.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Post-Codefreeze Gatekeeper — FAILED (evaluation)

Advisory only — this check does not block merging. Please review the results before merging.

Target branch: rhoai-3.6-ea.2
Required Jira version: 3.6 EA2 RHOAI RELEASE

❌ The following issues were found:

  • RHOAIENG-91574:
    • Release Blocker is not set, expected Approved

After resolving issues, push a commit, re-edit the PR description, or add the run-gatekeeper label to re-trigger this check.

@jyejare

jyejare commented Sep 3, 2026

Copy link
Copy Markdown

@patelchaitany Please add a jira ticket for this issues and the check should be back.

Co-authored-by: Cursor <cursoragent@cursor.com>
@patelchaitany
patelchaitany force-pushed the fix/cherry-pick-pr-347-ea2 branch from 3c4de06 to 94e77c0 Compare September 3, 2026 10:53
@jyejare
jyejare merged commit f398155 into red-hat-data-services:rhoai-3.6-ea.2 Sep 3, 2026
2 of 3 checks passed
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.

2 participants