From 3fba36291cb4630c5cf9df0afa3b4121855dbd08 Mon Sep 17 00:00:00 2001 From: Prasad Ghangal Date: Fri, 7 Sep 2018 12:27:36 +0530 Subject: [PATCH] pkg/api: Fix golint errors --- hack/.golint_failures | 8 ----- pkg/api/endpoints/util.go | 13 +++---- pkg/api/ref/ref.go | 6 ++-- pkg/api/testapi/testapi.go | 18 ++++++---- .../testing/compat/compatibility_tester.go | 3 +- pkg/api/testing/conversion.go | 2 +- pkg/api/testing/fuzzer.go | 1 + pkg/api/testing/serialization_test.go | 4 +-- pkg/api/v1/endpoints/util.go | 13 +++---- pkg/api/v1/pod/util.go | 35 +++++++++---------- pkg/api/v1/resource/helpers.go | 2 +- 11 files changed, 51 insertions(+), 54 deletions(-) diff --git a/hack/.golint_failures b/hack/.golint_failures index 45bdeeb9fc8..91ab8a576b4 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -13,14 +13,6 @@ cmd/kubeadm/app/util/system cmd/kubelet/app cmd/kubelet/app/options cmd/kubemark -pkg/api/endpoints -pkg/api/ref -pkg/api/testapi -pkg/api/testing -pkg/api/testing/compat -pkg/api/v1/endpoints -pkg/api/v1/pod -pkg/api/v1/resource pkg/apis/abac pkg/apis/abac/latest pkg/apis/abac/v0 diff --git a/pkg/api/endpoints/util.go b/pkg/api/endpoints/util.go index c834a18f3f1..2c076f9afd1 100644 --- a/pkg/api/endpoints/util.go +++ b/pkg/api/endpoints/util.go @@ -171,6 +171,7 @@ func (sl addrsReady) Less(i, j int) bool { return lessAddrReady(sl[i], sl[j]) } +// LessEndpointAddress compares IP addresses lexicographically and returns true if first argument is lesser than second func LessEndpointAddress(a, b *api.EndpointAddress) bool { ipComparison := bytes.Compare([]byte(a.IP), []byte(b.IP)) if ipComparison != 0 { @@ -190,8 +191,8 @@ func LessEndpointAddress(a, b *api.EndpointAddress) bool { func SortSubsets(subsets []api.EndpointSubset) []api.EndpointSubset { for i := range subsets { ss := &subsets[i] - sort.Sort(addrsByIpAndUID(ss.Addresses)) - sort.Sort(addrsByIpAndUID(ss.NotReadyAddresses)) + sort.Sort(addrsByIPAndUID(ss.Addresses)) + sort.Sort(addrsByIPAndUID(ss.NotReadyAddresses)) sort.Sort(portsByHash(ss.Ports)) } sort.Sort(subsetsByHash(subsets)) @@ -214,11 +215,11 @@ func (sl subsetsByHash) Less(i, j int) bool { return bytes.Compare(h1, h2) < 0 } -type addrsByIpAndUID []api.EndpointAddress +type addrsByIPAndUID []api.EndpointAddress -func (sl addrsByIpAndUID) Len() int { return len(sl) } -func (sl addrsByIpAndUID) Swap(i, j int) { sl[i], sl[j] = sl[j], sl[i] } -func (sl addrsByIpAndUID) Less(i, j int) bool { +func (sl addrsByIPAndUID) Len() int { return len(sl) } +func (sl addrsByIPAndUID) Swap(i, j int) { sl[i], sl[j] = sl[j], sl[i] } +func (sl addrsByIPAndUID) Less(i, j int) bool { return LessEndpointAddress(&sl[i], &sl[j]) } diff --git a/pkg/api/ref/ref.go b/pkg/api/ref/ref.go index d6576750ad1..d1a4c10de7b 100644 --- a/pkg/api/ref/ref.go +++ b/pkg/api/ref/ref.go @@ -28,8 +28,8 @@ import ( api "k8s.io/kubernetes/pkg/apis/core" ) +// Errors that could be returned by GetReference. var ( - // Errors that could be returned by GetReference. ErrNilObject = errors.New("can't reference a nil object") ErrNoSelfLink = errors.New("selfLink was empty, can't make reference") ) @@ -80,12 +80,12 @@ func GetReference(scheme *runtime.Scheme, obj runtime.Object) (*api.ObjectRefere if len(selfLink) == 0 { return nil, ErrNoSelfLink } - selfLinkUrl, err := url.Parse(selfLink) + selfLinkURL, err := url.Parse(selfLink) if err != nil { return nil, err } // example paths: ///* - parts := strings.Split(selfLinkUrl.Path, "/") + parts := strings.Split(selfLinkURL.Path, "/") if len(parts) < 3 { return nil, fmt.Errorf("unexpected self link format: '%v'; got version '%v'", selfLink, version) } diff --git a/pkg/api/testapi/testapi.go b/pkg/api/testapi/testapi.go index 138d8241314..31d419620c9 100644 --- a/pkg/api/testapi/testapi.go +++ b/pkg/api/testapi/testapi.go @@ -53,6 +53,7 @@ import ( "k8s.io/kubernetes/pkg/apis/settings" "k8s.io/kubernetes/pkg/apis/storage" + // Initialize install packages _ "k8s.io/kubernetes/pkg/apis/admission/install" _ "k8s.io/kubernetes/pkg/apis/admissionregistration/install" _ "k8s.io/kubernetes/pkg/apis/apps/install" @@ -74,6 +75,7 @@ import ( _ "k8s.io/kubernetes/pkg/apis/storage/install" ) +// Variables to store GroupName var ( Groups = make(map[string]TestGroup) Default TestGroup @@ -90,6 +92,7 @@ var ( storageSerializer runtime.SerializerInfo ) +// TestGroup contains GroupVersion to uniquely identify the API type TestGroup struct { externalGroupVersion schema.GroupVersion } @@ -276,6 +279,7 @@ func init() { Admission = Groups[admission.GroupName] } +// GroupVersion makes copy of schema.GroupVersion func (g TestGroup) GroupVersion() *schema.GroupVersion { copyOfGroupVersion := g.externalGroupVersion return ©OfGroupVersion @@ -290,6 +294,7 @@ func (g TestGroup) Codec() runtime.Codec { return legacyscheme.Codecs.CodecForVersions(serializer.Serializer, legacyscheme.Codecs.UniversalDeserializer(), schema.GroupVersions{g.externalGroupVersion}, nil) } +// StorageMediaType finds media type set by KUBE_TEST_API_STORAGE_TYPE env var used to store objects in storage func StorageMediaType() string { return os.Getenv("KUBE_TEST_API_STORAGE_TYPE") } @@ -322,14 +327,13 @@ func (g TestGroup) SelfLink(resource, name string) string { return fmt.Sprintf("/api/%s/%s", g.externalGroupVersion.Version, resource) } return fmt.Sprintf("/api/%s/%s/%s", g.externalGroupVersion.Version, resource, name) - } else { - // TODO: will need a /apis prefix once we have proper multi-group - // support - if name == "" { - return fmt.Sprintf("/apis/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource) - } - return fmt.Sprintf("/apis/%s/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource, name) } + // TODO: will need a /apis prefix once we have proper multi-group + // support + if name == "" { + return fmt.Sprintf("/apis/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource) + } + return fmt.Sprintf("/apis/%s/%s/%s/%s", g.externalGroupVersion.Group, g.externalGroupVersion.Version, resource, name) } // ResourcePathWithPrefix returns the appropriate path for the given prefix (watch, proxy, redirect, etc), resource, namespace and name. diff --git a/pkg/api/testing/compat/compatibility_tester.go b/pkg/api/testing/compat/compatibility_tester.go index 68b4bc9a852..941b139c768 100644 --- a/pkg/api/testing/compat/compatibility_tester.go +++ b/pkg/api/testing/compat/compatibility_tester.go @@ -31,11 +31,10 @@ import ( "k8s.io/kubernetes/pkg/api/legacyscheme" ) -// Based on: https://github.com/openshift/origin/blob/master/pkg/api/compatibility_test.go -// // TestCompatibility reencodes the input using the codec for the given // version and checks for the presence of the expected keys and absent // keys in the resulting JSON. +// Based on: https://github.com/openshift/origin/blob/master/pkg/api/compatibility_test.go func TestCompatibility( t *testing.T, version schema.GroupVersion, diff --git a/pkg/api/testing/conversion.go b/pkg/api/testing/conversion.go index 67f138305de..229438faf49 100644 --- a/pkg/api/testing/conversion.go +++ b/pkg/api/testing/conversion.go @@ -24,7 +24,7 @@ import ( "k8s.io/kubernetes/pkg/api/legacyscheme" ) -// TestSelectableFieldLabelConversions verifies that given resource have field +// TestSelectableFieldLabelConversionsOfKind verifies that given resource have field // label conversion defined for each its selectable field. // fields contains selectable fields of the resource. // labelMap maps deprecated labels to their canonical names. diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 85d3d264bc2..2a2bb3175ba 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -88,6 +88,7 @@ func overrideGenericFuncs(codecs runtimeserializer.CodecFactory) []interface{} { } } +// FuzzerFuncs is a list of fuzzer functions var FuzzerFuncs = fuzzer.MergeFuzzerFuncs( genericfuzzer.Funcs, overrideGenericFuncs, diff --git a/pkg/api/testing/serialization_test.go b/pkg/api/testing/serialization_test.go index e608916c70e..ccde34a8960 100644 --- a/pkg/api/testing/serialization_test.go +++ b/pkg/api/testing/serialization_test.go @@ -65,7 +65,7 @@ func fuzzInternalObject(t *testing.T, forVersion schema.GroupVersion, item runti return item } -func Convert_v1beta1_ReplicaSet_to_api_ReplicationController(in *v1beta1.ReplicaSet, out *api.ReplicationController, s conversion.Scope) error { +func ConvertV1beta1ReplicaSetToAPIReplicationController(in *v1beta1.ReplicaSet, out *api.ReplicationController, s conversion.Scope) error { intermediate1 := &extensions.ReplicaSet{} if err := k8s_v1beta1.Convert_v1beta1_ReplicaSet_To_extensions_ReplicaSet(in, intermediate1, s); err != nil { return err @@ -80,7 +80,7 @@ func Convert_v1beta1_ReplicaSet_to_api_ReplicationController(in *v1beta1.Replica } func TestSetControllerConversion(t *testing.T) { - if err := legacyscheme.Scheme.AddConversionFuncs(Convert_v1beta1_ReplicaSet_to_api_ReplicationController); err != nil { + if err := legacyscheme.Scheme.AddConversionFuncs(ConvertV1beta1ReplicaSetToAPIReplicationController); err != nil { t.Fatal(err) } diff --git a/pkg/api/v1/endpoints/util.go b/pkg/api/v1/endpoints/util.go index db551c68a6f..d0af83be274 100644 --- a/pkg/api/v1/endpoints/util.go +++ b/pkg/api/v1/endpoints/util.go @@ -172,6 +172,7 @@ func (sl addrsReady) Less(i, j int) bool { return lessAddrReady(sl[i], sl[j]) } +// LessEndpointAddress compares IP addresses lexicographically and returns true if first argument is lesser than second func LessEndpointAddress(a, b *v1.EndpointAddress) bool { ipComparison := bytes.Compare([]byte(a.IP), []byte(b.IP)) if ipComparison != 0 { @@ -191,8 +192,8 @@ func LessEndpointAddress(a, b *v1.EndpointAddress) bool { func SortSubsets(subsets []v1.EndpointSubset) []v1.EndpointSubset { for i := range subsets { ss := &subsets[i] - sort.Sort(addrsByIpAndUID(ss.Addresses)) - sort.Sort(addrsByIpAndUID(ss.NotReadyAddresses)) + sort.Sort(addrsByIPAndUID(ss.Addresses)) + sort.Sort(addrsByIPAndUID(ss.NotReadyAddresses)) sort.Sort(portsByHash(ss.Ports)) } sort.Sort(subsetsByHash(subsets)) @@ -215,11 +216,11 @@ func (sl subsetsByHash) Less(i, j int) bool { return bytes.Compare(h1, h2) < 0 } -type addrsByIpAndUID []v1.EndpointAddress +type addrsByIPAndUID []v1.EndpointAddress -func (sl addrsByIpAndUID) Len() int { return len(sl) } -func (sl addrsByIpAndUID) Swap(i, j int) { sl[i], sl[j] = sl[j], sl[i] } -func (sl addrsByIpAndUID) Less(i, j int) bool { +func (sl addrsByIPAndUID) Len() int { return len(sl) } +func (sl addrsByIPAndUID) Swap(i, j int) { sl[i], sl[j] = sl[j], sl[i] } +func (sl addrsByIPAndUID) Less(i, j int) bool { return LessEndpointAddress(&sl[i], &sl[j]) } diff --git a/pkg/api/v1/pod/util.go b/pkg/api/v1/pod/util.go index 416221d520e..558e8a48c1a 100644 --- a/pkg/api/v1/pod/util.go +++ b/pkg/api/v1/pod/util.go @@ -238,13 +238,13 @@ func IsPodReady(pod *v1.Pod) bool { return IsPodReadyConditionTrue(pod.Status) } -// IsPodReady returns true if a pod is ready; false otherwise. +// IsPodReadyConditionTrue returns true if a pod is ready; false otherwise. func IsPodReadyConditionTrue(status v1.PodStatus) bool { condition := GetPodReadyCondition(status) return condition != nil && condition.Status == v1.ConditionTrue } -// Extracts the pod ready condition from the given status and returns that. +// GetPodReadyCondition extracts the pod ready condition from the given status and returns that. // Returns nil if the condition is not present. func GetPodReadyCondition(status v1.PodStatus) *v1.PodCondition { _, condition := GetPodCondition(&status, v1.PodReady) @@ -274,7 +274,7 @@ func GetPodConditionFromList(conditions []v1.PodCondition, conditionType v1.PodC return -1, nil } -// Updates existing pod condition or creates a new one. Sets LastTransitionTime to now if the +// UpdatePodCondition updates existing pod condition or creates a new one. Sets LastTransitionTime to now if the // status has changed. // Returns true if pod condition has changed or has been added. func UpdatePodCondition(status *v1.PodStatus, condition *v1.PodCondition) bool { @@ -286,20 +286,19 @@ func UpdatePodCondition(status *v1.PodStatus, condition *v1.PodCondition) bool { // We are adding new pod condition. status.Conditions = append(status.Conditions, *condition) return true - } else { - // We are updating an existing condition, so we need to check if it has changed. - if condition.Status == oldCondition.Status { - condition.LastTransitionTime = oldCondition.LastTransitionTime - } - - isEqual := condition.Status == oldCondition.Status && - condition.Reason == oldCondition.Reason && - condition.Message == oldCondition.Message && - condition.LastProbeTime.Equal(&oldCondition.LastProbeTime) && - condition.LastTransitionTime.Equal(&oldCondition.LastTransitionTime) - - status.Conditions[conditionIndex] = *condition - // Return true if one of the fields have changed. - return !isEqual } + // We are updating an existing condition, so we need to check if it has changed. + if condition.Status == oldCondition.Status { + condition.LastTransitionTime = oldCondition.LastTransitionTime + } + + isEqual := condition.Status == oldCondition.Status && + condition.Reason == oldCondition.Reason && + condition.Message == oldCondition.Message && + condition.LastProbeTime.Equal(&oldCondition.LastProbeTime) && + condition.LastTransitionTime.Equal(&oldCondition.LastTransitionTime) + + status.Conditions[conditionIndex] = *condition + // Return true if one of the fields have changed. + return !isEqual } diff --git a/pkg/api/v1/resource/helpers.go b/pkg/api/v1/resource/helpers.go index 6f7c59f587d..d30ab7ed86e 100644 --- a/pkg/api/v1/resource/helpers.go +++ b/pkg/api/v1/resource/helpers.go @@ -68,7 +68,7 @@ func PodRequestsAndLimits(pod *v1.Pod) (reqs, limits v1.ResourceList) { return } -// finds and returns the request for a specific resource. +// GetResourceRequest finds and returns the request for a specific resource. func GetResourceRequest(pod *v1.Pod, resource v1.ResourceName) int64 { if resource == v1.ResourcePods { return 1