mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #41352 from mikedanese/testapi-kubeadm
Automatic merge from submit-queue (batch tested with PRs 41360, 41423, 41430, 40647, 41352) move kubeadm api group testing to kubeadm package I think this is sufficient to at least preserve round trip testing.
This commit is contained in:
		@@ -5,6 +5,7 @@ licenses(["notice"])
 | 
				
			|||||||
load(
 | 
					load(
 | 
				
			||||||
    "@io_bazel_rules_go//go:def.bzl",
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
    "go_library",
 | 
					    "go_library",
 | 
				
			||||||
 | 
					    "go_test",
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
go_library(
 | 
					go_library(
 | 
				
			||||||
@@ -40,3 +41,18 @@ filegroup(
 | 
				
			|||||||
    ],
 | 
					    ],
 | 
				
			||||||
    tags = ["automanaged"],
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_test(
 | 
				
			||||||
 | 
					    name = "go_default_xtest",
 | 
				
			||||||
 | 
					    srcs = ["serialization_test.go"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        "//cmd/kubeadm/app/apis/kubeadm/install:go_default_library",
 | 
				
			||||||
 | 
					        "//pkg/api/testing:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/apimachinery/pkg/api/testing",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/apimachinery/pkg/apimachinery/announced",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/apimachinery/pkg/runtime",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										47
									
								
								cmd/kubeadm/app/apis/kubeadm/serialization_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								cmd/kubeadm/app/apis/kubeadm/serialization_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					Copyright 2016 The Kubernetes Authors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					limitations under the License.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package kubeadm_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"math/rand"
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						apitesting "k8s.io/apimachinery/pkg/api/testing"
 | 
				
			||||||
 | 
						"k8s.io/apimachinery/pkg/apimachinery/announced"
 | 
				
			||||||
 | 
						"k8s.io/apimachinery/pkg/apimachinery/registered"
 | 
				
			||||||
 | 
						"k8s.io/apimachinery/pkg/runtime"
 | 
				
			||||||
 | 
						"k8s.io/apimachinery/pkg/runtime/serializer"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install"
 | 
				
			||||||
 | 
						kapitesting "k8s.io/kubernetes/pkg/api/testing"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						seed = 1
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestRoundTripTypes(t *testing.T) {
 | 
				
			||||||
 | 
						groupFactoryRegistry := make(announced.APIGroupFactoryRegistry)
 | 
				
			||||||
 | 
						registry := registered.NewOrDie("")
 | 
				
			||||||
 | 
						scheme := runtime.NewScheme()
 | 
				
			||||||
 | 
						codecs := serializer.NewCodecFactory(scheme)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						install.Install(groupFactoryRegistry, registry, scheme)
 | 
				
			||||||
 | 
						// TODO: once we've pulled kubeadm types of the main scheme, we should
 | 
				
			||||||
 | 
						// move the fuzzers funcs here
 | 
				
			||||||
 | 
						fuzzer := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t, codecs), rand.NewSource(seed))
 | 
				
			||||||
 | 
						apitesting.RoundTripTypesWithoutProtobuf(t, scheme, codecs, fuzzer, nil)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -10,6 +10,7 @@ load(
 | 
				
			|||||||
go_library(
 | 
					go_library(
 | 
				
			||||||
    name = "go_default_library",
 | 
					    name = "go_default_library",
 | 
				
			||||||
    srcs = [
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        "conversion.go",
 | 
				
			||||||
        "defaults.go",
 | 
					        "defaults.go",
 | 
				
			||||||
        "doc.go",
 | 
					        "doc.go",
 | 
				
			||||||
        "register.go",
 | 
					        "register.go",
 | 
				
			||||||
@@ -21,6 +22,7 @@ go_library(
 | 
				
			|||||||
        "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
 | 
					        "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/runtime",
 | 
					        "//vendor:k8s.io/apimachinery/pkg/runtime",
 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/runtime/schema",
 | 
					        "//vendor:k8s.io/apimachinery/pkg/runtime/schema",
 | 
				
			||||||
 | 
					        "//vendor:k8s.io/client-go/pkg/api",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								cmd/kubeadm/app/apis/kubeadm/v1alpha1/conversion.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								cmd/kubeadm/app/apis/kubeadm/v1alpha1/conversion.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					Copyright 2016 The Kubernetes Authors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					limitations under the License.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package v1alpha1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"k8s.io/apimachinery/pkg/runtime"
 | 
				
			||||||
 | 
						"k8s.io/client-go/pkg/api"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func addConversionFuncs(scheme *runtime.Scheme) error {
 | 
				
			||||||
 | 
						// Add non-generated conversion functions
 | 
				
			||||||
 | 
						return scheme.AddConversionFuncs(
 | 
				
			||||||
 | 
							api.Convert_v1_TypeMeta_To_v1_TypeMeta,
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -29,7 +29,7 @@ const GroupName = "kubeadm.k8s.io"
 | 
				
			|||||||
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
 | 
					var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs)
 | 
						SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
 | 
				
			||||||
	AddToScheme   = SchemeBuilder.AddToScheme
 | 
						AddToScheme   = SchemeBuilder.AddToScheme
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ cmd/kube-controller-manager/app/options
 | 
				
			|||||||
cmd/kube-discovery
 | 
					cmd/kube-discovery
 | 
				
			||||||
cmd/kube-proxy
 | 
					cmd/kube-proxy
 | 
				
			||||||
cmd/kubeadm
 | 
					cmd/kubeadm
 | 
				
			||||||
 | 
					cmd/kubeadm/app/apis/kubeadm
 | 
				
			||||||
cmd/kubeadm/app/apis/kubeadm/install
 | 
					cmd/kubeadm/app/apis/kubeadm/install
 | 
				
			||||||
cmd/kubeadm/app/phases/apiconfig
 | 
					cmd/kubeadm/app/phases/apiconfig
 | 
				
			||||||
cmd/kubeadm/app/phases/certs
 | 
					cmd/kubeadm/app/phases/certs
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,8 +13,6 @@ go_library(
 | 
				
			|||||||
    srcs = ["testapi.go"],
 | 
					    srcs = ["testapi.go"],
 | 
				
			||||||
    tags = ["automanaged"],
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
    deps = [
 | 
					    deps = [
 | 
				
			||||||
        "//cmd/kubeadm/app/apis/kubeadm:go_default_library",
 | 
					 | 
				
			||||||
        "//cmd/kubeadm/app/apis/kubeadm/install:go_default_library",
 | 
					 | 
				
			||||||
        "//federation/apis/federation:go_default_library",
 | 
					        "//federation/apis/federation:go_default_library",
 | 
				
			||||||
        "//federation/apis/federation/install:go_default_library",
 | 
					        "//federation/apis/federation/install:go_default_library",
 | 
				
			||||||
        "//pkg/api:go_default_library",
 | 
					        "//pkg/api:go_default_library",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,6 @@ import (
 | 
				
			|||||||
	"k8s.io/apimachinery/pkg/runtime"
 | 
						"k8s.io/apimachinery/pkg/runtime"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/runtime/schema"
 | 
						"k8s.io/apimachinery/pkg/runtime/schema"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/runtime/serializer/recognizer"
 | 
						"k8s.io/apimachinery/pkg/runtime/serializer/recognizer"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
					 | 
				
			||||||
	"k8s.io/kubernetes/federation/apis/federation"
 | 
						"k8s.io/kubernetes/federation/apis/federation"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api"
 | 
						"k8s.io/kubernetes/pkg/api"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/apps"
 | 
						"k8s.io/kubernetes/pkg/apis/apps"
 | 
				
			||||||
@@ -48,7 +47,6 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/apis/rbac"
 | 
						"k8s.io/kubernetes/pkg/apis/rbac"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/storage"
 | 
						"k8s.io/kubernetes/pkg/apis/storage"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install"
 | 
					 | 
				
			||||||
	_ "k8s.io/kubernetes/federation/apis/federation/install"
 | 
						_ "k8s.io/kubernetes/federation/apis/federation/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/api/install"
 | 
						_ "k8s.io/kubernetes/pkg/api/install"
 | 
				
			||||||
	_ "k8s.io/kubernetes/pkg/apis/apps/install"
 | 
						_ "k8s.io/kubernetes/pkg/apis/apps/install"
 | 
				
			||||||
@@ -268,15 +266,6 @@ func init() {
 | 
				
			|||||||
			externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
								externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if _, ok := Groups[kubeadm.GroupName]; !ok {
 | 
					 | 
				
			||||||
		externalGroupVersion := schema.GroupVersion{Group: kubeadm.GroupName, Version: api.Registry.GroupOrDie(kubeadm.GroupName).GroupVersion.Version}
 | 
					 | 
				
			||||||
		Groups[kubeadm.GroupName] = TestGroup{
 | 
					 | 
				
			||||||
			externalGroupVersion: externalGroupVersion,
 | 
					 | 
				
			||||||
			internalGroupVersion: kubeadm.SchemeGroupVersion,
 | 
					 | 
				
			||||||
			internalTypes:        api.Scheme.KnownTypes(kubeadm.SchemeGroupVersion),
 | 
					 | 
				
			||||||
			externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Default = Groups[api.GroupName]
 | 
						Default = Groups[api.GroupName]
 | 
				
			||||||
	Autoscaling = Groups[autoscaling.GroupName]
 | 
						Autoscaling = Groups[autoscaling.GroupName]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user