Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 7, 2026

Summary

Fixes #15491

When multi-cluster-management=false, the /v3/cluster (NORMAN.CLUSTER) schema is unavailable, causing "Unknown schema for type: cluster" errors in cluster badge/appearance dialogs and Fleet operations.

Occurred changes and/or fixed issues

Cluster Badge/Appearance - Primary fix

  • AddCustomBadgeDialog.vue now uses MANAGEMENT.CLUSTER instead of NORMAN.CLUSTER for badge annotations
  • MANAGEMENT.CLUSTER is always available regardless of MCM status

Fleet Operations - Defensive handling

  • Fleet cluster model, edit view, and AssignToDialog check schema existence before NORMAN.CLUSTER operations
  • Operations skip gracefully when schema unavailable

Provisioning Cluster - Defensive handling

  • findNormanCluster() returns null when schema missing

Technical notes summary

The root cause: NORMAN.CLUSTER is the legacy Norman API resource (/v3/cluster), while MANAGEMENT.CLUSTER is the Steve/k8s resource (management.cattle.io.cluster). Badge annotations exist on both, but only MANAGEMENT.CLUSTER is guaranteed to be available.

Pattern for defensive checks:

const normanSchema = this.$store.getters['rancher/schemaFor'](NORMAN.CLUSTER, false, false);
if (!normanSchema) {
  return null; // Skip norman operations
}

Areas or cases that should be tested

  • MCM disabled: Start Rancher with --features=multi-cluster-management=false

    • Cluster appearance dialog should open without errors
    • Badge customization should save to MANAGEMENT.CLUSTER
    • No "Unknown schema for type: cluster" errors in console
  • MCM enabled (default): Verify existing functionality unchanged

    • Badge customization works
    • Fleet cluster operations work
  • Test with Global Roles: Admin, Standard User, User Base

Areas which could experience regressions

  • Cluster badge/appearance functionality (all MCM states)
  • Fleet cluster edit operations
  • Fleet workspace assignment
  • Any code path that uses fleetCluster.norman or provisioningCluster.findNormanCluster()

Screenshot/Video

Before: Shows "Unknown schema for type: cluster" error in cluster appearance dialog when MCM disabled
After: Dialog functions correctly, saves to MANAGEMENT.CLUSTER

Checklist

  • The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
  • The PR has a Milestone
  • The PR template has been filled out
  • The PR has been self reviewed
  • The PR has a reviewer assigned
  • The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
  • The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes
  • The PR has been reviewed in terms of Accessibility
  • The PR has considered, and if applicable tested with, the three Global Roles Admin, Standard User and User Base
Original prompt

This section details on the original issue you should resolve

<issue_title>Handle unavailable norman cluster with mcm = false</issue_title>
<issue_description><!--------- For bugs and general issues --------->
Setup

  • Rancher version: v2.12.0 (and before?)

Describe the bug

  • /v3/cluster / NORMAN.CLUSTER is not available with mcm: false
  • we need to ensure all places that use fetch it can handle it
    • cluster badge / appearance
    • anywhere we set labels and annotations outside of prov cluster....

To Reproduce
provision a cluster with the following

docker run -d --restart=unless-stopped -p 8080:80 -p 8081:443 -p 8082:6060 -e CATTLE_BOOTSTRAP_PASSWORD=admin --name $container --privileged rancher/rancher:v2.12.0 --features=multi-cluster-management=false,multi-cluster-management-agent=false,managed-system-upgrade-controller=false

then run through setup and reach the home page

Result

  • for cluster appearance - model is reachable but always fails with Unknown schema for type: cluster

Expected Result

  • for cluster appearance - cluster appearance is not reachable

Screenshots

Image

Additional context

  • We probably should understand how much we want to support this mode. ATM i think only harvester + epinio (TBD) use it and they both disable the side bar with clusters in
    </issue_description>

<agent_instructions>Please make sure the fixes comment in the PR references issue 15491</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits January 7, 2026 16:26
…CLUSTER

Fixes #15491

When MCM (multi-cluster-management) is disabled, the NORMAN.CLUSTER schema
is not available. The AddCustomBadgeDialog was trying to fetch and save
badge annotations on NORMAN.CLUSTER, which caused "Unknown schema for type: cluster"
errors.

This change updates the dialog to use MANAGEMENT.CLUSTER (which is what
currentCluster already is) instead of NORMAN.CLUSTER for reading and writing
badge annotations. This works regardless of MCM status since MANAGEMENT.CLUSTER
is always available.

Co-authored-by: nwmac <[email protected]>
When MCM is disabled, NORMAN.CLUSTER schema is not available. Added checks
to gracefully handle this in:
- Fleet cluster edit view (fetch and save)
- Fleet cluster model (norman getter and saveYaml)
- AssignToDialog (fetch and apply)

These operations will now skip norman cluster operations when MCM is disabled,
preventing "Unknown schema for type: cluster" errors.

Co-authored-by: nwmac <[email protected]>
Added schema check to prevent errors when NORMAN.CLUSTER is unavailable
with MCM disabled.

Co-authored-by: nwmac <[email protected]>
- Add check for cluster.metadata.annotations existence before deleting
- Add checks for parsed.metadata.labels and annotations before calling setters

Co-authored-by: nwmac <[email protected]>
Copilot AI changed the title [WIP] Handle unavailable norman cluster with mcm false Handle unavailable NORMAN.CLUSTER when MCM disabled Jan 7, 2026
Copilot AI requested a review from nwmac January 7, 2026 16:38
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.

Handle unavailable norman cluster with mcm = false

2 participants