π Description
pkg/hub/controllers/slice_controller.go, updateSliceConfig (line 271β331): the SliceConfig is only fully populated if meshSlice.Status.SliceConfig == nil. On subsequent reconciles, only specific fields are conditionally updated (SubnetCIDR, QoS, etc.), but SliceDisplayName is never updated after the first creation. If the slice display name changes in the hub, the worker cluster's Slice CR will retain the stale value indefinitely.
π Reproduction steps
- Create a slice with display name "A".
- Update the display name to "B" in the hub WorkerSliceConfig.
- Observe that
meshSlice.Status.SliceConfig.SliceDisplayName remains "A".
π Expected behavior
All fields in SliceConfig that can change should be synced on every reconcile, not only on first creation.
π Actual Behavior
SliceDisplayName and SliceType are stuck at their initial values.
π Relevant log output
Version
No response
π₯οΈ What operating system are you seeing the problem on?
No response
β
Proposed Solution
Set meshSlice.Status.SliceConfig.SliceDisplayName = spokeSlice.Spec.SliceName unconditionally (outside the == nil guard), mirroring how SliceGatewayServiceType is handled.
π Have you spent some time to check if this issue has been raised before?
Code of Conduct
π Description
pkg/hub/controllers/slice_controller.go,updateSliceConfig(line 271β331): theSliceConfigis only fully populated ifmeshSlice.Status.SliceConfig == nil. On subsequent reconciles, only specific fields are conditionally updated (SubnetCIDR, QoS, etc.), butSliceDisplayNameis never updated after the first creation. If the slice display name changes in the hub, the worker cluster's Slice CR will retain the stale value indefinitely.π Reproduction steps
meshSlice.Status.SliceConfig.SliceDisplayNameremains "A".π Expected behavior
All fields in
SliceConfigthat can change should be synced on every reconcile, not only on first creation.π Actual Behavior
SliceDisplayNameandSliceTypeare stuck at their initial values.π Relevant log output
Version
No response
π₯οΈ What operating system are you seeing the problem on?
No response
β Proposed Solution
Set
meshSlice.Status.SliceConfig.SliceDisplayName = spokeSlice.Spec.SliceNameunconditionally (outside the== nilguard), mirroring howSliceGatewayServiceTypeis handled.π Have you spent some time to check if this issue has been raised before?
Code of Conduct