Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit 010ef71

Browse files
authored
Merge pull request #886 from kubernetes-sigs/master
Merge from master to release-0.5 branch
2 parents d8c01d6 + 60060fd commit 010ef71

File tree

7 files changed

+65
-7
lines changed

7 files changed

+65
-7
lines changed

CHANGLOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
## v0.5
2+
3+
**Closed issues:**
4+
5+
- master and worker start in order in a job [\#872](https://github.com/kubernetes-sigs/kube-batch/issues/872)
6+
- use kubernetes default schedule policies [\#864](https://github.com/kubernetes-sigs/kube-batch/issues/864)
7+
- v0.4 runtime panic [\#861](https://github.com/kubernetes-sigs/kube-batch/issues/861)
8+
- Helm install fails [\#857](https://github.com/kubernetes-sigs/kube-batch/issues/857)
9+
- "NewResource/Convert2K8sResource" behavior mismatch [\#851](https://github.com/kubernetes-sigs/kube-batch/issues/851)
10+
- Phase of podgroup status looks incorrect [\#846](https://github.com/kubernetes-sigs/kube-batch/issues/846)
11+
- Update API GroupName [\#815](https://github.com/kubernetes-sigs/kube-batch/issues/815)
12+
- Migrate nodeorder and predicates plugins [\#814](https://github.com/kubernetes-sigs/kube-batch/issues/814)
13+
- Add Configuration for predicate plugin to enable/disable predicates algorithm [\#802](https://github.com/kubernetes-sigs/kube-batch/issues/802)
14+
- Consider support multi-containers pod error code handling [\#776](https://github.com/kubernetes-sigs/kube-batch/issues/776)
15+
- Deserved attr is not correctly calculated in proportion plugin [\#729](https://github.com/kubernetes-sigs/kube-batch/issues/729)
16+
- Keep backward compatibility for priority class [\#724](https://github.com/kubernetes-sigs/kube-batch/issues/724)
17+
- Change return value of NodeOrderFn from int to float [\#708](https://github.com/kubernetes-sigs/kube-batch/issues/708)
18+
- Add type Argument with some common parse function [\#704](https://github.com/kubernetes-sigs/kube-batch/issues/704)
19+
- Replace NodeOrder with BestNode [\#699](https://github.com/kubernetes-sigs/kube-batch/issues/699)
20+
- Support set default value to the configuration [\#695](https://github.com/kubernetes-sigs/kube-batch/issues/695)
21+
- Add resource predicates for tasks [\#694](https://github.com/kubernetes-sigs/kube-batch/issues/694)
22+
- Pass conformance test [\#589](https://github.com/kubernetes-sigs/kube-batch/issues/589)
23+
- big PodGroup blocks scheduling issue [\#514](https://github.com/kubernetes-sigs/kube-batch/issues/514)
24+
125
## v0.4.2
226

327
### Notes:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
BIN_DIR=_output/bin
2-
RELEASE_VER=v0.4.2
2+
RELEASE_VER=v0.5
33
REPO_PATH=github.com/kubernetes-sigs/kube-batch
44
GitSHA=`git rev-parse HEAD`
55
Date=`date "+%Y-%m-%d %H:%M:%S"`

deployment/kube-batch/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
replicaCount: 1
55
image:
66
repository: kubesigs
7-
tag: v0.4.2
7+
tag: v0.5
88
pullPolicy: IfNotPresent
99
resources:
1010
limits:

doc/usage/tutorial.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ To run `kube-batch`, a Kubernetes cluster must start up. Here is a document on [
1414
```bash
1515
# mkdir -p $GOPATH/src/github.com/kubernetes-sigs/
1616
# cd $GOPATH/src/github.com/kubernetes-sigs/
17-
# git clone http://github.com/kubernetes-sigs/kube-batch -b v0.4.2
17+
# git clone http://github.com/kubernetes-sigs/kube-batch -b v0.5
1818
```
1919

2020
### Deploy kube-batch by Helm
@@ -164,7 +164,6 @@ apiVersion: scheduling.k8s.io/v1beta1
164164
kind: PriorityClass
165165
metadata:
166166
name: high-priority
167-
namespace: batch-ns01
168167
value: 1000
169168
```
170169

pkg/scheduler/api/node_info.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,18 @@ func (ni *NodeInfo) SetNode(node *v1.Node) {
158158
}
159159
}
160160

161+
func (ni *NodeInfo) allocateIdleResource(ti *TaskInfo) error {
162+
if ti.Resreq.LessEqual(ni.Idle) {
163+
ni.Idle.Sub(ti.Resreq)
164+
return nil
165+
}
166+
ni.State = NodeState{
167+
Phase: NotReady,
168+
Reason: "OutOfSync",
169+
}
170+
return fmt.Errorf("Selected node NotReady")
171+
}
172+
161173
// AddTask is used to add a task in nodeInfo object
162174
func (ni *NodeInfo) AddTask(task *TaskInfo) error {
163175
key := PodKey(task.Pod)
@@ -173,12 +185,16 @@ func (ni *NodeInfo) AddTask(task *TaskInfo) error {
173185
if ni.Node != nil {
174186
switch ti.Status {
175187
case Releasing:
188+
if err := ni.allocateIdleResource(ti); err != nil {
189+
return err
190+
}
176191
ni.Releasing.Add(ti.Resreq)
177-
ni.Idle.Sub(ti.Resreq)
178192
case Pipelined:
179193
ni.Releasing.Sub(ti.Resreq)
180194
default:
181-
ni.Idle.Sub(ti.Resreq)
195+
if err := ni.allocateIdleResource(ti); err != nil {
196+
return err
197+
}
182198
}
183199

184200
ni.Used.Add(ti.Resreq)

pkg/scheduler/api/node_info_test.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ func TestNodeInfo_AddPod(t *testing.T) {
3737
case01Node := buildNode("n1", buildResourceList("8000m", "10G"))
3838
case01Pod1 := buildPod("c1", "p1", "n1", v1.PodRunning, buildResourceList("1000m", "1G"), []metav1.OwnerReference{}, make(map[string]string))
3939
case01Pod2 := buildPod("c1", "p2", "n1", v1.PodRunning, buildResourceList("2000m", "2G"), []metav1.OwnerReference{}, make(map[string]string))
40+
// case2
41+
case02Node := buildNode("n2", buildResourceList("2000m", "1G"))
42+
case02Pod1 := buildPod("c2", "p1", "n2", v1.PodUnknown, buildResourceList("1000m", "2G"), []metav1.OwnerReference{}, make(map[string]string))
4043

4144
tests := []struct {
4245
name string
@@ -63,6 +66,22 @@ func TestNodeInfo_AddPod(t *testing.T) {
6366
},
6467
},
6568
},
69+
{
70+
name: "add 1 unknown pod",
71+
node: case02Node,
72+
pods: []*v1.Pod{case02Pod1},
73+
expected: &NodeInfo{
74+
Name: "n2",
75+
Node: case02Node,
76+
Idle: buildResource("2000m", "1G"),
77+
Used: EmptyResource(),
78+
Releasing: EmptyResource(),
79+
Allocatable: buildResource("2000m", "1G"),
80+
Capability: buildResource("2000m", "1G"),
81+
State: NodeState{Phase: NotReady, Reason: "OutOfSync"},
82+
Tasks: map[TaskID]*TaskInfo{},
83+
},
84+
},
6685
}
6786

6887
for i, test := range tests {

test/kubemark/start-kubemark.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ CRD_DIRECTORY="${VK_ROOT}/deployment/kube-batch/templates"
99
QUEUE_DIR="${VK_ROOT}/config/queue"
1010

1111
#Release version for kube batch
12-
RELEASE_VER=v0.4.2
12+
RELEASE_VER=v0.5
1313

1414
#Ensure external cluster exists and kubectl binary works
1515
kubectl get nodes

0 commit comments

Comments
 (0)