| ... | ... |
@@ -407,14 +407,12 @@ func (o CreateNodeConfigOptions) MakeNodeConfig(serverCertFile, serverKeyFile, n |
| 407 | 407 |
return err |
| 408 | 408 |
} |
| 409 | 409 |
|
| 410 |
- groupMeta := registered.GroupOrDie(configapi.GroupName) |
|
| 411 |
- |
|
| 412 | 410 |
// Roundtrip the config to v1 and back to ensure proper defaults are set. |
| 413 |
- ext, err := kapi.Scheme.ConvertToVersion(config, groupMeta.GroupVersions[0].String()) |
|
| 411 |
+ ext, err := configapi.Scheme.ConvertToVersion(config, latestconfigapi.Version.String()) |
|
| 414 | 412 |
if err != nil {
|
| 415 | 413 |
return err |
| 416 | 414 |
} |
| 417 |
- internal, err := kapi.Scheme.ConvertToVersion(ext, configapi.SchemeGroupVersion.String()) |
|
| 415 |
+ internal, err := configapi.Scheme.ConvertToVersion(ext, configapi.SchemeGroupVersion.String()) |
|
| 418 | 416 |
if err != nil {
|
| 419 | 417 |
return err |
| 420 | 418 |
} |
| ... | ... |
@@ -434,7 +432,7 @@ func (o CreateNodeConfigOptions) MakeNodeJSON(nodeJSONFile string) error {
|
| 434 | 434 |
node := &kapi.Node{}
|
| 435 | 435 |
node.Name = o.NodeName |
| 436 | 436 |
|
| 437 |
- groupMeta := registered.GroupOrDie(configapi.GroupName) |
|
| 437 |
+ groupMeta := registered.GroupOrDie(kapi.GroupName) |
|
| 438 | 438 |
|
| 439 | 439 |
json, err := runtime.Encode(kapi.Codecs.LegacyCodec(groupMeta.GroupVersions[0]), node) |
| 440 | 440 |
if err != nil {
|
| ... | ... |
@@ -1,17 +1,10 @@ |
| 1 | 1 |
package install |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- "fmt" |
|
| 5 |
- |
|
| 6 | 4 |
"github.com/golang/glog" |
| 7 | 5 |
|
| 8 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 9 | 6 |
"k8s.io/kubernetes/pkg/api/meta" |
| 10 | 7 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 11 |
- "k8s.io/kubernetes/pkg/apimachinery" |
|
| 12 |
- "k8s.io/kubernetes/pkg/apimachinery/registered" |
|
| 13 |
- "k8s.io/kubernetes/pkg/runtime" |
|
| 14 |
- "k8s.io/kubernetes/pkg/util/sets" |
|
| 15 | 8 |
|
| 16 | 9 |
"github.com/openshift/origin/pkg/cmd/server/api" |
| 17 | 10 |
"github.com/openshift/origin/pkg/cmd/server/api/v1" |
| ... | ... |
@@ -25,22 +18,7 @@ var accessor = meta.NewAccessor() |
| 25 | 25 |
var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion}
|
| 26 | 26 |
|
| 27 | 27 |
func init() {
|
| 28 |
- registered.RegisterVersions(availableVersions) |
|
| 29 |
- externalVersions := []unversioned.GroupVersion{}
|
|
| 30 |
- for _, v := range availableVersions {
|
|
| 31 |
- if registered.IsAllowedVersion(v) {
|
|
| 32 |
- externalVersions = append(externalVersions, v) |
|
| 33 |
- } |
|
| 34 |
- } |
|
| 35 |
- if len(externalVersions) == 0 {
|
|
| 36 |
- glog.Infof("No version is registered for group %v", api.GroupName)
|
|
| 37 |
- return |
|
| 38 |
- } |
|
| 39 |
- |
|
| 40 |
- if err := registered.EnableVersions(externalVersions...); err != nil {
|
|
| 41 |
- panic(err) |
|
| 42 |
- } |
|
| 43 |
- if err := enableVersions(externalVersions); err != nil {
|
|
| 28 |
+ if err := enableVersions(availableVersions); err != nil {
|
|
| 44 | 29 |
panic(err) |
| 45 | 30 |
} |
| 46 | 31 |
} |
| ... | ... |
@@ -51,35 +29,17 @@ func init() {
|
| 51 | 51 |
// registered.RegisterGroup once we have moved enableVersions there. |
| 52 | 52 |
func enableVersions(externalVersions []unversioned.GroupVersion) error {
|
| 53 | 53 |
addVersionsToScheme(externalVersions...) |
| 54 |
- preferredExternalVersion := externalVersions[0] |
|
| 55 |
- |
|
| 56 |
- groupMeta := apimachinery.GroupMeta{
|
|
| 57 |
- GroupVersion: preferredExternalVersion, |
|
| 58 |
- GroupVersions: externalVersions, |
|
| 59 |
- RESTMapper: newRESTMapper(externalVersions), |
|
| 60 |
- SelfLinker: runtime.SelfLinker(accessor), |
|
| 61 |
- InterfacesFor: interfacesFor, |
|
| 62 |
- } |
|
| 63 |
- |
|
| 64 |
- if err := registered.RegisterGroup(groupMeta); err != nil {
|
|
| 65 |
- return err |
|
| 66 |
- } |
|
| 67 |
- kapi.RegisterRESTMapper(groupMeta.RESTMapper) |
|
| 68 | 54 |
return nil |
| 69 | 55 |
} |
| 70 | 56 |
|
| 71 | 57 |
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
|
| 72 | 58 |
// add the internal version to Scheme |
| 73 |
- api.AddToScheme(kapi.Scheme) |
|
| 59 |
+ api.AddToScheme(api.Scheme) |
|
| 74 | 60 |
// add the enabled external versions to Scheme |
| 75 | 61 |
for _, v := range externalVersions {
|
| 76 |
- if !registered.IsEnabledVersion(v) {
|
|
| 77 |
- glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v)
|
|
| 78 |
- continue |
|
| 79 |
- } |
|
| 80 | 62 |
switch v {
|
| 81 | 63 |
case v1.SchemeGroupVersion: |
| 82 |
- v1.AddToScheme(kapi.Scheme) |
|
| 64 |
+ v1.AddToScheme(api.Scheme) |
|
| 83 | 65 |
|
| 84 | 66 |
default: |
| 85 | 67 |
glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v)
|
| ... | ... |
@@ -87,23 +47,3 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
|
| 87 | 87 |
} |
| 88 | 88 |
} |
| 89 | 89 |
} |
| 90 |
- |
|
| 91 |
-func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper {
|
|
| 92 |
- rootScoped := sets.NewString() |
|
| 93 |
- ignoredKinds := sets.NewString() |
|
| 94 |
- return kapi.NewDefaultRESTMapper(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped) |
|
| 95 |
-} |
|
| 96 |
- |
|
| 97 |
-func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) {
|
|
| 98 |
- switch version {
|
|
| 99 |
- case v1.SchemeGroupVersion: |
|
| 100 |
- return &meta.VersionInterfaces{
|
|
| 101 |
- ObjectConvertor: kapi.Scheme, |
|
| 102 |
- MetadataAccessor: accessor, |
|
| 103 |
- }, nil |
|
| 104 |
- |
|
| 105 |
- default: |
|
| 106 |
- g, _ := registered.Group(api.GroupName) |
|
| 107 |
- return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions)
|
|
| 108 |
- } |
|
| 109 |
-} |
| ... | ... |
@@ -8,12 +8,10 @@ import ( |
| 8 | 8 |
|
| 9 | 9 |
"github.com/ghodss/yaml" |
| 10 | 10 |
|
| 11 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 12 | 11 |
"k8s.io/kubernetes/pkg/runtime" |
| 13 | 12 |
kyaml "k8s.io/kubernetes/pkg/util/yaml" |
| 14 | 13 |
|
| 15 | 14 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| 16 |
- "github.com/openshift/origin/pkg/cmd/server/api/v1" |
|
| 17 | 15 |
) |
| 18 | 16 |
|
| 19 | 17 |
func ReadSessionSecrets(filename string) (*configapi.SessionSecrets, error) {
|
| ... | ... |
@@ -68,7 +66,7 @@ func ReadAndResolveNodeConfig(filename string) (*configapi.NodeConfig, error) {
|
| 68 | 68 |
|
| 69 | 69 |
// TODO: Remove this when a YAML serializer is available from upstream |
| 70 | 70 |
func WriteYAML(obj runtime.Object) ([]byte, error) {
|
| 71 |
- json, err := runtime.Encode(kapi.Codecs.LegacyCodec(v1.SchemeGroupVersion), obj) |
|
| 71 |
+ json, err := runtime.Encode(Codec, obj) |
|
| 72 | 72 |
if err != nil {
|
| 73 | 73 |
return nil, err |
| 74 | 74 |
} |
| ... | ... |
@@ -86,7 +84,7 @@ func ReadYAML(data []byte, obj runtime.Object) error {
|
| 86 | 86 |
if err != nil {
|
| 87 | 87 |
return err |
| 88 | 88 |
} |
| 89 |
- err = runtime.DecodeInto(kapi.Codecs.UniversalDecoder(), data, obj) |
|
| 89 |
+ err = runtime.DecodeInto(Codec, data, obj) |
|
| 90 | 90 |
return captureSurroundingJSONForError("error reading config: ", data, err)
|
| 91 | 91 |
} |
| 92 | 92 |
|
| ... | ... |
@@ -1,7 +1,12 @@ |
| 1 | 1 |
package latest |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ // kapi "k8s.io/kubernetes/pkg/api" |
|
| 5 |
+ // "k8s.io/kubernetes/pkg/api/meta" |
|
| 4 | 6 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 7 |
+ "k8s.io/kubernetes/pkg/runtime/serializer" |
|
| 8 |
+ |
|
| 9 |
+ configapi "github.com/openshift/origin/pkg/cmd/server/api" |
|
| 5 | 10 |
) |
| 6 | 11 |
|
| 7 | 12 |
// HACK TO ELIMINATE CYCLE UNTIL WE KILL THIS PACKAGE |
| ... | ... |
@@ -18,3 +23,45 @@ var OldestVersion = unversioned.GroupVersion{Group: "", Version: "v1"}
|
| 18 | 18 |
// choose to prefer the latter items in the list over the former items when presented |
| 19 | 19 |
// with a set of versions to choose. |
| 20 | 20 |
var Versions = []unversioned.GroupVersion{unversioned.GroupVersion{Group: "", Version: "v1"}}
|
| 21 |
+ |
|
| 22 |
+var Codec = serializer.NewCodecFactory(configapi.Scheme).LegacyCodec(unversioned.GroupVersion{Group: "", Version: "v1"})
|
|
| 23 |
+ |
|
| 24 |
+// func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) {
|
|
| 25 |
+// switch version {
|
|
| 26 |
+// case unversioned.GroupVersion{Group: "", Version: "v1"}:
|
|
| 27 |
+// return &meta.VersionInterfaces{
|
|
| 28 |
+// ObjectConvertor: kapi.Scheme, |
|
| 29 |
+// MetadataAccessor: accessor, |
|
| 30 |
+// }, nil |
|
| 31 |
+ |
|
| 32 |
+// default: |
|
| 33 |
+// return nil, fmt.Errorf("unsupported storage version: %s", version)
|
|
| 34 |
+// } |
|
| 35 |
+// } |
|
| 36 |
+ |
|
| 37 |
+// func NewRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper {
|
|
| 38 |
+// rootScoped := sets.NewString() |
|
| 39 |
+// ignoredKinds := sets.NewString() |
|
| 40 |
+ |
|
| 41 |
+// mapper := meta.NewDefaultRESTMapper(defaultGroupVersions, interfacesFunc) |
|
| 42 |
+// // enumerate all supported versions, get the kinds, and register with the mapper how to address |
|
| 43 |
+// // our resources. |
|
| 44 |
+// for _, gv := range defaultGroupVersions {
|
|
| 45 |
+// for kind, oType := range Scheme.KnownTypes(gv) {
|
|
| 46 |
+// gvk := gv.WithKind(kind) |
|
| 47 |
+// // TODO: Remove import path prefix check. |
|
| 48 |
+// // We check the import path prefix because we currently stuff both "api" and "extensions" objects |
|
| 49 |
+// // into the same group within Scheme since Scheme has no notion of groups yet. |
|
| 50 |
+// if !strings.HasPrefix(oType.PkgPath(), importPathPrefix) || ignoredKinds.Has(kind) {
|
|
| 51 |
+// continue |
|
| 52 |
+// } |
|
| 53 |
+// scope := meta.RESTScopeNamespace |
|
| 54 |
+// if rootScoped.Has(kind) {
|
|
| 55 |
+// scope = meta.RESTScopeRoot |
|
| 56 |
+// } |
|
| 57 |
+// mapper.Add(gvk, scope, false) |
|
| 58 |
+// } |
|
| 59 |
+// } |
|
| 60 |
+ |
|
| 61 |
+// return kapi.NewDefaultRESTMapper(Versions, interfacesFor, importPrefix, ignoredKinds, rootScoped) |
|
| 62 |
+// } |
| ... | ... |
@@ -1,12 +1,11 @@ |
| 1 | 1 |
package v1 |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 5 | 4 |
"k8s.io/kubernetes/pkg/conversion" |
| 6 | 5 |
"k8s.io/kubernetes/pkg/runtime" |
| 6 |
+ "k8s.io/kubernetes/pkg/runtime/serializer" |
|
| 7 | 7 |
"k8s.io/kubernetes/pkg/util/sets" |
| 8 | 8 |
|
| 9 |
- "github.com/openshift/origin/pkg/api" |
|
| 10 | 9 |
internal "github.com/openshift/origin/pkg/cmd/server/api" |
| 11 | 10 |
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" |
| 12 | 11 |
) |
| ... | ... |
@@ -260,7 +259,7 @@ func addConversionFuncs(scheme *runtime.Scheme) {
|
| 260 | 260 |
return nil |
| 261 | 261 |
}, |
| 262 | 262 |
func(in *internal.IdentityProvider, out *IdentityProvider, s conversion.Scope) error {
|
| 263 |
- if err := api.Convert_runtime_Object_To_runtime_RawExtension(in.Provider, &out.Provider, s); err != nil {
|
|
| 263 |
+ if err := convert_runtime_Object_To_runtime_RawExtension(in.Provider, &out.Provider, s); err != nil {
|
|
| 264 | 264 |
return err |
| 265 | 265 |
} |
| 266 | 266 |
out.Name = in.Name |
| ... | ... |
@@ -270,12 +269,12 @@ func addConversionFuncs(scheme *runtime.Scheme) {
|
| 270 | 270 |
return nil |
| 271 | 271 |
}, |
| 272 | 272 |
func(in *IdentityProvider, out *internal.IdentityProvider, s conversion.Scope) error {
|
| 273 |
- if err := api.Convert_runtime_RawExtension_To_runtime_Object(&in.Provider, out.Provider, s); err != nil {
|
|
| 273 |
+ if err := convert_runtime_RawExtension_To_runtime_Object(&in.Provider, out.Provider, s); err != nil {
|
|
| 274 | 274 |
return err |
| 275 | 275 |
} |
| 276 | 276 |
if in.Provider.Object != nil {
|
| 277 | 277 |
var err error |
| 278 |
- out.Provider, err = kapi.Scheme.ConvertToVersion(in.Provider.Object, internal.SchemeGroupVersion.String()) |
|
| 278 |
+ out.Provider, err = internal.Scheme.ConvertToVersion(in.Provider.Object, internal.SchemeGroupVersion.String()) |
|
| 279 | 279 |
if err != nil {
|
| 280 | 280 |
return err |
| 281 | 281 |
} |
| ... | ... |
@@ -287,19 +286,19 @@ func addConversionFuncs(scheme *runtime.Scheme) {
|
| 287 | 287 |
return nil |
| 288 | 288 |
}, |
| 289 | 289 |
func(in *internal.AdmissionPluginConfig, out *AdmissionPluginConfig, s conversion.Scope) error {
|
| 290 |
- if err := api.Convert_runtime_Object_To_runtime_RawExtension(in.Configuration, &out.Configuration, s); err != nil {
|
|
| 290 |
+ if err := convert_runtime_Object_To_runtime_RawExtension(in.Configuration, &out.Configuration, s); err != nil {
|
|
| 291 | 291 |
return err |
| 292 | 292 |
} |
| 293 | 293 |
out.Location = in.Location |
| 294 | 294 |
return nil |
| 295 | 295 |
}, |
| 296 | 296 |
func(in *AdmissionPluginConfig, out *internal.AdmissionPluginConfig, s conversion.Scope) error {
|
| 297 |
- if err := api.Convert_runtime_RawExtension_To_runtime_Object(&in.Configuration, out.Configuration, s); err != nil {
|
|
| 297 |
+ if err := convert_runtime_RawExtension_To_runtime_Object(&in.Configuration, out.Configuration, s); err != nil {
|
|
| 298 | 298 |
return err |
| 299 | 299 |
} |
| 300 | 300 |
if in.Configuration.Object != nil {
|
| 301 | 301 |
var err error |
| 302 |
- out.Configuration, err = kapi.Scheme.ConvertToVersion(in.Configuration.Object, internal.SchemeGroupVersion.String()) |
|
| 302 |
+ out.Configuration, err = internal.Scheme.ConvertToVersion(in.Configuration.Object, internal.SchemeGroupVersion.String()) |
|
| 303 | 303 |
if err != nil {
|
| 304 | 304 |
return err |
| 305 | 305 |
} |
| ... | ... |
@@ -313,3 +312,53 @@ func addConversionFuncs(scheme *runtime.Scheme) {
|
| 313 | 313 |
panic(err) |
| 314 | 314 |
} |
| 315 | 315 |
} |
| 316 |
+ |
|
| 317 |
+var codec = serializer.NewCodecFactory(internal.Scheme).LegacyCodec(SchemeGroupVersion) |
|
| 318 |
+ |
|
| 319 |
+// Convert_runtime_Object_To_runtime_RawExtension is conversion function that assumes that the runtime.Object you've embedded is in |
|
| 320 |
+// the same GroupVersion that your containing type is in. This is signficantly better than simply breaking. |
|
| 321 |
+// Given an ordered list of preferred external versions for a given encode or conversion call, the behavior of this function could be |
|
| 322 |
+// made generic, predictable, and controllable. |
|
| 323 |
+func convert_runtime_Object_To_runtime_RawExtension(in runtime.Object, out *runtime.RawExtension, s conversion.Scope) error {
|
|
| 324 |
+ if in == nil {
|
|
| 325 |
+ return nil |
|
| 326 |
+ } |
|
| 327 |
+ |
|
| 328 |
+ externalObject, err := internal.Scheme.ConvertToVersion(in, s.Meta().DestVersion) |
|
| 329 |
+ if err != nil {
|
|
| 330 |
+ return err |
|
| 331 |
+ } |
|
| 332 |
+ |
|
| 333 |
+ bytes, err := runtime.Encode(codec, externalObject) |
|
| 334 |
+ if err != nil {
|
|
| 335 |
+ return err |
|
| 336 |
+ } |
|
| 337 |
+ |
|
| 338 |
+ out.RawJSON = bytes |
|
| 339 |
+ out.Object = externalObject |
|
| 340 |
+ |
|
| 341 |
+ return nil |
|
| 342 |
+} |
|
| 343 |
+ |
|
| 344 |
+// Convert_runtime_RawExtension_To_runtime_Object well, this is the reason why there was runtime.Embedded. The `out` here is hopeless. |
|
| 345 |
+// The caller doesn't know the type ahead of time and that means this method can't communicate the return value. This sucks really badly. |
|
| 346 |
+// I'm going to set the `in.Object` field can have callers to this function do magic to pull it back out. I'm also going to bitch about it. |
|
| 347 |
+func convert_runtime_RawExtension_To_runtime_Object(in *runtime.RawExtension, out runtime.Object, s conversion.Scope) error {
|
|
| 348 |
+ if in == nil || len(in.RawJSON) == 0 || in.Object != nil {
|
|
| 349 |
+ return nil |
|
| 350 |
+ } |
|
| 351 |
+ |
|
| 352 |
+ decodedObject, err := runtime.Decode(codec, in.RawJSON) |
|
| 353 |
+ if err != nil {
|
|
| 354 |
+ return err |
|
| 355 |
+ } |
|
| 356 |
+ |
|
| 357 |
+ internalObject, err := internal.Scheme.ConvertToVersion(decodedObject, s.Meta().DestVersion) |
|
| 358 |
+ if err != nil {
|
|
| 359 |
+ return err |
|
| 360 |
+ } |
|
| 361 |
+ |
|
| 362 |
+ in.Object = internalObject |
|
| 363 |
+ |
|
| 364 |
+ return nil |
|
| 365 |
+} |
| ... | ... |
@@ -9,7 +9,6 @@ import ( |
| 9 | 9 |
|
| 10 | 10 |
"github.com/spf13/pflag" |
| 11 | 11 |
|
| 12 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 13 | 12 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 14 | 13 |
"k8s.io/kubernetes/pkg/master/ports" |
| 15 | 14 |
"k8s.io/kubernetes/pkg/registry/service/ipallocator" |
| ... | ... |
@@ -628,11 +627,11 @@ func getPort(theURL url.URL) int {
|
| 628 | 628 |
|
| 629 | 629 |
// applyDefaults roundtrips the config to v1 and back to ensure proper defaults are set. |
| 630 | 630 |
func applyDefaults(config runtime.Object, version unversioned.GroupVersion) (runtime.Object, error) {
|
| 631 |
- ext, err := kapi.Scheme.ConvertToVersion(config, version.String()) |
|
| 631 |
+ ext, err := configapi.Scheme.ConvertToVersion(config, version.String()) |
|
| 632 | 632 |
if err != nil {
|
| 633 | 633 |
return nil, err |
| 634 | 634 |
} |
| 635 |
- return kapi.Scheme.ConvertToVersion(ext, configapi.SchemeGroupVersion.String()) |
|
| 635 |
+ return configapi.Scheme.ConvertToVersion(ext, configapi.SchemeGroupVersion.String()) |
|
| 636 | 636 |
} |
| 637 | 637 |
|
| 638 | 638 |
func servingInfoForAddr(addr *flagtypes.Addr) configapi.ServingInfo {
|
| ... | ... |
@@ -1,23 +1,17 @@ |
| 1 | 1 |
package install |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- "fmt" |
|
| 5 |
- |
|
| 6 | 4 |
"github.com/golang/glog" |
| 7 | 5 |
|
| 8 |
- kapi "k8s.io/kubernetes/pkg/api" |
|
| 9 | 6 |
"k8s.io/kubernetes/pkg/api/meta" |
| 10 | 7 |
"k8s.io/kubernetes/pkg/api/unversioned" |
| 11 |
- "k8s.io/kubernetes/pkg/apimachinery" |
|
| 12 |
- "k8s.io/kubernetes/pkg/apimachinery/registered" |
|
| 13 |
- "k8s.io/kubernetes/pkg/runtime" |
|
| 14 |
- "k8s.io/kubernetes/pkg/util/sets" |
|
| 15 | 8 |
|
| 9 |
+ configapi "github.com/openshift/origin/pkg/cmd/server/api" |
|
| 16 | 10 |
"github.com/openshift/origin/pkg/project/admission/requestlimit/api" |
| 17 | 11 |
"github.com/openshift/origin/pkg/project/admission/requestlimit/api/v1" |
| 18 | 12 |
) |
| 19 | 13 |
|
| 20 |
-const importPrefix = "github.com/openshift/origin/pkg/project/admission/requestlimit" |
|
| 14 |
+const importPrefix = "github.com/openshift/origin/pkg/project/admission/requestlimit/api" |
|
| 21 | 15 |
|
| 22 | 16 |
var accessor = meta.NewAccessor() |
| 23 | 17 |
|
| ... | ... |
@@ -25,22 +19,7 @@ var accessor = meta.NewAccessor() |
| 25 | 25 |
var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion}
|
| 26 | 26 |
|
| 27 | 27 |
func init() {
|
| 28 |
- registered.RegisterVersions(availableVersions) |
|
| 29 |
- externalVersions := []unversioned.GroupVersion{}
|
|
| 30 |
- for _, v := range availableVersions {
|
|
| 31 |
- if registered.IsAllowedVersion(v) {
|
|
| 32 |
- externalVersions = append(externalVersions, v) |
|
| 33 |
- } |
|
| 34 |
- } |
|
| 35 |
- if len(externalVersions) == 0 {
|
|
| 36 |
- glog.Infof("No version is registered for group %v", api.GroupName)
|
|
| 37 |
- return |
|
| 38 |
- } |
|
| 39 |
- |
|
| 40 |
- if err := registered.EnableVersions(externalVersions...); err != nil {
|
|
| 41 |
- panic(err) |
|
| 42 |
- } |
|
| 43 |
- if err := enableVersions(externalVersions); err != nil {
|
|
| 28 |
+ if err := enableVersions(availableVersions); err != nil {
|
|
| 44 | 29 |
panic(err) |
| 45 | 30 |
} |
| 46 | 31 |
} |
| ... | ... |
@@ -51,35 +30,17 @@ func init() {
|
| 51 | 51 |
// registered.RegisterGroup once we have moved enableVersions there. |
| 52 | 52 |
func enableVersions(externalVersions []unversioned.GroupVersion) error {
|
| 53 | 53 |
addVersionsToScheme(externalVersions...) |
| 54 |
- preferredExternalVersion := externalVersions[0] |
|
| 55 |
- |
|
| 56 |
- groupMeta := apimachinery.GroupMeta{
|
|
| 57 |
- GroupVersion: preferredExternalVersion, |
|
| 58 |
- GroupVersions: externalVersions, |
|
| 59 |
- RESTMapper: newRESTMapper(externalVersions), |
|
| 60 |
- SelfLinker: runtime.SelfLinker(accessor), |
|
| 61 |
- InterfacesFor: interfacesFor, |
|
| 62 |
- } |
|
| 63 |
- |
|
| 64 |
- if err := registered.RegisterGroup(groupMeta); err != nil {
|
|
| 65 |
- return err |
|
| 66 |
- } |
|
| 67 |
- kapi.RegisterRESTMapper(groupMeta.RESTMapper) |
|
| 68 | 54 |
return nil |
| 69 | 55 |
} |
| 70 | 56 |
|
| 71 | 57 |
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
|
| 72 | 58 |
// add the internal version to Scheme |
| 73 |
- api.AddToScheme(kapi.Scheme) |
|
| 59 |
+ api.AddToScheme(configapi.Scheme) |
|
| 74 | 60 |
// add the enabled external versions to Scheme |
| 75 | 61 |
for _, v := range externalVersions {
|
| 76 |
- if !registered.IsEnabledVersion(v) {
|
|
| 77 |
- glog.Errorf("Version %s is not enabled, so it will not be added to the Scheme.", v)
|
|
| 78 |
- continue |
|
| 79 |
- } |
|
| 80 | 62 |
switch v {
|
| 81 | 63 |
case v1.SchemeGroupVersion: |
| 82 |
- v1.AddToScheme(kapi.Scheme) |
|
| 64 |
+ v1.AddToScheme(configapi.Scheme) |
|
| 83 | 65 |
|
| 84 | 66 |
default: |
| 85 | 67 |
glog.Errorf("Version %s is not known, so it will not be added to the Scheme.", v)
|
| ... | ... |
@@ -87,23 +48,3 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
|
| 87 | 87 |
} |
| 88 | 88 |
} |
| 89 | 89 |
} |
| 90 |
- |
|
| 91 |
-func newRESTMapper(externalVersions []unversioned.GroupVersion) meta.RESTMapper {
|
|
| 92 |
- rootScoped := sets.NewString() |
|
| 93 |
- ignoredKinds := sets.NewString() |
|
| 94 |
- return kapi.NewDefaultRESTMapper(externalVersions, interfacesFor, importPrefix, ignoredKinds, rootScoped) |
|
| 95 |
-} |
|
| 96 |
- |
|
| 97 |
-func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, error) {
|
|
| 98 |
- switch version {
|
|
| 99 |
- case v1.SchemeGroupVersion: |
|
| 100 |
- return &meta.VersionInterfaces{
|
|
| 101 |
- ObjectConvertor: kapi.Scheme, |
|
| 102 |
- MetadataAccessor: accessor, |
|
| 103 |
- }, nil |
|
| 104 |
- |
|
| 105 |
- default: |
|
| 106 |
- g, _ := registered.Group(api.GroupName) |
|
| 107 |
- return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, g.GroupVersions)
|
|
| 108 |
- } |
|
| 109 |
-} |