Upgrade k8s package verison (#5358)
* upgrade k8s package version Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io> * Script upgrade and code formatting. Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io> Signed-off-by: hongzhouzi <hongzhouzi@kubesphere.io>
This commit is contained in:
95
vendor/k8s.io/apiserver/pkg/server/storage/resource_config.go
generated
vendored
95
vendor/k8s.io/apiserver/pkg/server/storage/resource_config.go
generated
vendored
@@ -22,9 +22,8 @@ import (
|
||||
|
||||
// APIResourceConfigSource is the interface to determine which groups and versions are enabled
|
||||
type APIResourceConfigSource interface {
|
||||
VersionEnabled(version schema.GroupVersion) bool
|
||||
ResourceEnabled(resource schema.GroupVersionResource) bool
|
||||
AnyVersionForGroupEnabled(group string) bool
|
||||
AnyResourceForGroupEnabled(group string) bool
|
||||
}
|
||||
|
||||
var _ APIResourceConfigSource = &ResourceConfig{}
|
||||
@@ -38,52 +37,74 @@ func NewResourceConfig() *ResourceConfig {
|
||||
return &ResourceConfig{GroupVersionConfigs: map[schema.GroupVersion]bool{}, ResourceConfigs: map[schema.GroupVersionResource]bool{}}
|
||||
}
|
||||
|
||||
// DisableAll disables all group/versions. It does not modify individual resource enablement/disablement.
|
||||
func (o *ResourceConfig) DisableAll() {
|
||||
for k := range o.GroupVersionConfigs {
|
||||
o.GroupVersionConfigs[k] = false
|
||||
}
|
||||
}
|
||||
|
||||
// EnableAll enables all group/versions. It does not modify individual resource enablement/disablement.
|
||||
func (o *ResourceConfig) EnableAll() {
|
||||
for k := range o.GroupVersionConfigs {
|
||||
o.GroupVersionConfigs[k] = true
|
||||
}
|
||||
}
|
||||
|
||||
// DisableMatchingVersions disables all group/versions for which the matcher function returns true. It does not modify individual resource enablement/disablement.
|
||||
// DisableMatchingVersions disables all group/versions for which the matcher function returns true.
|
||||
// This will remove any preferences previously set on individual resources.
|
||||
func (o *ResourceConfig) DisableMatchingVersions(matcher func(gv schema.GroupVersion) bool) {
|
||||
for k := range o.GroupVersionConfigs {
|
||||
if matcher(k) {
|
||||
o.GroupVersionConfigs[k] = false
|
||||
for version := range o.GroupVersionConfigs {
|
||||
if matcher(version) {
|
||||
o.GroupVersionConfigs[version] = false
|
||||
o.removeMatchingResourcePreferences(resourceMatcherForVersion(version))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EnableMatchingVersions enables all group/versions for which the matcher function returns true. It does not modify individual resource enablement/disablement.
|
||||
// EnableMatchingVersions enables all group/versions for which the matcher function returns true.
|
||||
// This will remove any preferences previously set on individual resources.
|
||||
func (o *ResourceConfig) EnableMatchingVersions(matcher func(gv schema.GroupVersion) bool) {
|
||||
for k := range o.GroupVersionConfigs {
|
||||
if matcher(k) {
|
||||
o.GroupVersionConfigs[k] = true
|
||||
for version := range o.GroupVersionConfigs {
|
||||
if matcher(version) {
|
||||
o.GroupVersionConfigs[version] = true
|
||||
o.removeMatchingResourcePreferences(resourceMatcherForVersion(version))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// resourceMatcherForVersion matches resources in the specified version
|
||||
func resourceMatcherForVersion(gv schema.GroupVersion) func(gvr schema.GroupVersionResource) bool {
|
||||
return func(gvr schema.GroupVersionResource) bool {
|
||||
return gv == gvr.GroupVersion()
|
||||
}
|
||||
}
|
||||
|
||||
// removeMatchingResourcePreferences removes individual resource preferences that match. This is useful when an override of a version or level enablement should
|
||||
// override the previously individual preferences.
|
||||
func (o *ResourceConfig) removeMatchingResourcePreferences(matcher func(gvr schema.GroupVersionResource) bool) {
|
||||
keysToRemove := []schema.GroupVersionResource{}
|
||||
for k := range o.ResourceConfigs {
|
||||
if matcher(k) {
|
||||
keysToRemove = append(keysToRemove, k)
|
||||
}
|
||||
}
|
||||
for _, k := range keysToRemove {
|
||||
delete(o.ResourceConfigs, k)
|
||||
}
|
||||
}
|
||||
|
||||
// DisableVersions disables the versions entirely.
|
||||
// This will remove any preferences previously set on individual resources.
|
||||
func (o *ResourceConfig) DisableVersions(versions ...schema.GroupVersion) {
|
||||
for _, version := range versions {
|
||||
o.GroupVersionConfigs[version] = false
|
||||
|
||||
// a preference about a version takes priority over the previously set resources
|
||||
o.removeMatchingResourcePreferences(resourceMatcherForVersion(version))
|
||||
}
|
||||
}
|
||||
|
||||
// EnableVersions enables all resources in a given groupVersion.
|
||||
// This will remove any preferences previously set on individual resources.
|
||||
func (o *ResourceConfig) EnableVersions(versions ...schema.GroupVersion) {
|
||||
for _, version := range versions {
|
||||
o.GroupVersionConfigs[version] = true
|
||||
|
||||
// a preference about a version takes priority over the previously set resources
|
||||
o.removeMatchingResourcePreferences(resourceMatcherForVersion(version))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (o *ResourceConfig) VersionEnabled(version schema.GroupVersion) bool {
|
||||
// TODO this must be removed and we enable/disable individual resources.
|
||||
func (o *ResourceConfig) versionEnabled(version schema.GroupVersion) bool {
|
||||
enabled, _ := o.GroupVersionConfigs[version]
|
||||
return enabled
|
||||
}
|
||||
@@ -101,24 +122,32 @@ func (o *ResourceConfig) EnableResources(resources ...schema.GroupVersionResourc
|
||||
}
|
||||
|
||||
func (o *ResourceConfig) ResourceEnabled(resource schema.GroupVersionResource) bool {
|
||||
if !o.VersionEnabled(resource.GroupVersion()) {
|
||||
// if a resource is explicitly set, that takes priority over the preference of the version.
|
||||
resourceEnabled, explicitlySet := o.ResourceConfigs[resource]
|
||||
if explicitlySet {
|
||||
return resourceEnabled
|
||||
}
|
||||
|
||||
if !o.versionEnabled(resource.GroupVersion()) {
|
||||
return false
|
||||
}
|
||||
resourceEnabled, explicitlySet := o.ResourceConfigs[resource]
|
||||
if !explicitlySet {
|
||||
return true
|
||||
}
|
||||
return resourceEnabled
|
||||
// they are enabled by default.
|
||||
return true
|
||||
}
|
||||
|
||||
func (o *ResourceConfig) AnyVersionForGroupEnabled(group string) bool {
|
||||
func (o *ResourceConfig) AnyResourceForGroupEnabled(group string) bool {
|
||||
for version := range o.GroupVersionConfigs {
|
||||
if version.Group == group {
|
||||
if o.VersionEnabled(version) {
|
||||
if o.versionEnabled(version) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
for resource := range o.ResourceConfigs {
|
||||
if resource.Group == group && o.ResourceEnabled(resource) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
9
vendor/k8s.io/apiserver/pkg/server/storage/storage_factory.go
generated
vendored
9
vendor/k8s.io/apiserver/pkg/server/storage/storage_factory.go
generated
vendored
@@ -46,7 +46,7 @@ type Backend struct {
|
||||
type StorageFactory interface {
|
||||
// New finds the storage destination for the given group and resource. It will
|
||||
// return an error if the group has no storage destination configured.
|
||||
NewConfig(groupResource schema.GroupResource) (*storagebackend.Config, error)
|
||||
NewConfig(groupResource schema.GroupResource) (*storagebackend.ConfigForResource, error)
|
||||
|
||||
// ResourcePrefix returns the overridden resource prefix for the GroupResource
|
||||
// This allows for cohabitation of resources with different native types and provides
|
||||
@@ -240,7 +240,8 @@ func getAllResourcesAlias(resource schema.GroupResource) schema.GroupResource {
|
||||
|
||||
func (s *DefaultStorageFactory) getStorageGroupResource(groupResource schema.GroupResource) schema.GroupResource {
|
||||
for _, potentialStorageResource := range s.Overrides[groupResource].cohabitatingResources {
|
||||
if s.APIResourceConfigSource.AnyVersionForGroupEnabled(potentialStorageResource.Group) {
|
||||
// TODO deads2k or liggitt determine if have ever stored any of our cohabitating resources in a different location on new clusters
|
||||
if s.APIResourceConfigSource.AnyResourceForGroupEnabled(potentialStorageResource.Group) {
|
||||
return potentialStorageResource
|
||||
}
|
||||
}
|
||||
@@ -250,7 +251,7 @@ func (s *DefaultStorageFactory) getStorageGroupResource(groupResource schema.Gro
|
||||
|
||||
// New finds the storage destination for the given group and resource. It will
|
||||
// return an error if the group has no storage destination configured.
|
||||
func (s *DefaultStorageFactory) NewConfig(groupResource schema.GroupResource) (*storagebackend.Config, error) {
|
||||
func (s *DefaultStorageFactory) NewConfig(groupResource schema.GroupResource) (*storagebackend.ConfigForResource, error) {
|
||||
chosenStorageResource := s.getStorageGroupResource(groupResource)
|
||||
|
||||
// operate on copy
|
||||
@@ -284,7 +285,7 @@ func (s *DefaultStorageFactory) NewConfig(groupResource schema.GroupResource) (*
|
||||
}
|
||||
klog.V(3).Infof("storing %v in %v, reading as %v from %#v", groupResource, codecConfig.StorageVersion, codecConfig.MemoryVersion, codecConfig.Config)
|
||||
|
||||
return &storageConfig, nil
|
||||
return storageConfig.ForResource(groupResource), nil
|
||||
}
|
||||
|
||||
// Backends returns all backends for all registered storage destinations.
|
||||
|
||||
Reference in New Issue
Block a user