Skip to content

Commit c87aed4

Browse files
authored
Merge pull request kosmos-io#760 from rxy0210/main
fix: fix kosmos-scheduler reschedule pv's pod
2 parents 2202726 + 803a133 commit c87aed4

File tree

9 files changed

+1525
-21
lines changed

9 files changed

+1525
-21
lines changed

pkg/clustertree/cluster-manager/controllers/pv/leaf_pv_controller.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,13 @@ func filterPV(pv *v1.PersistentVolume, nodeName string) {
211211
mfs := v.MatchFields
212212
mes := v.MatchExpressions
213213
for k, val := range v.MatchFields {
214-
if val.Key == utils.NodeHostnameValue || val.Key == utils.NodeHostnameValueBeta {
214+
if val.Key == utils.NodeHostnameValue || val.Key == utils.NodeHostnameValueBeta || val.Key == utils.OpenebsPVNodeLabel {
215215
val.Values = []string{nodeName}
216216
}
217217
mfs[k] = val
218218
}
219219
for k, val := range v.MatchExpressions {
220-
if val.Key == utils.NodeHostnameValue || val.Key == utils.NodeHostnameValueBeta {
220+
if val.Key == utils.NodeHostnameValue || val.Key == utils.NodeHostnameValueBeta || val.Key == utils.OpenebsPVNodeLabel {
221221
val.Values = []string{nodeName}
222222
}
223223
mes[k] = val

pkg/clustertree/cluster-manager/utils/leaf_model_handler.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ func updateTaints(client kubernetes.Interface, taints []corev1.Taint, nodeName s
205205
return nil
206206
}
207207

208-
func createNode(ctx context.Context, clientset kubernetes.Interface, clusterName, nodeName, gitVersion string, listenPort int32) (*corev1.Node, error) {
208+
func createNode(ctx context.Context, clientset kubernetes.Interface, clusterName, nodeName, gitVersion string, listenPort int32, leafModel LeafMode) (*corev1.Node, error) {
209209
nodeInRoot, err := clientset.CoreV1().Nodes().Get(ctx, nodeName, metav1.GetOptions{})
210210
if err != nil {
211211
if !errors.IsNotFound(err) {
@@ -217,6 +217,9 @@ func createNode(ctx context.Context, clientset kubernetes.Interface, clusterName
217217
if nodeAnnotations == nil {
218218
nodeAnnotations = make(map[string]string, 1)
219219
}
220+
if leafModel == ALL {
221+
nodeAnnotations[nodeMode] = "one2cluster"
222+
}
220223
nodeAnnotations[utils.KosmosNodeOwnedByClusterAnnotations] = clusterName
221224
nodeInRoot.SetAnnotations(nodeAnnotations)
222225

@@ -243,8 +246,7 @@ func (h ClassificationHandler) CreateRootNode(ctx context.Context, listenPort in
243246

244247
if h.leafMode == ALL {
245248
nodeNameInRoot := fmt.Sprintf("%s%s", utils.KosmosNodePrefix, cluster.Name)
246-
nodeInRoot, err := createNode(ctx, h.RootClientset, cluster.Name, nodeNameInRoot, gitVersion, listenPort)
247-
nodeInRoot.Annotations[nodeMode] = "one2cluster"
249+
nodeInRoot, err := createNode(ctx, h.RootClientset, cluster.Name, nodeNameInRoot, gitVersion, listenPort, h.leafMode)
248250
if err != nil {
249251
return nil, nil, err
250252
}
@@ -262,7 +264,7 @@ func (h ClassificationHandler) CreateRootNode(ctx context.Context, listenPort in
262264
nodeNameInRoot = nodeNameInRoot[:63]
263265
}
264266

265-
nodeInRoot, err := createNode(ctx, h.RootClientset, cluster.Name, nodeNameInRoot, gitVersion, listenPort)
267+
nodeInRoot, err := createNode(ctx, h.RootClientset, cluster.Name, nodeNameInRoot, gitVersion, listenPort, h.leafMode)
266268
if err != nil {
267269
return nil, nil, err
268270
}

0 commit comments

Comments
 (0)