mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 12:18:16 +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:
		@@ -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)) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user