Skip to content

Commit 04bf569

Browse files
author
Ryan Zhang
committed
more refactoring
Signed-off-by: Ryan Zhang <[email protected]>
1 parent 0f98278 commit 04bf569

File tree

3 files changed

+89
-77
lines changed

3 files changed

+89
-77
lines changed

.github/.copilot/breadcrumbs/2025-07-17-1200-clusterresourceplacement-controller-interface-refactor.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,22 @@ This follows the breadcrumb protocol and builds on previous successful interface
8484
- ✅ No type assertion issues in main business logic
8585
- ✅ Error handling preserved and working correctly
8686

87-
### Current Compilation Status ✅
88-
- controller.go: ✅ No errors
89-
- placement_status.go: ✅ No errors
90-
- resource_selector.go: ✅ No errors (already updated in Phase 2)
87+
### Phase 5: Refactor placement_status.go Functions ⚠️
88+
- [ ] Task 5.1: Update `appendFailedToScheduleResourcePlacementStatuses()` to use PlacementObj interface
89+
- [ ] Task 5.2: Update `appendScheduledResourcePlacementStatuses()` to use PlacementObj and interface types
90+
- [ ] Task 5.3: Update `buildClusterResourceBindings()` to use PlacementObj and return BindingObj interfaces
91+
- [ ] Task 5.4: Update `findClusterResourceSnapshotIndexForBindings()` to use interface types
92+
- [ ] Task 5.5: Update `setResourcePlacementStatusPerCluster()` to use interface types
93+
- [ ] Task 5.6: Update `setResourcePlacementStatusBasedOnBinding()` to use interface types
94+
95+
### Functions to Refactor in placement_status.go 🎯
96+
**Current concrete type usage identified:**
97+
- `appendFailedToScheduleResourcePlacementStatuses()` - Takes `*ClusterResourcePlacement`
98+
- `appendScheduledResourcePlacementStatuses()` - Takes `*ClusterResourcePlacement`, `*ClusterSchedulingPolicySnapshot`, `*ClusterResourceSnapshot`
99+
- `buildClusterResourceBindings()` - Takes `*ClusterResourcePlacement`, `*ClusterSchedulingPolicySnapshot`, returns `map[string]*ClusterResourceBinding`
100+
- `findClusterResourceSnapshotIndexForBindings()` - Takes `*ClusterResourcePlacement`, `map[string]*ClusterResourceBinding`
101+
- `setResourcePlacementStatusPerCluster()` - Takes `*ClusterResourcePlacement`, `*ClusterResourceSnapshot`, `*ClusterResourceBinding`
102+
- `setResourcePlacementStatusBasedOnBinding()` - Takes `*ClusterResourcePlacement`, `*ClusterResourceBinding`
91103

92104
### Phase 3: Snapshot Management Function Updates
93105
- [ ] Task 3.1: Update `getOrCreateClusterSchedulingPolicySnapshot` to return PolicySnapshotObj

0 commit comments

Comments
 (0)