diff --git a/pkg/api/legacy/install.go b/pkg/api/legacy/install.go new file mode 100644 index 000000000000..3eeba6a40a94 --- /dev/null +++ b/pkg/api/legacy/install.go @@ -0,0 +1,78 @@ +package legacy + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + kapi "k8s.io/kubernetes/pkg/api" +) + +var ( + accessor = meta.NewAccessor() + coreV1 = schema.GroupVersion{Group: "", Version: "v1"} +) + +func InstallLegacy(group string, addToCore, addToCoreV1 func(*runtime.Scheme) error, rootScopedKinds sets.String, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + interfacesFor := interfacesForGroup(group) + + // install core V1 types temporarily into a local scheme to enumerate them + mapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{coreV1}, interfacesFor) + localScheme := runtime.NewScheme() + if err := addToCoreV1(localScheme); err != nil { + panic(err) + } + for kind := range localScheme.KnownTypes(coreV1) { + scope := meta.RESTScopeNamespace + if rootScopedKinds.Has(kind) { + scope = meta.RESTScopeRoot + } + mapper.Add(coreV1.WithKind(kind), scope) + } + + // register core v1 version. Should be done by kube (if the import dependencies are right). + registry.RegisterVersions([]schema.GroupVersion{coreV1}) + if err := registry.EnableVersions(coreV1); err != nil { + panic(err) + } + + // register types as core v1 + if err := addToCore(scheme); err != nil { + panic(err) + } + if err := addToCoreV1(scheme); err != nil { + panic(err) + } + + // add to group + legacyGroupMeta := apimachinery.GroupMeta{ + GroupVersion: coreV1, + GroupVersions: []schema.GroupVersion{coreV1}, + RESTMapper: mapper, + SelfLinker: runtime.SelfLinker(accessor), + InterfacesFor: interfacesFor, + } + if err := registry.RegisterGroup(legacyGroupMeta); err != nil { + panic(err) + } +} + +func interfacesForGroup(group string) func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { + return func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { + switch version { + case coreV1: + return &meta.VersionInterfaces{ + ObjectConvertor: kapi.Scheme, + MetadataAccessor: accessor, + }, nil + + default: + g, _ := kapi.Registry.Group(group) + return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) + } + } +} diff --git a/pkg/authorization/apis/authorization/install/apigroup.go b/pkg/authorization/apis/authorization/install/apigroup.go deleted file mode 100644 index 603245bde52b..000000000000 --- a/pkg/authorization/apis/authorization/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - authorizationapi "github.com/openshift/origin/pkg/authorization/apis/authorization" - authorizationapiv1 "github.com/openshift/origin/pkg/authorization/apis/authorization/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: authorizationapi.GroupName, - VersionPreferenceOrder: []string{authorizationapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: authorizationapi.AddToScheme, - RootScopedKinds: sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding", "SubjectAccessReview", "ResourceAccessReview"), - }, - announced.VersionToSchemeFunc{ - authorizationapiv1.SchemeGroupVersion.Version: authorizationapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/authorization/apis/authorization/install/install.go b/pkg/authorization/apis/authorization/install/install.go index f36c820336f0..ad008f965feb 100644 --- a/pkg/authorization/apis/authorization/install/install.go +++ b/pkg/authorization/apis/authorization/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" authorizationapi "github.com/openshift/origin/pkg/authorization/apis/authorization" authorizationapiv1 "github.com/openshift/origin/pkg/authorization/apis/authorization/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/authorization/apis/authorization" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{authorizationapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", authorizationapi.GroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(authorizationapi.GroupName, authorizationapi.AddToSchemeInCoreGroup, authorizationapiv1.AddToSchemeInCoreGroup, + sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine registered.RegisterVersions, registered.EnableVersions and -// registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - authorizationapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case authorizationapiv1.LegacySchemeGroupVersion: - authorizationapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case authorizationapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(authorizationapi.GroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: authorizationapi.GroupName, + VersionPreferenceOrder: []string{authorizationapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: authorizationapi.AddToScheme, + RootScopedKinds: sets.NewString("ClusterRole", "ClusterRoleBinding", "ClusterPolicy", "ClusterPolicyBinding", "SubjectAccessReview", "ResourceAccessReview"), + }, + announced.VersionToSchemeFunc{ + authorizationapiv1.SchemeGroupVersion.Version: authorizationapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/build/apis/build/install/apigroup.go b/pkg/build/apis/build/install/apigroup.go deleted file mode 100644 index ff43e00c9fe7..000000000000 --- a/pkg/build/apis/build/install/apigroup.go +++ /dev/null @@ -1,32 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - kapi "k8s.io/kubernetes/pkg/api" - - buildapi "github.com/openshift/origin/pkg/build/apis/build" - buildapiv1 "github.com/openshift/origin/pkg/build/apis/build/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: buildapi.GroupName, - VersionPreferenceOrder: []string{buildapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: buildapi.AddToScheme, - }, - announced.VersionToSchemeFunc{ - buildapiv1.SchemeGroupVersion.Version: buildapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/build/apis/build/install/install.go b/pkg/build/apis/build/install/install.go index 69fbfd69f798..45c4bc778039 100644 --- a/pkg/build/apis/build/install/install.go +++ b/pkg/build/apis/build/install/install.go @@ -1,109 +1,34 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" buildapi "github.com/openshift/origin/pkg/build/apis/build" buildapiv1 "github.com/openshift/origin/pkg/build/apis/build/v1" + "k8s.io/apimachinery/pkg/util/sets" ) -const importPrefix = "github.com/openshift/origin/pkg/build/apis/build" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{buildapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", buildapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(buildapi.GroupName, buildapi.AddToSchemeInCoreGroup, buildapiv1.AddToSchemeInCoreGroup, sets.NewString(), kapi.Registry, kapi.Scheme) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine registered.RegisterVersions, registered.EnableVersions and -// registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - buildapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case buildapiv1.LegacySchemeGroupVersion: - buildapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString() - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case buildapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(buildapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: buildapi.GroupName, + VersionPreferenceOrder: []string{buildapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: buildapi.AddToScheme, + }, + announced.VersionToSchemeFunc{ + buildapiv1.SchemeGroupVersion.Version: buildapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/build/controller/build/defaults/api/install/install.go b/pkg/build/controller/build/defaults/api/install/install.go index 8d7903cd21bb..380275a47a69 100644 --- a/pkg/build/controller/build/defaults/api/install/install.go +++ b/pkg/build/controller/build/defaults/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" "github.com/openshift/origin/pkg/build/controller/build/defaults/api" @@ -11,10 +10,6 @@ import ( configapi "github.com/openshift/origin/pkg/cmd/server/api" ) -const importPrefix = "github.com/openshift/origin/pkg/build/controller/build/defaults/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most preferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} diff --git a/pkg/build/controller/build/overrides/api/install/install.go b/pkg/build/controller/build/overrides/api/install/install.go index f020e5b286c4..9b73e4e9c7d0 100644 --- a/pkg/build/controller/build/overrides/api/install/install.go +++ b/pkg/build/controller/build/overrides/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" "github.com/openshift/origin/pkg/build/controller/build/overrides/api" @@ -11,10 +10,6 @@ import ( configapi "github.com/openshift/origin/pkg/cmd/server/api" ) -const importPrefix = "github.com/openshift/origin/pkg/build/controller/build/overrides/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most preferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} diff --git a/pkg/cmd/server/api/install/install.go b/pkg/cmd/server/api/install/install.go index bce01909a7ad..12cdc8c558ba 100644 --- a/pkg/cmd/server/api/install/install.go +++ b/pkg/cmd/server/api/install/install.go @@ -21,8 +21,6 @@ import ( _ "github.com/openshift/origin/pkg/scheduler/admission/podnodeconstraints/api/install" ) -const importPrefix = "github.com/openshift/origin/pkg/cmd/server/api" - var accessor = meta.NewAccessor() // availableVersions lists all known external versions for this group from most preferred to least preferred diff --git a/pkg/deploy/apis/apps/install/apigroup.go b/pkg/deploy/apis/apps/install/apigroup.go deleted file mode 100644 index e53c49b6dc4e..000000000000 --- a/pkg/deploy/apis/apps/install/apigroup.go +++ /dev/null @@ -1,32 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - kapi "k8s.io/kubernetes/pkg/api" - - deployapi "github.com/openshift/origin/pkg/deploy/apis/apps" - deployapiv1 "github.com/openshift/origin/pkg/deploy/apis/apps/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: deployapi.GroupName, - VersionPreferenceOrder: []string{deployapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: deployapi.AddToScheme, - }, - announced.VersionToSchemeFunc{ - deployapiv1.SchemeGroupVersion.Version: deployapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/deploy/apis/apps/install/install.go b/pkg/deploy/apis/apps/install/install.go index 6dc91428b78b..d6f8f5524ead 100644 --- a/pkg/deploy/apis/apps/install/install.go +++ b/pkg/deploy/apis/apps/install/install.go @@ -1,109 +1,34 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + legacy "github.com/openshift/origin/pkg/api/legacy" deployapi "github.com/openshift/origin/pkg/deploy/apis/apps" deployapiv1 "github.com/openshift/origin/pkg/deploy/apis/apps/v1" + "k8s.io/apimachinery/pkg/util/sets" ) -const importPrefix = "github.com/openshift/origin/pkg/deploy/apis/apps" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{deployapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", deployapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(deployapi.GroupName, deployapi.AddToSchemeInCoreGroup, deployapiv1.AddToSchemeInCoreGroup, sets.NewString(), kapi.Registry, kapi.Scheme) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - deployapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case deployapiv1.LegacySchemeGroupVersion: - deployapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString() - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case deployapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(deployapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: deployapi.GroupName, + VersionPreferenceOrder: []string{deployapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: deployapi.AddToScheme, + }, + announced.VersionToSchemeFunc{ + deployapiv1.SchemeGroupVersion.Version: deployapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/image/apis/image/install/apigroup.go b/pkg/image/apis/image/install/apigroup.go deleted file mode 100644 index 9e0ba9848857..000000000000 --- a/pkg/image/apis/image/install/apigroup.go +++ /dev/null @@ -1,42 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - imageapi "github.com/openshift/origin/pkg/image/apis/image" - "github.com/openshift/origin/pkg/image/apis/image/docker10" - "github.com/openshift/origin/pkg/image/apis/image/dockerpre012" - imageapiv1 "github.com/openshift/origin/pkg/image/apis/image/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: imageapi.GroupName, - VersionPreferenceOrder: []string{imageapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: func(scheme *runtime.Scheme) error { - if err := docker10.AddToScheme(scheme); err != nil { - return err - } - if err := dockerpre012.AddToScheme(scheme); err != nil { - return err - } - return imageapi.AddToScheme(scheme) - }, - RootScopedKinds: sets.NewString("Image", "ImageSignature"), - }, - announced.VersionToSchemeFunc{imageapiv1.SchemeGroupVersion.Version: imageapiv1.AddToScheme}, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/image/apis/image/install/install.go b/pkg/image/apis/image/install/install.go index 34e6d32a0345..80e58946e547 100644 --- a/pkg/image/apis/image/install/install.go +++ b/pkg/image/apis/image/install/install.go @@ -1,115 +1,46 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" imageapi "github.com/openshift/origin/pkg/image/apis/image" "github.com/openshift/origin/pkg/image/apis/image/docker10" "github.com/openshift/origin/pkg/image/apis/image/dockerpre012" imageapiv1 "github.com/openshift/origin/pkg/image/apis/image/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/image/apis/image" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{ - imageapiv1.LegacySchemeGroupVersion, -} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", imageapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(imageapi.GroupName, imageapi.AddToSchemeInCoreGroup, imageapiv1.AddToSchemeInCoreGroup, + sets.NewString("Image", "ImageSignature"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - imageapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case imageapiv1.LegacySchemeGroupVersion: - imageapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - docker10.AddToSchemeInCoreGroup(kapi.Scheme) - dockerpre012.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("Image", "ImageSignature") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case imageapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(imageapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: imageapi.GroupName, + VersionPreferenceOrder: []string{imageapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: func(scheme *runtime.Scheme) error { + if err := docker10.AddToScheme(scheme); err != nil { + return err + } + if err := dockerpre012.AddToScheme(scheme); err != nil { + return err + } + return imageapi.AddToScheme(scheme) + }, + RootScopedKinds: sets.NewString("Image", "ImageSignature"), + }, + announced.VersionToSchemeFunc{imageapiv1.SchemeGroupVersion.Version: imageapiv1.AddToScheme}, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/ingress/admission/api/install/install.go b/pkg/ingress/admission/api/install/install.go index 6ba9cf768cb5..ef9c22fe5bea 100644 --- a/pkg/ingress/admission/api/install/install.go +++ b/pkg/ingress/admission/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" configapi "github.com/openshift/origin/pkg/cmd/server/api" @@ -11,10 +10,6 @@ import ( "github.com/openshift/origin/pkg/ingress/admission/api/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/scheduler/admission/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most perferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} diff --git a/pkg/oauth/apis/oauth/install/apigroup.go b/pkg/oauth/apis/oauth/install/apigroup.go deleted file mode 100644 index 08dcb527dcc2..000000000000 --- a/pkg/oauth/apis/oauth/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - oauthapi "github.com/openshift/origin/pkg/oauth/apis/oauth" - oauthapiv1 "github.com/openshift/origin/pkg/oauth/apis/oauth/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: oauthapi.GroupName, - VersionPreferenceOrder: []string{oauthapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: oauthapi.AddToScheme, - RootScopedKinds: sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization"), - }, - announced.VersionToSchemeFunc{ - oauthapiv1.SchemeGroupVersion.Version: oauthapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/oauth/apis/oauth/install/install.go b/pkg/oauth/apis/oauth/install/install.go index 2a3190a3a087..4e90cb18c283 100644 --- a/pkg/oauth/apis/oauth/install/install.go +++ b/pkg/oauth/apis/oauth/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" oauthapi "github.com/openshift/origin/pkg/oauth/apis/oauth" oauthapiv1 "github.com/openshift/origin/pkg/oauth/apis/oauth/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/oauth/apis/oauth" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{oauthapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", oauthapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(oauthapi.GroupName, oauthapi.AddToSchemeInCoreGroup, oauthapiv1.AddToSchemeInCoreGroup, + sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine registered.RegisterVersions, registered.EnableVersions and -// registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - oauthapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case oauthapiv1.LegacySchemeGroupVersion: - oauthapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case oauthapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(oauthapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: oauthapi.GroupName, + VersionPreferenceOrder: []string{oauthapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: oauthapi.AddToScheme, + RootScopedKinds: sets.NewString("OAuthAccessToken", "OAuthAuthorizeToken", "OAuthClient", "OAuthClientAuthorization"), + }, + announced.VersionToSchemeFunc{ + oauthapiv1.SchemeGroupVersion.Version: oauthapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/project/admission/requestlimit/api/install/install.go b/pkg/project/admission/requestlimit/api/install/install.go index 3049d8dfc25a..e5cc23f8b862 100644 --- a/pkg/project/admission/requestlimit/api/install/install.go +++ b/pkg/project/admission/requestlimit/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" configapi "github.com/openshift/origin/pkg/cmd/server/api" @@ -11,10 +10,6 @@ import ( "github.com/openshift/origin/pkg/project/admission/requestlimit/api/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/project/admission/requestlimit/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most preferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion, v1.LegacySchemeGroupVersion} diff --git a/pkg/project/apis/project/install/apigroup.go b/pkg/project/apis/project/install/apigroup.go deleted file mode 100644 index c616e8d1707f..000000000000 --- a/pkg/project/apis/project/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - projectapi "github.com/openshift/origin/pkg/project/apis/project" - projectapiv1 "github.com/openshift/origin/pkg/project/apis/project/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: projectapi.GroupName, - VersionPreferenceOrder: []string{projectapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: projectapi.AddToScheme, - RootScopedKinds: sets.NewString("Project", "ProjectRequest"), - }, - announced.VersionToSchemeFunc{ - projectapiv1.SchemeGroupVersion.Version: projectapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/project/apis/project/install/install.go b/pkg/project/apis/project/install/install.go index eab31a760599..afd3968a8635 100644 --- a/pkg/project/apis/project/install/install.go +++ b/pkg/project/apis/project/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" projectapi "github.com/openshift/origin/pkg/project/apis/project" projectapiv1 "github.com/openshift/origin/pkg/project/apis/project/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/project/apis/project" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{projectapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %q", projectapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(projectapi.GroupName, projectapi.AddToSchemeInCoreGroup, projectapiv1.AddToSchemeInCoreGroup, + sets.NewString("Project", "ProjectRequest"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine registered.RegisterVersions, registered.EnableVersions and -// registered.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - projectapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case projectapiv1.LegacySchemeGroupVersion: - projectapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("Project", "ProjectRequest") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case projectapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(projectapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: projectapi.GroupName, + VersionPreferenceOrder: []string{projectapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: projectapi.AddToScheme, + RootScopedKinds: sets.NewString("Project", "ProjectRequest"), + }, + announced.VersionToSchemeFunc{ + projectapiv1.SchemeGroupVersion.Version: projectapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/quota/admission/runonceduration/api/install/install.go b/pkg/quota/admission/runonceduration/api/install/install.go index a7f7f28ac03f..f51dada6f6a6 100644 --- a/pkg/quota/admission/runonceduration/api/install/install.go +++ b/pkg/quota/admission/runonceduration/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" configapi "github.com/openshift/origin/pkg/cmd/server/api" @@ -11,10 +10,6 @@ import ( "github.com/openshift/origin/pkg/quota/admission/runonceduration/api/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/quota/admission/runonceduration/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most preferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} diff --git a/pkg/quota/apis/quota/install/apigroup.go b/pkg/quota/apis/quota/install/apigroup.go deleted file mode 100644 index 5770a7a9098f..000000000000 --- a/pkg/quota/apis/quota/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - quotaapi "github.com/openshift/origin/pkg/quota/apis/quota" - quotaapiv1 "github.com/openshift/origin/pkg/quota/apis/quota/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: quotaapi.GroupName, - VersionPreferenceOrder: []string{quotaapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: quotaapi.AddToScheme, - RootScopedKinds: sets.NewString("ClusterResourceQuota"), - }, - announced.VersionToSchemeFunc{ - quotaapiv1.SchemeGroupVersion.Version: quotaapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/quota/apis/quota/install/install.go b/pkg/quota/apis/quota/install/install.go index 5adf4211a8e9..749e78a61bc2 100644 --- a/pkg/quota/apis/quota/install/install.go +++ b/pkg/quota/apis/quota/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" quotaapi "github.com/openshift/origin/pkg/quota/apis/quota" quotaapiv1 "github.com/openshift/origin/pkg/quota/apis/quota/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/quota/apis/quota" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{quotaapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.V(4).Infof("No version is registered for group %v", quotaapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - glog.V(4).Infof("%v", err) - return - } - if err := enableVersions(externalVersions); err != nil { - glog.V(4).Infof("%v", err) - return - } - - installApiGroup() -} - -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("ClusterResourceQuota") - ignoredKinds := sets.NewString() - - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -// interfacesFor returns the default Codec and ResourceVersioner for a given version -// string, or an error if the version is not known. -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case quotaapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - default: - g, _ := kapi.Registry.Group(quotaapi.GroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) - } + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(quotaapi.GroupName, quotaapi.AddToSchemeInCoreGroup, quotaapiv1.AddToSchemeInCoreGroup, + sets.NewString("ClusterResourceQuota"), + kapi.Registry, kapi.Scheme, + ) } -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - quotaapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case quotaapiv1.LegacySchemeGroupVersion: - quotaapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - } +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: quotaapi.GroupName, + VersionPreferenceOrder: []string{quotaapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: quotaapi.AddToScheme, + RootScopedKinds: sets.NewString("ClusterResourceQuota"), + }, + announced.VersionToSchemeFunc{ + quotaapiv1.SchemeGroupVersion.Version: quotaapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/route/apis/route/install/apigroup.go b/pkg/route/apis/route/install/apigroup.go deleted file mode 100644 index 3d8bc8ab8b6d..000000000000 --- a/pkg/route/apis/route/install/apigroup.go +++ /dev/null @@ -1,32 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - kapi "k8s.io/kubernetes/pkg/api" - - routeapi "github.com/openshift/origin/pkg/route/apis/route" - routeapiv1 "github.com/openshift/origin/pkg/route/apis/route/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: routeapi.GroupName, - VersionPreferenceOrder: []string{routeapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: routeapi.AddToScheme, - }, - announced.VersionToSchemeFunc{ - routeapiv1.SchemeGroupVersion.Version: routeapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/route/apis/route/install/install.go b/pkg/route/apis/route/install/install.go index e7081f48c86a..87843f29a3d9 100644 --- a/pkg/route/apis/route/install/install.go +++ b/pkg/route/apis/route/install/install.go @@ -1,109 +1,34 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" routeapi "github.com/openshift/origin/pkg/route/apis/route" routeapiv1 "github.com/openshift/origin/pkg/route/apis/route/v1" + "k8s.io/apimachinery/pkg/util/sets" ) -const importPrefix = "github.com/openshift/origin/pkg/route/apis/route" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{routeapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", routeapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(routeapi.GroupName, routeapi.AddToSchemeInCoreGroup, routeapiv1.AddToSchemeInCoreGroup, sets.NewString(), kapi.Registry, kapi.Scheme) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - routeapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case routeapiv1.LegacySchemeGroupVersion: - routeapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString() - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case routeapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(routeapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: routeapi.GroupName, + VersionPreferenceOrder: []string{routeapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: routeapi.AddToScheme, + }, + announced.VersionToSchemeFunc{ + routeapiv1.SchemeGroupVersion.Version: routeapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/scheduler/admission/podnodeconstraints/api/install/install.go b/pkg/scheduler/admission/podnodeconstraints/api/install/install.go index 63c4ef7e2aaa..779e8dbf1b09 100644 --- a/pkg/scheduler/admission/podnodeconstraints/api/install/install.go +++ b/pkg/scheduler/admission/podnodeconstraints/api/install/install.go @@ -3,7 +3,6 @@ package install import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" configapi "github.com/openshift/origin/pkg/cmd/server/api" @@ -11,10 +10,6 @@ import ( "github.com/openshift/origin/pkg/scheduler/admission/podnodeconstraints/api/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/scheduler/admission/podnodeconstraints/api" - -var accessor = meta.NewAccessor() - // availableVersions lists all known external versions for this group from most preferred to least preferred var availableVersions = []schema.GroupVersion{v1.SchemeGroupVersion} diff --git a/pkg/sdn/apis/network/install/apigroup.go b/pkg/sdn/apis/network/install/apigroup.go deleted file mode 100644 index 8f0790718bbb..000000000000 --- a/pkg/sdn/apis/network/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - sdnapi "github.com/openshift/origin/pkg/sdn/apis/network" - sdnapiv1 "github.com/openshift/origin/pkg/sdn/apis/network/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: sdnapi.GroupName, - VersionPreferenceOrder: []string{sdnapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: sdnapi.AddToScheme, - RootScopedKinds: sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace"), - }, - announced.VersionToSchemeFunc{ - sdnapiv1.SchemeGroupVersion.Version: sdnapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/sdn/apis/network/install/install.go b/pkg/sdn/apis/network/install/install.go index f33a4e4a9d53..8679a267c49f 100644 --- a/pkg/sdn/apis/network/install/install.go +++ b/pkg/sdn/apis/network/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" sdnapi "github.com/openshift/origin/pkg/sdn/apis/network" sdnapiv1 "github.com/openshift/origin/pkg/sdn/apis/network/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/sdn/apis/network" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{sdnapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", sdnapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(sdnapi.GroupName, sdnapi.AddToSchemeInCoreGroup, sdnapiv1.AddToSchemeInCoreGroup, + sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - sdnapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case sdnapiv1.LegacySchemeGroupVersion: - sdnapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case sdnapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(sdnapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: sdnapi.GroupName, + VersionPreferenceOrder: []string{sdnapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: sdnapi.AddToScheme, + RootScopedKinds: sets.NewString("ClusterNetwork", "HostSubnet", "NetNamespace"), + }, + announced.VersionToSchemeFunc{ + sdnapiv1.SchemeGroupVersion.Version: sdnapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/security/apis/security/install/apigroup.go b/pkg/security/apis/security/install/apigroup.go deleted file mode 100644 index 9939ecde37cb..000000000000 --- a/pkg/security/apis/security/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - securityapi "github.com/openshift/origin/pkg/security/apis/security" - securityapiv1 "github.com/openshift/origin/pkg/security/apis/security/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: securityapi.GroupName, - VersionPreferenceOrder: []string{securityapiv1.SchemeGroupVersion.Version}, - RootScopedKinds: sets.NewString("SecurityContextConstraints"), - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: securityapi.AddToScheme, - }, - announced.VersionToSchemeFunc{ - securityapiv1.SchemeGroupVersion.Version: securityapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/security/apis/security/install/install.go b/pkg/security/apis/security/install/install.go index a9361dcb29b8..2faf9387b71f 100644 --- a/pkg/security/apis/security/install/install.go +++ b/pkg/security/apis/security/install/install.go @@ -1,116 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" "k8s.io/apimachinery/pkg/apimachinery/announced" "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" securityapi "github.com/openshift/origin/pkg/security/apis/security" securityapiv1 "github.com/openshift/origin/pkg/security/apis/security/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/security/apis/security" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{securityapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", securityapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(kapi.Registry, kapi.Scheme, externalVersions); err != nil { - panic(err) - } - - installApiGroup() -} - -func InstallIntoDeprecatedV1(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - enableVersions(registry, scheme, []schema.GroupVersion{securityapiv1.LegacySchemeGroupVersion}) -} - -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(registry *registered.APIRegistrationManager, scheme *runtime.Scheme, externalVersions []schema.GroupVersion) error { - addVersionsToScheme(registry, scheme, externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(registry, scheme, externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor(registry, scheme), - } - - if err := registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(securityapi.GroupName, securityapi.AddToSchemeInCoreGroup, securityapiv1.AddToSchemeInCoreGroup, + sets.NewString("SecurityContextConstraints"), + kapi.Registry, kapi.Scheme, + ) } -func addVersionsToScheme(registry *registered.APIRegistrationManager, scheme *runtime.Scheme, externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - securityapi.AddToSchemeInCoreGroup(scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case securityapiv1.LegacySchemeGroupVersion: - securityapiv1.AddToSchemeInCoreGroup(scheme) - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(registry *registered.APIRegistrationManager, scheme *runtime.Scheme, externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("SecurityContextConstraints") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor(registry, scheme), importPrefix, ignoredKinds, rootScoped, scheme) -} - -func interfacesFor(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - return func(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case securityapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := registry.Group(securityapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) - } +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: securityapi.GroupName, + VersionPreferenceOrder: []string{securityapiv1.SchemeGroupVersion.Version}, + RootScopedKinds: sets.NewString("SecurityContextConstraints"), + AddInternalObjectsToScheme: securityapi.AddToScheme, + }, + announced.VersionToSchemeFunc{ + securityapiv1.SchemeGroupVersion.Version: securityapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/security/legacyclient/scc.go b/pkg/security/legacyclient/scc.go index 54bf2cf4a5ef..96ad02ba3775 100644 --- a/pkg/security/legacyclient/scc.go +++ b/pkg/security/legacyclient/scc.go @@ -11,17 +11,17 @@ import ( oclient "github.com/openshift/origin/pkg/client" securityapi "github.com/openshift/origin/pkg/security/apis/security" - securityapiinstall "github.com/openshift/origin/pkg/security/apis/security/install" securityapiv1 "github.com/openshift/origin/pkg/security/apis/security/v1" ) // if this is being used, we need to be sure that the core API client has our types in the scheme func init() { - securityapiinstall.InstallIntoDeprecatedV1(internalclientscheme.GroupFactoryRegistry, internalclientscheme.Registry, internalclientscheme.Scheme) + securityapi.AddToSchemeInCoreGroup(internalclientscheme.Scheme) securityapi.AddToSchemeInCoreGroup(externalclientscheme.Scheme) securityapi.AddToSchemeInCoreGroup(clientgoscheme.Scheme) securityapiv1.AddToSchemeInCoreGroup(externalclientscheme.Scheme) securityapiv1.AddToSchemeInCoreGroup(clientgoscheme.Scheme) + securityapiv1.AddToSchemeInCoreGroup(internalclientscheme.Scheme) } // New creates a legacy client for SCC access. This only exists for `oc` compatibility with old servers diff --git a/pkg/template/apis/template/install/apigroup.go b/pkg/template/apis/template/install/apigroup.go deleted file mode 100644 index 8e3e5edfa20b..000000000000 --- a/pkg/template/apis/template/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - templateapi "github.com/openshift/origin/pkg/template/apis/template" - templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: templateapi.GroupName, - VersionPreferenceOrder: []string{templateapiv1.LegacySchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: templateapi.AddToScheme, - RootScopedKinds: sets.NewString("BrokerTemplateInstance"), - }, - announced.VersionToSchemeFunc{ - templateapiv1.LegacySchemeGroupVersion.Version: templateapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/template/apis/template/install/install.go b/pkg/template/apis/template/install/install.go index 17cd0de55296..a16f8f334f06 100644 --- a/pkg/template/apis/template/install/install.go +++ b/pkg/template/apis/template/install/install.go @@ -1,113 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" templateapi "github.com/openshift/origin/pkg/template/apis/template" templateapiv1 "github.com/openshift/origin/pkg/template/apis/template/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/template/apis/template" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{templateapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", templateapi.LegacyGroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() -} - -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - templateapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case templateapiv1.LegacySchemeGroupVersion: - templateapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(templateapi.GroupName, templateapi.AddToSchemeInCoreGroup, templateapiv1.AddToSchemeInCoreGroup, + sets.NewString("BrokerTemplateInstance"), + kapi.Registry, kapi.Scheme, + ) } -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - worstToBestGroupVersions := []schema.GroupVersion{} - for i := len(externalVersions) - 1; i >= 0; i-- { - worstToBestGroupVersions = append(worstToBestGroupVersions, externalVersions[i]) - } - rootScoped := sets.NewString("BrokerTemplateInstance") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case templateapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(templateapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: templateapi.GroupName, + VersionPreferenceOrder: []string{templateapiv1.LegacySchemeGroupVersion.Version}, + AddInternalObjectsToScheme: templateapi.AddToScheme, + RootScopedKinds: sets.NewString("BrokerTemplateInstance"), + }, + announced.VersionToSchemeFunc{ + templateapiv1.LegacySchemeGroupVersion.Version: templateapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/pkg/user/apis/user/install/apigroup.go b/pkg/user/apis/user/install/apigroup.go deleted file mode 100644 index cebcebfe17d9..000000000000 --- a/pkg/user/apis/user/install/apigroup.go +++ /dev/null @@ -1,34 +0,0 @@ -package install - -import ( - "k8s.io/apimachinery/pkg/apimachinery/announced" - "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/sets" - kapi "k8s.io/kubernetes/pkg/api" - - userapi "github.com/openshift/origin/pkg/user/apis/user" - userapiv1 "github.com/openshift/origin/pkg/user/apis/user/v1" -) - -func installApiGroup() { - Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { - if err := announced.NewGroupMetaFactory( - &announced.GroupMetaFactoryArgs{ - GroupName: userapi.GroupName, - VersionPreferenceOrder: []string{userapiv1.SchemeGroupVersion.Version}, - ImportPrefix: importPrefix, - AddInternalObjectsToScheme: userapi.AddToScheme, - RootScopedKinds: sets.NewString("User", "Identity", "UserIdentityMapping", "Group"), - }, - announced.VersionToSchemeFunc{ - userapiv1.SchemeGroupVersion.Version: userapiv1.AddToScheme, - }, - ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { - panic(err) - } -} diff --git a/pkg/user/apis/user/install/install.go b/pkg/user/apis/user/install/install.go index f93e6256e11b..e9982842b758 100644 --- a/pkg/user/apis/user/install/install.go +++ b/pkg/user/apis/user/install/install.go @@ -1,109 +1,38 @@ package install import ( - "fmt" - - "github.com/golang/glog" - - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/announced" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" kapi "k8s.io/kubernetes/pkg/api" + "github.com/openshift/origin/pkg/api/legacy" userapi "github.com/openshift/origin/pkg/user/apis/user" userapiv1 "github.com/openshift/origin/pkg/user/apis/user/v1" ) -const importPrefix = "github.com/openshift/origin/pkg/user/apis/user" - -var accessor = meta.NewAccessor() - -// availableVersions lists all known external versions for this group from most preferred to least preferred -var availableVersions = []schema.GroupVersion{userapiv1.LegacySchemeGroupVersion} - func init() { - kapi.Registry.RegisterVersions(availableVersions) - externalVersions := []schema.GroupVersion{} - for _, v := range availableVersions { - if kapi.Registry.IsAllowedVersion(v) { - externalVersions = append(externalVersions, v) - } - } - if len(externalVersions) == 0 { - glog.Infof("No version is registered for group %v", userapi.GroupName) - return - } - - if err := kapi.Registry.EnableVersions(externalVersions...); err != nil { - panic(err) - } - if err := enableVersions(externalVersions); err != nil { - panic(err) - } - - installApiGroup() + Install(kapi.GroupFactoryRegistry, kapi.Registry, kapi.Scheme) + legacy.InstallLegacy(userapi.GroupName, userapi.AddToSchemeInCoreGroup, userapiv1.AddToSchemeInCoreGroup, + sets.NewString("User", "Identity", "UserIdentityMapping", "Group"), + kapi.Registry, kapi.Scheme, + ) } -// TODO: enableVersions should be centralized rather than spread in each API -// group. -// We can combine kapi.Registry.RegisterVersions, kapi.Registry.EnableVersions and -// kapi.Registry.RegisterGroup once we have moved enableVersions there. -func enableVersions(externalVersions []schema.GroupVersion) error { - addVersionsToScheme(externalVersions...) - preferredExternalVersion := externalVersions[0] - - groupMeta := apimachinery.GroupMeta{ - GroupVersion: preferredExternalVersion, - GroupVersions: externalVersions, - RESTMapper: newRESTMapper(externalVersions), - SelfLinker: runtime.SelfLinker(accessor), - InterfacesFor: interfacesFor, - } - - if err := kapi.Registry.RegisterGroup(groupMeta); err != nil { - return err - } - return nil -} - -func addVersionsToScheme(externalVersions ...schema.GroupVersion) { - // add the internal version to Scheme - userapi.AddToSchemeInCoreGroup(kapi.Scheme) - // add the enabled external versions to Scheme - for _, v := range externalVersions { - if !kapi.Registry.IsEnabledVersion(v) { - glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v) - continue - } - switch v { - case userapiv1.LegacySchemeGroupVersion: - userapiv1.AddToSchemeInCoreGroup(kapi.Scheme) - - default: - glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v) - continue - } - } -} - -func newRESTMapper(externalVersions []schema.GroupVersion) meta.RESTMapper { - rootScoped := sets.NewString("User", "Identity", "UserIdentityMapping", "Group") - ignoredKinds := sets.NewString() - return meta.NewDefaultRESTMapperFromScheme(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped, kapi.Scheme) -} - -func interfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { - switch version { - case userapiv1.LegacySchemeGroupVersion: - return &meta.VersionInterfaces{ - ObjectConvertor: kapi.Scheme, - MetadataAccessor: accessor, - }, nil - - default: - g, _ := kapi.Registry.Group(userapi.LegacyGroupName) - return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions) +// Install registers the API group and adds types to a scheme +func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { + if err := announced.NewGroupMetaFactory( + &announced.GroupMetaFactoryArgs{ + GroupName: userapi.GroupName, + VersionPreferenceOrder: []string{userapiv1.SchemeGroupVersion.Version}, + AddInternalObjectsToScheme: userapi.AddToScheme, + RootScopedKinds: sets.NewString("User", "Identity", "UserIdentityMapping", "Group"), + }, + announced.VersionToSchemeFunc{ + userapiv1.SchemeGroupVersion.Version: userapiv1.AddToScheme, + }, + ).Announce(groupFactoryRegistry).RegisterAndEnable(registry, scheme); err != nil { + panic(err) } } diff --git a/test/integration/etcd_storage_path_test.go b/test/integration/etcd_storage_path_test.go index 1d6c710c87b1..9a9fef01b5ff 100644 --- a/test/integration/etcd_storage_path_test.go +++ b/test/integration/etcd_storage_path_test.go @@ -806,7 +806,7 @@ var ephemeralWhiteList = createEphemeralWhiteList( // -- ) -// Only add kinds to this list when there is no mapping from GVK to GVR (and thus there is no way to create the object) +// Only add kinds to this list when there is no way to create the object var kindWhiteList = sets.NewString( // k8s.io/apimachinery/pkg/apis/meta/v1 "APIVersions", @@ -942,14 +942,14 @@ func testEtcdStoragePath(t *testing.T, etcdServer *etcdtest.EtcdTestServer, gett kind := gvk.Kind pkgPath := apiType.PkgPath() + if kindWhiteList.Has(kind) { + kindSeen.Insert(kind) + continue + } + mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version) if err != nil { - kindSeen.Insert(kind) - if kindWhiteList.Has(kind) { - // t.Logf("skipping test for %s from %s because its GVK %s is whitelisted and has no mapping", kind, pkgPath, gvk) - } else { - t.Errorf("no mapping found for %s from %s but its GVK %s is not whitelisted", kind, pkgPath, gvk) - } + t.Errorf("unexpected error getting mapping for %s from %s with GVK %s: %v", kind, pkgPath, gvk, err) continue } diff --git a/vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install/install.go b/vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install/install.go index 4e26b00e13d7..81f0174a703d 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install/install.go +++ b/vendor/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install/install.go @@ -35,7 +35,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: kubeadm.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm", AddInternalObjectsToScheme: kubeadm.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/federation/apis/core/install/install.go b/vendor/k8s.io/kubernetes/federation/apis/core/install/install.go index cde0a187b56d..ca250a4f4330 100644 --- a/vendor/k8s.io/kubernetes/federation/apis/core/install/install.go +++ b/vendor/k8s.io/kubernetes/federation/apis/core/install/install.go @@ -35,7 +35,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: core.GroupName, VersionPreferenceOrder: []string{corev1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/federation/apis/core", AddInternalObjectsToScheme: core.AddToScheme, RootScopedKinds: sets.NewString( "Namespace", diff --git a/vendor/k8s.io/kubernetes/federation/apis/federation/install/install.go b/vendor/k8s.io/kubernetes/federation/apis/federation/install/install.go index d64bc269b9a2..a4ceffdb1401 100644 --- a/vendor/k8s.io/kubernetes/federation/apis/federation/install/install.go +++ b/vendor/k8s.io/kubernetes/federation/apis/federation/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: federation.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/federation/apis/federation", AddInternalObjectsToScheme: federation.AddToScheme, RootScopedKinds: sets.NewString( "Cluster", diff --git a/vendor/k8s.io/kubernetes/pkg/api/install/install.go b/vendor/k8s.io/kubernetes/pkg/api/install/install.go index 53730940ae82..cd3879ccb6ad 100644 --- a/vendor/k8s.io/kubernetes/pkg/api/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/api/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: api.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/api", AddInternalObjectsToScheme: api.AddToScheme, RootScopedKinds: sets.NewString( "Node", diff --git a/vendor/k8s.io/kubernetes/pkg/apis/admission/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/admission/install/install.go index fca70e225e09..f0b0dcf79bdb 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/admission/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/admission/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: admission.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/admission", RootScopedKinds: sets.NewString("AdmissionReview"), AddInternalObjectsToScheme: admission.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/install/install.go index 28bc44c28a22..b2ff84b3e316 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/admissionregistration/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r GroupName: admissionregistration.GroupName, RootScopedKinds: sets.NewString("InitializerConfiguration", "ExternalAdmissionHookConfiguration"), VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/admissionregistration", AddInternalObjectsToScheme: admissionregistration.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/apps/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/apps/install/install.go index 344ddcbf7e1b..7b8b8d2b5e2e 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/apps/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/apps/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: apps.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/apps", AddInternalObjectsToScheme: apps.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/authentication/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/authentication/install/install.go index 2fa00ec6b199..9f1c4d647910 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/authentication/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/authentication/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: authentication.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/authentication", RootScopedKinds: sets.NewString("TokenReview"), AddInternalObjectsToScheme: authentication.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/authorization/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/authorization/install/install.go index 1b82992f640b..bb9d882cd9f3 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/authorization/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/authorization/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: authorization.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/authorization", RootScopedKinds: sets.NewString("SubjectAccessReview", "SelfSubjectAccessReview"), AddInternalObjectsToScheme: authorization.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/autoscaling/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/autoscaling/install/install.go index 3625e246c94f..8be609526c30 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/autoscaling/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/autoscaling/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: autoscaling.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v2alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/autoscaling", AddInternalObjectsToScheme: autoscaling.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/batch/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/batch/install/install.go index 21a3f03f8cea..7ac83cd5659f 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/batch/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/batch/install/install.go @@ -41,7 +41,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: batch.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v2alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/batch", AddInternalObjectsToScheme: batch.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/certificates/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/certificates/install/install.go index 73844eeb6ffd..34da4b93f3b0 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/certificates/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/certificates/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: certificates.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/certificates", RootScopedKinds: sets.NewString("CertificateSigningRequest"), AddInternalObjectsToScheme: certificates.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/componentconfig/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/componentconfig/install/install.go index 1d0c51914ce5..53b95f6a5315 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/componentconfig/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/componentconfig/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: componentconfig.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/componentconfig", AddInternalObjectsToScheme: componentconfig.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/extensions/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/extensions/install/install.go index 53f870dda2e0..7e8cc9c21692 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/extensions/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/extensions/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: extensions.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/extensions", RootScopedKinds: sets.NewString("PodSecurityPolicy", "ThirdPartyResource"), AddInternalObjectsToScheme: extensions.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/imagepolicy/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/imagepolicy/install/install.go index 2e8b28cbc4ee..cf03fd483c25 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/imagepolicy/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/imagepolicy/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: imagepolicy.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/imagepolicy", RootScopedKinds: sets.NewString("ImageReview"), AddInternalObjectsToScheme: imagepolicy.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/networking/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/networking/install/install.go index 1d118c768047..85c7991bcf00 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/networking/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/networking/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: networking.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/networking", AddInternalObjectsToScheme: networking.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/policy/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/policy/install/install.go index 76129575ce95..cf133df6b6ba 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/policy/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/policy/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: policy.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/policy", AddInternalObjectsToScheme: policy.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/rbac/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/rbac/install/install.go index 36067ed14851..ee2d4705f969 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/rbac/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/rbac/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: rbac.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version, v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/rbac", RootScopedKinds: sets.NewString("ClusterRole", "ClusterRoleBinding"), AddInternalObjectsToScheme: rbac.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/pkg/apis/settings/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/settings/install/install.go index 105a78d8648c..fdaf7d2c37e5 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/settings/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/settings/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: settings.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/settings", AddInternalObjectsToScheme: settings.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/pkg/apis/storage/install/install.go b/vendor/k8s.io/kubernetes/pkg/apis/storage/install/install.go index 7b09a34d2335..6c645feb634b 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/storage/install/install.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/storage/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: storage.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/pkg/apis/storage", RootScopedKinds: sets.NewString("StorageClass"), AddInternalObjectsToScheme: storage.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install/install.go b/vendor/k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install/install.go index 5af1c72e7ece..bc4336a43968 100644 --- a/vendor/k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install/install.go +++ b/vendor/k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: internalapi.GroupName, VersionPreferenceOrder: []string{versionedapi.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction", AddInternalObjectsToScheme: internalapi.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/install.go b/vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/install.go index 048d40749a49..aa28431ece76 100644 --- a/vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/install.go +++ b/vendor/k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: resourcequotaapi.GroupName, VersionPreferenceOrder: []string{resourcequotav1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota", AddInternalObjectsToScheme: resourcequotaapi.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go index 80157c8003b2..25cee84d2dcf 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r GroupName: apiextensions.GroupName, RootScopedKinds: sets.NewString("CustomResourceDefinition"), VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/apiextensions-apiserver/pkg/apis/apiextension", AddInternalObjectsToScheme: apiextensions.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go index 5ea906a2a723..d5563da88375 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go @@ -17,8 +17,6 @@ limitations under the License. package meta import ( - "strings" - "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" @@ -26,18 +24,15 @@ import ( // NewDefaultRESTMapperFromScheme instantiates a DefaultRESTMapper based on types registered in the given scheme. func NewDefaultRESTMapperFromScheme(defaultGroupVersions []schema.GroupVersion, interfacesFunc VersionInterfacesFunc, - importPathPrefix string, ignoredKinds, rootScoped sets.String, scheme *runtime.Scheme) *DefaultRESTMapper { + ignoredKinds, rootScoped sets.String, scheme *runtime.Scheme) *DefaultRESTMapper { mapper := NewDefaultRESTMapper(defaultGroupVersions, interfacesFunc) // enumerate all supported versions, get the kinds, and register with the mapper how to address // our resources. for _, gv := range defaultGroupVersions { - for kind, oType := range scheme.KnownTypes(gv) { + for kind := range scheme.KnownTypes(gv) { gvk := gv.WithKind(kind) - // TODO: Remove import path check. - // We check the import path because we currently stuff both "api" and "extensions" objects - // into the same group within Scheme since Scheme has no notion of groups yet. - if !strings.Contains(oType.PkgPath(), importPathPrefix) || ignoredKinds.Has(kind) { + if ignoredKinds.Has(kind) { continue } scope := RESTScopeNamespace diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/announced_test.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/announced_test.go index 9c2765bdb871..95882e5df55f 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/announced_test.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/announced_test.go @@ -30,7 +30,6 @@ func TestFactoryRegistry(t *testing.T) { if err := regA.AnnounceGroup(&GroupMetaFactoryArgs{ GroupName: "foo", VersionPreferenceOrder: []string{"v2", "v1"}, - ImportPrefix: "pkg/apis/foo", RootScopedKinds: sets.NewString("namespaces"), }); err != nil { t.Fatalf("Unexpected error: %v", err) @@ -52,7 +51,6 @@ func TestFactoryRegistry(t *testing.T) { &GroupMetaFactoryArgs{ GroupName: "foo", VersionPreferenceOrder: []string{"v2", "v1"}, - ImportPrefix: "pkg/apis/foo", RootScopedKinds: sets.NewString("namespaces"), }, VersionToSchemeFunc{"v1": nil, "v2": nil}, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go index c469eebcd236..5fd3e48bd5c7 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go @@ -47,10 +47,6 @@ type GroupMetaFactoryArgs struct { // example: 'servicecatalog.k8s.io' GroupName string VersionPreferenceOrder []string - // ImportPrefix is the base go package of the API-Group - // - // example: 'k8s.io/kubernetes/pkg/apis/autoscaling' - ImportPrefix string // RootScopedKinds are resources that are not namespaced. RootScopedKinds sets.String // nil is allowed IgnoredKinds sets.String // nil is allowed @@ -179,7 +175,6 @@ func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersi return meta.NewDefaultRESTMapperFromScheme( externalVersions, groupMeta.InterfacesFor, - gmf.GroupArgs.ImportPrefix, ignoredKinds, rootScoped, scheme, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/install/install.go index aefb8032b11d..ce52be0a222f 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/apiserver/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r GroupName: apiserver.GroupName, RootScopedKinds: sets.NewString("APIService"), VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/apiserver/pkg/apis/apiserver", AddInternalObjectsToScheme: apiserver.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/audit/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/audit/install/install.go index 141a6508425c..fe6489354663 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/audit/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/audit/install/install.go @@ -33,7 +33,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: audit.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/apiserver/pkg/apis/audit", // Any Kind that is not namespaced must be cluster scoped. RootScopedKinds: sets.NewString("Event", "Policy"), AddInternalObjectsToScheme: audit.AddToScheme, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/install/install.go index 7b490d07eb41..e44a29e5a9c8 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/apis/example/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: example.GroupName, VersionPreferenceOrder: []string{examplev1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/apiserver/pkg/apis/example", AddInternalObjectsToScheme: example.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go index b8aed64c1f8e..98772750c7d8 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go @@ -167,7 +167,7 @@ func TestInstallAPIGroups(t *testing.T) { }, nil } - mapper := meta.NewDefaultRESTMapperFromScheme([]schema.GroupVersion{gv}, interfacesFor, "", sets.NewString(), sets.NewString(), scheme) + mapper := meta.NewDefaultRESTMapperFromScheme([]schema.GroupVersion{gv}, interfacesFor, sets.NewString(), sets.NewString(), scheme) groupMeta := apimachinery.GroupMeta{ GroupVersion: gv, GroupVersions: []schema.GroupVersion{gv}, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/install/install.go index 1b9553b706f3..e6280c659e4e 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/api/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: api.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/api", AddInternalObjectsToScheme: api.AddToScheme, RootScopedKinds: sets.NewString( "Node", diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/apps/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/apps/install/install.go index ca50f3ea44fd..18cc3c3aa11e 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/apps/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/apps/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: apps.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/apps", AddInternalObjectsToScheme: apps.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/install/install.go index b8a9521a6b7b..661226b26d09 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authentication/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: authentication.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/authentication", RootScopedKinds: sets.NewString("TokenReview"), AddInternalObjectsToScheme: authentication.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/install/install.go index 33eee6618c6e..bdbb458d8791 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/authorization/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: authorization.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/authorization", RootScopedKinds: sets.NewString("SubjectAccessReview", "SelfSubjectAccessReview"), AddInternalObjectsToScheme: authorization.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/install/install.go index 0ecc0af9b7be..be6c29c93e62 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/autoscaling/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: autoscaling.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v2alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/autoscaling", AddInternalObjectsToScheme: autoscaling.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/batch/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/batch/install/install.go index d37f31820df8..a9dfc6734134 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/batch/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/batch/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: batch.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v2alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/batch", AddInternalObjectsToScheme: batch.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/certificates/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/certificates/install/install.go index 8850e07aa00d..38ae758197d7 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/certificates/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/certificates/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: certificates.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/certificates", RootScopedKinds: sets.NewString("CertificateSigningRequest"), AddInternalObjectsToScheme: certificates.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/extensions/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/extensions/install/install.go index 1f968e861c68..7b08daf4e549 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/extensions/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/extensions/install/install.go @@ -38,7 +38,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: extensions.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/extensions", RootScopedKinds: sets.NewString("PodSecurityPolicy", "ThirdPartyResource"), AddInternalObjectsToScheme: extensions.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/policy/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/policy/install/install.go index 6253d5bc295c..6cd350f14230 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/policy/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/policy/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: policy.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/policy", AddInternalObjectsToScheme: policy.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/rbac/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/rbac/install/install.go index f92c11e06c11..3ac0b973a5b3 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/rbac/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/rbac/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: rbac.GroupName, VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version, v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/rbac", RootScopedKinds: sets.NewString("ClusterRole", "ClusterRoleBinding"), AddInternalObjectsToScheme: rbac.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/install/install.go index ccdc70400a20..ef9c87c8186c 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/settings/install/install.go @@ -37,7 +37,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: settings.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/settings", AddInternalObjectsToScheme: settings.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/install/install.go index 4608a54ea701..472ffae332e5 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/client-go/pkg/apis/storage/install/install.go @@ -39,7 +39,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: storage.GroupName, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version, v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/client-go/pkg/apis/storage", RootScopedKinds: sets.NewString("StorageClass"), AddInternalObjectsToScheme: storage.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/install/install.go index 6cb769431ad2..ee6ff4644552 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r GroupName: apiregistration.GroupName, RootScopedKinds: sets.NewString("APIService"), VersionPreferenceOrder: []string{v1beta1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kube-aggregator/pkg/apis/apiregistration", AddInternalObjectsToScheme: apiregistration.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-gen/cmd/client-gen/test_apis/testgroup/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-gen/cmd/client-gen/test_apis/testgroup/install/install.go index 3a6e00d6ccfe..3e5163cf1ed3 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-gen/cmd/client-gen/test_apis/testgroup/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/kube-gen/cmd/client-gen/test_apis/testgroup/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: testgroup.SchemeGroupVersion.Group, VersionPreferenceOrder: []string{v1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/kube-gen/cmd/client-gen/test_apis/testgroup", AddInternalObjectsToScheme: testgroup.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/custom_metrics/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/custom_metrics/install/install.go index 1f325e16f7d6..e7ef5bbfcf16 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/custom_metrics/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/custom_metrics/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: custom_metrics.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/metrics/pkg/apis/custom_metrics", AddInternalObjectsToScheme: custom_metrics.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/metrics/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/metrics/install/install.go index 823be25ffd93..d82ce77a54ac 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/metrics/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/metrics/pkg/apis/metrics/install/install.go @@ -33,7 +33,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r &announced.GroupMetaFactoryArgs{ GroupName: metrics.GroupName, VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/metrics/pkg/apis/metrics", RootScopedKinds: sets.NewString("NodeMetrics"), AddInternalObjectsToScheme: metrics.AddToScheme, }, diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install.go index 74a961939ae4..882fa44355c6 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/install/install.go @@ -32,7 +32,6 @@ func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *r GroupName: wardle.GroupName, RootScopedKinds: sets.NewString("APIService"), VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version}, - ImportPrefix: "k8s.io/sample-apiserver/pkg/apis/wardle", AddInternalObjectsToScheme: wardle.AddToScheme, }, announced.VersionToSchemeFunc{ diff --git a/vendor/k8s.io/kubernetes/test/integration/etcd/etcd_storage_path_test.go b/vendor/k8s.io/kubernetes/test/integration/etcd/etcd_storage_path_test.go index e3c1efd0c592..2dca2d2ed5b3 100644 --- a/vendor/k8s.io/kubernetes/test/integration/etcd/etcd_storage_path_test.go +++ b/vendor/k8s.io/kubernetes/test/integration/etcd/etcd_storage_path_test.go @@ -387,7 +387,7 @@ var ephemeralWhiteList = createEphemeralWhiteList( // -- ) -// Only add kinds to this list when there is no mapping from GVK to GVR (and thus there is no way to create the object) +// Only add kinds to this list when there is no way to create the object var kindWhiteList = sets.NewString( // k8s.io/kubernetes/pkg/api/v1 "DeleteOptions", @@ -445,14 +445,14 @@ func TestEtcdStoragePath(t *testing.T) { kind := gvk.Kind pkgPath := apiType.PkgPath() + if kindWhiteList.Has(kind) { + kindSeen.Insert(kind) + continue + } + mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version) if err != nil { - kindSeen.Insert(kind) - if kindWhiteList.Has(kind) { - // t.Logf("skipping test for %s from %s because its GVK %s is whitelisted and has no mapping", kind, pkgPath, gvk) - } else { - t.Errorf("no mapping found for %s from %s but its GVK %s is not whitelisted", kind, pkgPath, gvk) - } + t.Errorf("unexpected error getting mapping for %s from %s with GVK %s: %v", kind, pkgPath, gvk, err) continue }