mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
handle empty perferredVersion
This commit is contained in:
parent
f2db7d07a3
commit
31cd4c124d
@ -124,7 +124,9 @@ func (d *DiscoveryClient) ServerGroups() (apiGroupList *unversioned.APIGroupList
|
|||||||
// ServerResourcesForGroupVersion returns the supported resources for a group and version.
|
// ServerResourcesForGroupVersion returns the supported resources for a group and version.
|
||||||
func (d *DiscoveryClient) ServerResourcesForGroupVersion(groupVersion string) (resources *unversioned.APIResourceList, err error) {
|
func (d *DiscoveryClient) ServerResourcesForGroupVersion(groupVersion string) (resources *unversioned.APIResourceList, err error) {
|
||||||
url := url.URL{}
|
url := url.URL{}
|
||||||
if groupVersion == "v1" {
|
if len(groupVersion) == 0 {
|
||||||
|
return nil, fmt.Errorf("groupVersion shouldn't be empty")
|
||||||
|
} else if groupVersion == "v1" {
|
||||||
url.Path = "/api/" + groupVersion
|
url.Path = "/api/" + groupVersion
|
||||||
} else {
|
} else {
|
||||||
url.Path = "/apis/" + groupVersion
|
url.Path = "/apis/" + groupVersion
|
||||||
|
@ -29,6 +29,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/client/typed/discovery"
|
"k8s.io/kubernetes/pkg/client/typed/discovery"
|
||||||
"k8s.io/kubernetes/pkg/client/typed/dynamic"
|
"k8s.io/kubernetes/pkg/client/typed/dynamic"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
|
utilerrors "k8s.io/kubernetes/pkg/util/errors"
|
||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
@ -459,11 +460,14 @@ func ServerPreferredNamespacedGroupVersionResources(discoveryClient discovery.Di
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return results, err
|
return results, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
allErrs := []error{}
|
||||||
for _, apiGroup := range serverGroupList.Groups {
|
for _, apiGroup := range serverGroupList.Groups {
|
||||||
preferredVersion := apiGroup.PreferredVersion
|
preferredVersion := apiGroup.PreferredVersion
|
||||||
apiResourceList, err := discoveryClient.ServerResourcesForGroupVersion(preferredVersion.GroupVersion)
|
apiResourceList, err := discoveryClient.ServerResourcesForGroupVersion(preferredVersion.GroupVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return results, err
|
allErrs = append(allErrs, err)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
groupVersion := unversioned.GroupVersion{Group: apiGroup.Name, Version: preferredVersion.Version}
|
groupVersion := unversioned.GroupVersion{Group: apiGroup.Name, Version: preferredVersion.Version}
|
||||||
for _, apiResource := range apiResourceList.APIResources {
|
for _, apiResource := range apiResourceList.APIResources {
|
||||||
@ -476,5 +480,5 @@ func ServerPreferredNamespacedGroupVersionResources(discoveryClient discovery.Di
|
|||||||
results = append(results, groupVersion.WithResource(apiResource.Name))
|
results = append(results, groupVersion.WithResource(apiResource.Name))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return results, nil
|
return results, utilerrors.NewAggregate(allErrs)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user