mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Merge pull request #7068 from krousey/api_pod_pointer
Changing a few more instances of api.Pod to *api.Pod
This commit is contained in:
commit
462534ca5d
@ -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)
|
||||||
|
@ -478,12 +478,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
|
||||||
}
|
}
|
||||||
@ -502,7 +503,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))
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1315,7 +1315,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
|
||||||
@ -1399,7 +1399,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))
|
||||||
}()
|
}()
|
||||||
@ -1439,11 +1439,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))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
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) {
|
|||||||
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) {
|
|||||||
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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
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) {
|
|||||||
}
|
}
|
||||||
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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
}
|
}
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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 {
|
|||||||
|
|
||||||
// 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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
|||||||
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:
|
||||||
|
@ -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)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user