From 2414bce4c3827f1d9c519ba1a2eb016072cbe570 Mon Sep 17 00:00:00 2001 From: Gurleen Grewal Date: Thu, 17 Dec 2020 13:02:11 -0800 Subject: [PATCH] Fix golint issues in pkg/kubelet/types --- hack/.golint_failures | 1 - pkg/kubelet/types/constants.go | 19 ++++++++++-------- pkg/kubelet/types/doc.go | 2 +- pkg/kubelet/types/labels.go | 5 +++++ pkg/kubelet/types/pod_update.go | 35 +++++++++++++++++++-------------- pkg/kubelet/types/types.go | 10 ++++++---- 6 files changed, 43 insertions(+), 29 deletions(-) diff --git a/hack/.golint_failures b/hack/.golint_failures index 5251dac25da25..fb22116920a19 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -106,7 +106,6 @@ pkg/kubelet/pluginmanager/pluginwatcher pkg/kubelet/pod/testing pkg/kubelet/preemption pkg/kubelet/sysctl -pkg/kubelet/types pkg/kubemark pkg/proxy/apis/config pkg/proxy/apis/config/v1alpha1 diff --git a/pkg/kubelet/types/constants.go b/pkg/kubelet/types/constants.go index 378c23efb2e64..80707645d060b 100644 --- a/pkg/kubelet/types/constants.go +++ b/pkg/kubelet/types/constants.go @@ -17,21 +17,24 @@ limitations under the License. package types const ( - // system default DNS resolver configuration + // ResolvConfDefault is the system default DNS resolver configuration. ResolvConfDefault = "/etc/resolv.conf" + // RFC3339NanoFixed is the fixed width version of time.RFC3339Nano. + RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" + // RFC3339NanoLenient is the variable width RFC3339 time format for lenient parsing of strings into timestamps. + RFC3339NanoLenient = "2006-01-02T15:04:05.999999999Z07:00" +) - // different container runtimes +// Different container runtimes. +const ( DockerContainerRuntime = "docker" RemoteContainerRuntime = "remote" +) - // User visible keys for managing node allocatable enforcement on the node. +// User visible keys for managing node allocatable enforcement on the node. +const ( NodeAllocatableEnforcementKey = "pods" SystemReservedEnforcementKey = "system-reserved" KubeReservedEnforcementKey = "kube-reserved" NodeAllocatableNoneKey = "none" - - // fixed width version of time.RFC3339Nano - RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" - // variable width RFC3339 time format for lenient parsing of strings into timestamps - RFC3339NanoLenient = "2006-01-02T15:04:05.999999999Z07:00" ) diff --git a/pkg/kubelet/types/doc.go b/pkg/kubelet/types/doc.go index 88e345636eb1e..814bf6db38cb4 100644 --- a/pkg/kubelet/types/doc.go +++ b/pkg/kubelet/types/doc.go @@ -14,5 +14,5 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Common types in the Kubelet. +// Package types contains common types in the Kubelet. package types // import "k8s.io/kubernetes/pkg/kubelet/types" diff --git a/pkg/kubelet/types/labels.go b/pkg/kubelet/types/labels.go index c4dad6302e55f..aeeee2c624ac2 100644 --- a/pkg/kubelet/types/labels.go +++ b/pkg/kubelet/types/labels.go @@ -16,6 +16,7 @@ limitations under the License. package types +// Label keys for labels used in this package. const ( KubernetesPodNameLabel = "io.kubernetes.pod.name" KubernetesPodNamespaceLabel = "io.kubernetes.pod.namespace" @@ -23,18 +24,22 @@ const ( KubernetesContainerNameLabel = "io.kubernetes.container.name" ) +// GetContainerName returns the value of the KubernetesContainerNameLabel. func GetContainerName(labels map[string]string) string { return labels[KubernetesContainerNameLabel] } +// GetPodName returns the value of the KubernetesPodNameLabel. func GetPodName(labels map[string]string) string { return labels[KubernetesPodNameLabel] } +// GetPodUID returns the value of the KubernetesPodUIDLabel. func GetPodUID(labels map[string]string) string { return labels[KubernetesPodUIDLabel] } +// GetPodNamespace returns the value of the KubernetesPodNamespaceLabel. func GetPodNamespace(labels map[string]string) string { return labels[KubernetesPodNamespaceLabel] } diff --git a/pkg/kubelet/types/pod_update.go b/pkg/kubelet/types/pod_update.go index 8b64ea1de3cb3..2cb27019283ca 100644 --- a/pkg/kubelet/types/pod_update.go +++ b/pkg/kubelet/types/pod_update.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/apis/scheduling" ) +// Annotation keys for annotations used in this package. const ( ConfigSourceAnnotationKey = "kubernetes.io/config.source" ConfigMirrorAnnotationKey = v1.MirrorPodAnnotationKey @@ -34,34 +35,38 @@ const ( // PodOperation defines what changes will be made on a pod configuration. type PodOperation int +// These constants identify the PodOperations that can be made on a pod configuration. const ( - // This is the current pod configuration + // SET is the current pod configuration. SET PodOperation = iota - // Pods with the given ids are new to this source + // ADD signifies pods that are new to this source. ADD - // Pods with the given ids are gracefully deleted from this source + // DELETE signifies pods that are gracefully deleted from this source. DELETE - // Pods with the given ids have been removed from this source + // REMOVE signifies pods that have been removed from this source. REMOVE - // Pods with the given ids have been updated in this source + // UPDATE signifies pods have been updated in this source. UPDATE - // Pods with the given ids have unexpected status in this source, - // kubelet should reconcile status with this source + // RECONCILE signifies pods that have unexpected status in this source, + // kubelet should reconcile status with this source. RECONCILE +) - // These constants identify the sources of pods - // Updates from a file +// These constants identify the sources of pods. +const ( + // Filesource idenitified updates from a file. FileSource = "file" - // Updates from querying a web page + // HTTPSource identifies updates from querying a web page. HTTPSource = "http" - // Updates from Kubernetes API Server + // ApiserverSource identifies updates from Kubernetes API Server. ApiserverSource = "api" - // Updates from all sources + // AllSource identifies updates from all sources. AllSource = "*" - - NamespaceDefault = metav1.NamespaceDefault ) +// NamespaceDefault is a string representing the default namespace. +const NamespaceDefault = metav1.NamespaceDefault + // PodUpdate defines an operation sent on the channel. You can add or remove single services by // sending an array of size one and Op == ADD|REMOVE (with REMOVE, only the ID is required). // For setting the state of the system to a given state for this source configuration, set @@ -77,7 +82,7 @@ type PodUpdate struct { Source string } -// Gets all validated sources from the specified sources. +// GetValidatedSources gets all validated sources from the specified sources. func GetValidatedSources(sources []string) ([]string, error) { validated := make([]string, 0, len(sources)) for _, source := range sources { diff --git a/pkg/kubelet/types/types.go b/pkg/kubelet/types/types.go index b20d289a4b662..2ed7f1c991e56 100644 --- a/pkg/kubelet/types/types.go +++ b/pkg/kubelet/types/types.go @@ -20,7 +20,7 @@ import ( "net/http" "time" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ) @@ -61,7 +61,7 @@ func (t *Timestamp) GetString() string { return t.time.Format(RFC3339NanoFixed) } -// A type to help sort container statuses based on container names. +// SortedContainerStatuses is a type to help sort container statuses based on container names. type SortedContainerStatuses []v1.ContainerStatus func (s SortedContainerStatuses) Len() int { return len(s) } @@ -87,6 +87,8 @@ func SortInitContainerStatuses(p *v1.Pod, statuses []v1.ContainerStatus) { } } +// SortStatusesOfInitContainers returns the statuses of InitContainers of pod p, +// in the order that they appear in its spec. func SortStatusesOfInitContainers(p *v1.Pod, statusMap map[string]*v1.ContainerStatus) []v1.ContainerStatus { containers := p.Spec.InitContainers statuses := []v1.ContainerStatus{} @@ -106,8 +108,8 @@ type Reservation struct { Kubernetes v1.ResourceList } -// A pod UID which has been translated/resolved to the representation known to kubelets. +// ResolvedPodUID is a pod UID which has been translated/resolved to the representation known to kubelets. type ResolvedPodUID types.UID -// A pod UID for a mirror pod. +// MirrorPodUID is a pod UID for a mirror pod. type MirrorPodUID types.UID