Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
594f5148
Commit
594f5148
authored
Apr 20, 2015
by
Kris Rousey
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changing a few remaining instances of passing pods around by value. I
avoided changing api.PodList.Items to []*api.Pod.
parent
f48d7ad7
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
51 additions
and
52 deletions
+51
-52
replication_controller.go
pkg/controller/replication_controller.go
+4
-3
describe.go
pkg/kubectl/describe.go
+4
-3
kubelet.go
pkg/kubelet/kubelet.go
+4
-8
kubelet_test.go
pkg/kubelet/kubelet_test.go
+19
-19
mirror_client.go
pkg/kubelet/mirror_client.go
+3
-3
mirror_client_test.go
pkg/kubelet/mirror_client_test.go
+2
-2
pod_manager.go
pkg/kubelet/pod_manager.go
+4
-4
scheduler.go
pkg/registry/registrytest/scheduler.go
+2
-2
resource_quota_controller.go
pkg/resourcequota/resource_quota_controller.go
+8
-7
listers.go
pkg/scheduler/listers.go
+1
-1
No files found.
pkg/controller/replication_controller.go
View file @
594f5148
...
@@ -187,9 +187,10 @@ func (rm *ReplicationManager) watchControllers(resourceVersion *string) {
...
@@ -187,9 +187,10 @@ func (rm *ReplicationManager) watchControllers(resourceVersion *string) {
}
}
// Helper function. Also used in pkg/registry/controller, for now.
// Helper function. Also used in pkg/registry/controller, for now.
func
FilterActivePods
(
pods
[]
api
.
Pod
)
[]
api
.
Pod
{
func
FilterActivePods
(
pods
[]
api
.
Pod
)
[]
*
api
.
Pod
{
var
result
[]
api
.
Pod
var
result
[]
*
api
.
Pod
for
_
,
value
:=
range
pods
{
for
i
:=
range
pods
{
value
:=
&
pods
[
i
]
if
api
.
PodSucceeded
!=
value
.
Status
.
Phase
&&
if
api
.
PodSucceeded
!=
value
.
Status
.
Phase
&&
api
.
PodFailed
!=
value
.
Status
.
Phase
{
api
.
PodFailed
!=
value
.
Status
.
Phase
{
result
=
append
(
result
,
value
)
result
=
append
(
result
,
value
)
...
...
pkg/kubectl/describe.go
View file @
594f5148
...
@@ -466,12 +466,13 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) {
...
@@ -466,12 +466,13 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) {
return
""
,
err
return
""
,
err
}
}
var
pods
[]
api
.
Pod
var
pods
[]
*
api
.
Pod
allPods
,
err
:=
d
.
Pods
(
namespace
)
.
List
(
labels
.
Everything
())
allPods
,
err
:=
d
.
Pods
(
namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
if
err
!=
nil
{
return
""
,
err
return
""
,
err
}
}
for
_
,
pod
:=
range
allPods
.
Items
{
for
i
:=
range
allPods
.
Items
{
pod
:=
&
allPods
.
Items
[
i
]
if
pod
.
Spec
.
Host
!=
name
{
if
pod
.
Spec
.
Host
!=
name
{
continue
continue
}
}
...
@@ -490,7 +491,7 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) {
...
@@ -490,7 +491,7 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) {
return
describeNode
(
node
,
pods
,
events
)
return
describeNode
(
node
,
pods
,
events
)
}
}
func
describeNode
(
node
*
api
.
Node
,
pods
[]
api
.
Pod
,
events
*
api
.
EventList
)
(
string
,
error
)
{
func
describeNode
(
node
*
api
.
Node
,
pods
[]
*
api
.
Pod
,
events
*
api
.
EventList
)
(
string
,
error
)
{
return
tabbedString
(
func
(
out
io
.
Writer
)
error
{
return
tabbedString
(
func
(
out
io
.
Writer
)
error
{
fmt
.
Fprintf
(
out
,
"Name:
\t
%s
\n
"
,
node
.
Name
)
fmt
.
Fprintf
(
out
,
"Name:
\t
%s
\n
"
,
node
.
Name
)
fmt
.
Fprintf
(
out
,
"Labels:
\t
%s
\n
"
,
formatLabels
(
node
.
Labels
))
fmt
.
Fprintf
(
out
,
"Labels:
\t
%s
\n
"
,
formatLabels
(
node
.
Labels
))
...
...
pkg/kubelet/kubelet.go
View file @
594f5148
...
@@ -91,7 +91,7 @@ type SyncHandler interface {
...
@@ -91,7 +91,7 @@ type SyncHandler interface {
// Syncs current state to match the specified pods. SyncPodType specified what
// Syncs current state to match the specified pods. SyncPodType specified what
// type of sync is occuring per pod. StartTime specifies the time at which
// type of sync is occuring per pod. StartTime specifies the time at which
// syncing began (for use in monitoring).
// syncing began (for use in monitoring).
SyncPods
(
pods
[]
*
api
.
Pod
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
,
mirrorPods
map
[
string
]
api
.
Pod
,
SyncPods
(
pods
[]
*
api
.
Pod
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
,
mirrorPods
map
[
string
]
*
api
.
Pod
,
startTime
time
.
Time
)
error
startTime
time
.
Time
)
error
}
}
...
@@ -1305,7 +1305,7 @@ func (kl *Kubelet) syncPod(pod *api.Pod, mirrorPod *api.Pod, runningPod kubecont
...
@@ -1305,7 +1305,7 @@ func (kl *Kubelet) syncPod(pod *api.Pod, mirrorPod *api.Pod, runningPod kubecont
}
}
if
mirrorPod
==
nil
{
if
mirrorPod
==
nil
{
glog
.
V
(
3
)
.
Infof
(
"Creating a mirror pod %q"
,
podFullName
)
glog
.
V
(
3
)
.
Infof
(
"Creating a mirror pod %q"
,
podFullName
)
if
err
:=
kl
.
podManager
.
CreateMirrorPod
(
*
pod
);
err
!=
nil
{
if
err
:=
kl
.
podManager
.
CreateMirrorPod
(
pod
);
err
!=
nil
{
glog
.
Errorf
(
"Failed creating a mirror pod %q: %v"
,
podFullName
,
err
)
glog
.
Errorf
(
"Failed creating a mirror pod %q: %v"
,
podFullName
,
err
)
}
}
// Pod status update is edge-triggered. If there is any update of the
// Pod status update is edge-triggered. If there is any update of the
...
@@ -1389,7 +1389,7 @@ func (kl *Kubelet) cleanupOrphanedVolumes(pods []*api.Pod, running []*docker.Con
...
@@ -1389,7 +1389,7 @@ func (kl *Kubelet) cleanupOrphanedVolumes(pods []*api.Pod, running []*docker.Con
// SyncPods synchronizes the configured list of pods (desired state) with the host current state.
// SyncPods synchronizes the configured list of pods (desired state) with the host current state.
func
(
kl
*
Kubelet
)
SyncPods
(
allPods
[]
*
api
.
Pod
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
,
func
(
kl
*
Kubelet
)
SyncPods
(
allPods
[]
*
api
.
Pod
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
,
mirrorPods
map
[
string
]
api
.
Pod
,
start
time
.
Time
)
error
{
mirrorPods
map
[
string
]
*
api
.
Pod
,
start
time
.
Time
)
error
{
defer
func
()
{
defer
func
()
{
metrics
.
SyncPodsLatency
.
Observe
(
metrics
.
SinceInMicroseconds
(
start
))
metrics
.
SyncPodsLatency
.
Observe
(
metrics
.
SinceInMicroseconds
(
start
))
}()
}()
...
@@ -1429,11 +1429,7 @@ func (kl *Kubelet) SyncPods(allPods []*api.Pod, podSyncTypes map[types.UID]metri
...
@@ -1429,11 +1429,7 @@ func (kl *Kubelet) SyncPods(allPods []*api.Pod, podSyncTypes map[types.UID]metri
desiredPods
[
uid
]
=
empty
{}
desiredPods
[
uid
]
=
empty
{}
// Run the sync in an async manifest worker.
// Run the sync in an async manifest worker.
var
mirrorPod
*
api
.
Pod
=
nil
kl
.
podWorkers
.
UpdatePod
(
pod
,
mirrorPods
[
podFullName
],
func
()
{
if
m
,
ok
:=
mirrorPods
[
podFullName
];
ok
{
mirrorPod
=
&
m
}
kl
.
podWorkers
.
UpdatePod
(
pod
,
mirrorPod
,
func
()
{
metrics
.
SyncPodLatency
.
WithLabelValues
(
podSyncTypes
[
pod
.
UID
]
.
String
())
.
Observe
(
metrics
.
SinceInMicroseconds
(
start
))
metrics
.
SyncPodLatency
.
WithLabelValues
(
podSyncTypes
[
pod
.
UID
]
.
String
())
.
Observe
(
metrics
.
SinceInMicroseconds
(
start
))
})
})
...
...
pkg/kubelet/kubelet_test.go
View file @
594f5148
...
@@ -503,7 +503,7 @@ func TestSyncPodsDoesNothing(t *testing.T) {
...
@@ -503,7 +503,7 @@ func TestSyncPodsDoesNothing(t *testing.T) {
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -545,7 +545,7 @@ func TestSyncPodsWithTerminationLog(t *testing.T) {
...
@@ -545,7 +545,7 @@ func TestSyncPodsWithTerminationLog(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -604,7 +604,7 @@ func TestSyncPodsCreatesNetAndContainer(t *testing.T) {
...
@@ -604,7 +604,7 @@ func TestSyncPodsCreatesNetAndContainer(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -667,7 +667,7 @@ func TestSyncPodsCreatesNetAndContainerPullsImage(t *testing.T) {
...
@@ -667,7 +667,7 @@ func TestSyncPodsCreatesNetAndContainerPullsImage(t *testing.T) {
}
}
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -734,7 +734,7 @@ func TestSyncPodsWithPodInfraCreatesContainer(t *testing.T) {
...
@@ -734,7 +734,7 @@ func TestSyncPodsWithPodInfraCreatesContainer(t *testing.T) {
}
}
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -808,7 +808,7 @@ func TestSyncPodsWithPodInfraCreatesContainerCallsHandler(t *testing.T) {
...
@@ -808,7 +808,7 @@ func TestSyncPodsWithPodInfraCreatesContainerCallsHandler(t *testing.T) {
}
}
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -906,7 +906,7 @@ func TestSyncPodsDeletesWithNoPodInfraContainer(t *testing.T) {
...
@@ -906,7 +906,7 @@ func TestSyncPodsDeletesWithNoPodInfraContainer(t *testing.T) {
waitGroup
.
Add
(
2
)
waitGroup
.
Add
(
2
)
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -968,7 +968,7 @@ func TestSyncPodsDeletesWhenSourcesAreReady(t *testing.T) {
...
@@ -968,7 +968,7 @@ func TestSyncPodsDeletesWhenSourcesAreReady(t *testing.T) {
ID
:
"9876"
,
ID
:
"9876"
,
},
},
}
}
if
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
());
err
!=
nil
{
if
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
());
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
// Validate nothing happened.
// Validate nothing happened.
...
@@ -976,7 +976,7 @@ func TestSyncPodsDeletesWhenSourcesAreReady(t *testing.T) {
...
@@ -976,7 +976,7 @@ func TestSyncPodsDeletesWhenSourcesAreReady(t *testing.T) {
fakeDocker
.
ClearCalls
()
fakeDocker
.
ClearCalls
()
ready
=
true
ready
=
true
if
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
());
err
!=
nil
{
if
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
());
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
verifyCalls
(
t
,
fakeDocker
,
[]
string
{
"list"
,
"stop"
,
"stop"
,
"inspect_container"
,
"inspect_container"
})
verifyCalls
(
t
,
fakeDocker
,
[]
string
{
"list"
,
"stop"
,
"stop"
,
"inspect_container"
,
"inspect_container"
})
...
@@ -1015,7 +1015,7 @@ func TestSyncPodsDeletes(t *testing.T) {
...
@@ -1015,7 +1015,7 @@ func TestSyncPodsDeletes(t *testing.T) {
ID
:
"4567"
,
ID
:
"4567"
,
},
},
}
}
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1094,7 +1094,7 @@ func TestSyncPodsDeletesDuplicate(t *testing.T) {
...
@@ -1094,7 +1094,7 @@ func TestSyncPodsDeletesDuplicate(t *testing.T) {
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1165,7 +1165,7 @@ func TestSyncPodsBadHash(t *testing.T) {
...
@@ -1165,7 +1165,7 @@ func TestSyncPodsBadHash(t *testing.T) {
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1239,7 +1239,7 @@ func TestSyncPodsUnhealthy(t *testing.T) {
...
@@ -1239,7 +1239,7 @@ func TestSyncPodsUnhealthy(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1851,7 +1851,7 @@ func TestSyncPodEventHandlerFails(t *testing.T) {
...
@@ -1851,7 +1851,7 @@ func TestSyncPodEventHandlerFails(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1914,7 +1914,7 @@ func TestSyncPodsWithPullPolicy(t *testing.T) {
...
@@ -1914,7 +1914,7 @@ func TestSyncPodsWithPullPolicy(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -3203,7 +3203,7 @@ func TestPurgingObsoleteStatusMapEntries(t *testing.T) {
...
@@ -3203,7 +3203,7 @@ func TestPurgingObsoleteStatusMapEntries(t *testing.T) {
t
.
Fatalf
(
"expected to have status cached for %q: %v"
,
"pod2"
,
err
)
t
.
Fatalf
(
"expected to have status cached for %q: %v"
,
"pod2"
,
err
)
}
}
// Sync with empty pods so that the entry in status map will be removed.
// Sync with empty pods so that the entry in status map will be removed.
kl
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
kl
.
SyncPods
([]
*
api
.
Pod
{},
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
_
,
err
:=
kl
.
GetPodStatus
(
kubecontainer
.
BuildPodFullName
(
"pod2"
,
""
));
err
==
nil
{
if
_
,
err
:=
kl
.
GetPodStatus
(
kubecontainer
.
BuildPodFullName
(
"pod2"
,
""
));
err
==
nil
{
t
.
Fatalf
(
"expected to not have status cached for %q: %v"
,
"pod2"
,
err
)
t
.
Fatalf
(
"expected to not have status cached for %q: %v"
,
"pod2"
,
err
)
}
}
...
@@ -3706,7 +3706,7 @@ func TestDoNotCacheStatusForStaticPods(t *testing.T) {
...
@@ -3706,7 +3706,7 @@ func TestDoNotCacheStatusForStaticPods(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -3912,7 +3912,7 @@ func TestSyncPodsWithRestartPolicy(t *testing.T) {
...
@@ -3912,7 +3912,7 @@ func TestSyncPodsWithRestartPolicy(t *testing.T) {
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"%d: unexpected error: %v"
,
i
,
err
)
t
.
Errorf
(
"%d: unexpected error: %v"
,
i
,
err
)
}
}
...
@@ -4043,7 +4043,7 @@ func TestGetPodStatusWithLastTermination(t *testing.T) {
...
@@ -4043,7 +4043,7 @@ func TestGetPodStatusWithLastTermination(t *testing.T) {
}
}
kubelet
.
podManager
.
SetPods
(
pods
)
kubelet
.
podManager
.
SetPods
(
pods
)
waitGroup
.
Add
(
1
)
waitGroup
.
Add
(
1
)
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
api
.
Pod
{},
time
.
Now
())
err
:=
kubelet
.
SyncPods
(
pods
,
emptyPodUIDs
,
map
[
string
]
*
api
.
Pod
{},
time
.
Now
())
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"%d: unexpected error: %v"
,
i
,
err
)
t
.
Errorf
(
"%d: unexpected error: %v"
,
i
,
err
)
}
}
...
...
pkg/kubelet/mirror_client.go
View file @
594f5148
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
// Mirror client is used to create/delete a mirror pod.
// Mirror client is used to create/delete a mirror pod.
type
mirrorClient
interface
{
type
mirrorClient
interface
{
CreateMirrorPod
(
api
.
Pod
)
error
CreateMirrorPod
(
*
api
.
Pod
)
error
DeleteMirrorPod
(
string
)
error
DeleteMirrorPod
(
string
)
error
}
}
...
@@ -43,13 +43,13 @@ func newBasicMirrorClient(apiserverClient client.Interface) *basicMirrorClient {
...
@@ -43,13 +43,13 @@ func newBasicMirrorClient(apiserverClient client.Interface) *basicMirrorClient {
}
}
// Creates a mirror pod.
// Creates a mirror pod.
func
(
mc
*
basicMirrorClient
)
CreateMirrorPod
(
pod
api
.
Pod
)
error
{
func
(
mc
*
basicMirrorClient
)
CreateMirrorPod
(
pod
*
api
.
Pod
)
error
{
if
mc
.
apiserverClient
==
nil
{
if
mc
.
apiserverClient
==
nil
{
return
nil
return
nil
}
}
pod
.
Annotations
[
ConfigMirrorAnnotationKey
]
=
MirrorType
pod
.
Annotations
[
ConfigMirrorAnnotationKey
]
=
MirrorType
_
,
err
:=
mc
.
apiserverClient
.
Pods
(
NamespaceDefault
)
.
Create
(
&
pod
)
_
,
err
:=
mc
.
apiserverClient
.
Pods
(
NamespaceDefault
)
.
Create
(
pod
)
return
err
return
err
}
}
...
...
pkg/kubelet/mirror_client_test.go
View file @
594f5148
...
@@ -34,10 +34,10 @@ type fakeMirrorClient struct {
...
@@ -34,10 +34,10 @@ type fakeMirrorClient struct {
deleteCounts
map
[
string
]
int
deleteCounts
map
[
string
]
int
}
}
func
(
fmc
*
fakeMirrorClient
)
CreateMirrorPod
(
pod
api
.
Pod
)
error
{
func
(
fmc
*
fakeMirrorClient
)
CreateMirrorPod
(
pod
*
api
.
Pod
)
error
{
fmc
.
mirrorPodLock
.
Lock
()
fmc
.
mirrorPodLock
.
Lock
()
defer
fmc
.
mirrorPodLock
.
Unlock
()
defer
fmc
.
mirrorPodLock
.
Unlock
()
podFullName
:=
kubecontainer
.
GetPodFullName
(
&
pod
)
podFullName
:=
kubecontainer
.
GetPodFullName
(
pod
)
fmc
.
mirrorPods
.
Insert
(
podFullName
)
fmc
.
mirrorPods
.
Insert
(
podFullName
)
fmc
.
createCounts
[
podFullName
]
++
fmc
.
createCounts
[
podFullName
]
++
return
nil
return
nil
...
...
pkg/kubelet/pod_manager.go
View file @
594f5148
...
@@ -46,7 +46,7 @@ type podManager interface {
...
@@ -46,7 +46,7 @@ type podManager interface {
GetPods
()
[]
*
api
.
Pod
GetPods
()
[]
*
api
.
Pod
GetPodByFullName
(
podFullName
string
)
(
*
api
.
Pod
,
bool
)
GetPodByFullName
(
podFullName
string
)
(
*
api
.
Pod
,
bool
)
GetPodByName
(
namespace
,
name
string
)
(
*
api
.
Pod
,
bool
)
GetPodByName
(
namespace
,
name
string
)
(
*
api
.
Pod
,
bool
)
GetPodsAndMirrorMap
()
([]
*
api
.
Pod
,
map
[
string
]
api
.
Pod
)
GetPodsAndMirrorMap
()
([]
*
api
.
Pod
,
map
[
string
]
*
api
.
Pod
)
SetPods
(
pods
[]
*
api
.
Pod
)
SetPods
(
pods
[]
*
api
.
Pod
)
UpdatePods
(
u
PodUpdate
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
)
UpdatePods
(
u
PodUpdate
,
podSyncTypes
map
[
types
.
UID
]
metrics
.
SyncPodType
)
DeleteOrphanedMirrorPods
()
DeleteOrphanedMirrorPods
()
...
@@ -190,12 +190,12 @@ func (pm *basicPodManager) getAllPods() []*api.Pod {
...
@@ -190,12 +190,12 @@ func (pm *basicPodManager) getAllPods() []*api.Pod {
// GetPodsAndMirrorMap returns the a copy of the regular pods and the mirror
// GetPodsAndMirrorMap returns the a copy of the regular pods and the mirror
// pods indexed by full name.
// pods indexed by full name.
func
(
pm
*
basicPodManager
)
GetPodsAndMirrorMap
()
([]
*
api
.
Pod
,
map
[
string
]
api
.
Pod
)
{
func
(
pm
*
basicPodManager
)
GetPodsAndMirrorMap
()
([]
*
api
.
Pod
,
map
[
string
]
*
api
.
Pod
)
{
pm
.
lock
.
RLock
()
pm
.
lock
.
RLock
()
defer
pm
.
lock
.
RUnlock
()
defer
pm
.
lock
.
RUnlock
()
mirrorPods
:=
make
(
map
[
string
]
api
.
Pod
)
mirrorPods
:=
make
(
map
[
string
]
*
api
.
Pod
)
for
key
,
pod
:=
range
pm
.
mirrorPodByFullName
{
for
key
,
pod
:=
range
pm
.
mirrorPodByFullName
{
mirrorPods
[
key
]
=
*
pod
mirrorPods
[
key
]
=
pod
}
}
return
podsMapToPods
(
pm
.
podByUID
),
mirrorPods
return
podsMapToPods
(
pm
.
podByUID
),
mirrorPods
}
}
...
...
pkg/registry/registrytest/scheduler.go
View file @
594f5148
...
@@ -23,11 +23,11 @@ import (
...
@@ -23,11 +23,11 @@ import (
type
Scheduler
struct
{
type
Scheduler
struct
{
Err
error
Err
error
Pod
api
.
Pod
Pod
*
api
.
Pod
Machine
string
Machine
string
}
}
func
(
s
*
Scheduler
)
Schedule
(
pod
api
.
Pod
,
lister
scheduler
.
MinionLister
)
(
string
,
error
)
{
func
(
s
*
Scheduler
)
Schedule
(
pod
*
api
.
Pod
,
lister
scheduler
.
MinionLister
)
(
string
,
error
)
{
s
.
Pod
=
pod
s
.
Pod
=
pod
return
s
.
Machine
,
s
.
Err
return
s
.
Machine
,
s
.
Err
}
}
pkg/resourcequota/resource_quota_controller.go
View file @
594f5148
...
@@ -81,9 +81,10 @@ func (rm *ResourceQuotaManager) synchronize() {
...
@@ -81,9 +81,10 @@ func (rm *ResourceQuotaManager) synchronize() {
// pods that have a restart policy of always are always returned
// pods that have a restart policy of always are always returned
// pods that are in a failed state, but have a restart policy of on failure are always returned
// pods that are in a failed state, but have a restart policy of on failure are always returned
// pods that are not in a success state or a failure state are included in quota
// pods that are not in a success state or a failure state are included in quota
func
FilterQuotaPods
(
pods
[]
api
.
Pod
)
[]
api
.
Pod
{
func
FilterQuotaPods
(
pods
[]
api
.
Pod
)
[]
*
api
.
Pod
{
var
result
[]
api
.
Pod
var
result
[]
*
api
.
Pod
for
_
,
value
:=
range
pods
{
for
i
:=
range
pods
{
value
:=
&
pods
[
i
]
// a pod that has a restart policy always no matter its state counts against usage
// a pod that has a restart policy always no matter its state counts against usage
if
value
.
Spec
.
RestartPolicy
==
api
.
RestartPolicyAlways
{
if
value
.
Spec
.
RestartPolicy
==
api
.
RestartPolicyAlways
{
result
=
append
(
result
,
value
)
result
=
append
(
result
,
value
)
...
@@ -170,14 +171,14 @@ func (rm *ResourceQuotaManager) syncResourceQuota(quota api.ResourceQuota) (err
...
@@ -170,14 +171,14 @@ func (rm *ResourceQuotaManager) syncResourceQuota(quota api.ResourceQuota) (err
value
=
resource
.
NewQuantity
(
int64
(
len
(
filteredPods
)),
resource
.
DecimalSI
)
value
=
resource
.
NewQuantity
(
int64
(
len
(
filteredPods
)),
resource
.
DecimalSI
)
case
api
.
ResourceMemory
:
case
api
.
ResourceMemory
:
val
:=
int64
(
0
)
val
:=
int64
(
0
)
for
i
:=
range
filteredPods
{
for
_
,
pod
:=
range
filteredPods
{
val
=
val
+
PodMemory
(
&
filteredPods
[
i
]
)
.
Value
()
val
=
val
+
PodMemory
(
pod
)
.
Value
()
}
}
value
=
resource
.
NewQuantity
(
int64
(
val
),
resource
.
DecimalSI
)
value
=
resource
.
NewQuantity
(
int64
(
val
),
resource
.
DecimalSI
)
case
api
.
ResourceCPU
:
case
api
.
ResourceCPU
:
val
:=
int64
(
0
)
val
:=
int64
(
0
)
for
i
:=
range
filteredPods
{
for
_
,
pod
:=
range
filteredPods
{
val
=
val
+
PodCPU
(
&
filteredPods
[
i
]
)
.
MilliValue
()
val
=
val
+
PodCPU
(
pod
)
.
MilliValue
()
}
}
value
=
resource
.
NewMilliQuantity
(
int64
(
val
),
resource
.
DecimalSI
)
value
=
resource
.
NewMilliQuantity
(
int64
(
val
),
resource
.
DecimalSI
)
case
api
.
ResourceServices
:
case
api
.
ResourceServices
:
...
...
pkg/scheduler/listers.go
View file @
594f5148
...
@@ -45,7 +45,7 @@ type PodLister interface {
...
@@ -45,7 +45,7 @@ type PodLister interface {
// FakePodLister implements PodLister on an []api.Pods for test purposes.
// FakePodLister implements PodLister on an []api.Pods for test purposes.
type
FakePodLister
[]
*
api
.
Pod
type
FakePodLister
[]
*
api
.
Pod
// List returns []api.Pod matching a query.
// List returns []
*
api.Pod matching a query.
func
(
f
FakePodLister
)
List
(
s
labels
.
Selector
)
(
selected
[]
*
api
.
Pod
,
err
error
)
{
func
(
f
FakePodLister
)
List
(
s
labels
.
Selector
)
(
selected
[]
*
api
.
Pod
,
err
error
)
{
for
_
,
pod
:=
range
f
{
for
_
,
pod
:=
range
f
{
if
s
.
Matches
(
labels
.
Set
(
pod
.
Labels
))
{
if
s
.
Matches
(
labels
.
Set
(
pod
.
Labels
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment