Merge pull request #63364 from deads2k/api-16-scheme

Automatic merge from submit-queue (batch tested with PRs 63364, 63464). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

simplify api registration

The current registration and groupmeta is only use to determine a preferred ordering to versions.  The scheme already knows about all versions, so this simply makes that knowledge official.  After doing that, the announce, registered, and apimachinery/pkg/apimachinery all drop out.

With this change we'll be able to create `install` packages for each external apigroup that accept a scheme and have suggested orderings.  This will make it possible to close the consistency gap with kubectl, client, and apiserver.

@kubernetes/sig-api-machinery-pr-reviews
@lavalamp @smarterclayton @liggitt @sttts

```release-note
NONE
```

Kubernetes-commit: f929502282b370ceb3adae4816074142d6702c8b
This commit is contained in:
Kubernetes Publisher 2018-05-08 18:36:10 -07:00
commit 9124a4f71a
2 changed files with 85 additions and 107 deletions

172
Godeps/Godeps.json generated
View File

@ -1,6 +1,6 @@
{
"ImportPath": "k8s.io/client-go",
"GoVersion": "go1.10",
"GoVersion": "go1.9",
"GodepVersion": "v80",
"Packages": [
"./..."
@ -252,331 +252,319 @@
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "8ab7c6a2fbd1724a52514855629cec31a8f86929"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "b7d77fa220f5130ec63c2ca7167dd9653449c64d"
"Rev": "f82c69b0091b10bbc134691fab5a153888db13f0"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",

View File

@ -19,25 +19,15 @@ limitations under the License.
package install
import (
"k8s.io/apimachinery/pkg/apimachinery/announced"
"k8s.io/apimachinery/pkg/apimachinery/registered"
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/pkg/apis/clientauthentication"
"k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1"
)
// Install registers the API group and adds types to a scheme
func Install(registry *registered.APIRegistrationManager, scheme *runtime.Scheme) {
if err := announced.NewGroupMetaFactory(
&announced.GroupMetaFactoryArgs{
GroupName: clientauthentication.GroupName,
VersionPreferenceOrder: []string{v1alpha1.SchemeGroupVersion.Version},
AddInternalObjectsToScheme: clientauthentication.AddToScheme,
},
announced.VersionToSchemeFunc{
v1alpha1.SchemeGroupVersion.Version: v1alpha1.AddToScheme,
},
).Register(registry, scheme); err != nil {
panic(err)
}
func Install(scheme *runtime.Scheme) {
utilruntime.Must(clientauthentication.AddToScheme(scheme))
utilruntime.Must(v1alpha1.AddToScheme(scheme))
utilruntime.Must(scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion))
}