mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #34555 from mikedanese/conversion
Automatic merge from submit-queue kubeadm: fix conversion macros and add kubeadm to round trip testing Tests are probably broken but I'll fix. @jbeda this probably fixes your change unless we decide we need generated deep copies or conversions. @kubernetes/sig-cluster-lifecycle
This commit is contained in:
		@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package api
 | 
					package kubeadm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	DefaultServiceDNSDomain  = "cluster.local"
 | 
						DefaultServiceDNSDomain  = "cluster.local"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,8 +14,5 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// +k8s:deepcopy-gen=package,register
 | 
					 | 
				
			||||||
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// +groupName=kubeadm.k8s.io
 | 
					// +groupName=kubeadm.k8s.io
 | 
				
			||||||
package api // import "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
					package kubeadm // import "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
				
			||||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package api
 | 
					package kubeadm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								cmd/kubeadm/app/apis/kubeadm/install/install.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								cmd/kubeadm/app/apis/kubeadm/install/install.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					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 install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/apimachinery/announced"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						if err := announced.NewGroupMetaFactory(
 | 
				
			||||||
 | 
							&announced.GroupMetaFactoryArgs{
 | 
				
			||||||
 | 
								GroupName:                  kubeadm.GroupName,
 | 
				
			||||||
 | 
								VersionPreferenceOrder:     []string{v1alpha1.SchemeGroupVersion.Version},
 | 
				
			||||||
 | 
								ImportPrefix:               "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm",
 | 
				
			||||||
 | 
								AddInternalObjectsToScheme: kubeadm.AddToScheme,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							announced.VersionToSchemeFunc{
 | 
				
			||||||
 | 
								v1alpha1.SchemeGroupVersion.Version: v1alpha1.AddToScheme,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						).Announce().RegisterAndEnable(); err != nil {
 | 
				
			||||||
 | 
							panic(err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -14,9 +14,10 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package api
 | 
					package kubeadm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/api"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/unversioned"
 | 
						"k8s.io/kubernetes/pkg/api/unversioned"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/runtime"
 | 
						"k8s.io/kubernetes/pkg/runtime"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -27,7 +28,7 @@ var (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GroupName is the group name use in this package
 | 
					// GroupName is the group name use in this package
 | 
				
			||||||
const GroupName = "kubeadm"
 | 
					const GroupName = "kubeadm.k8s.io"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SchemeGroupVersion is group version used to register these objects
 | 
					// SchemeGroupVersion is group version used to register these objects
 | 
				
			||||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
 | 
					var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
 | 
				
			||||||
@@ -47,6 +48,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
 | 
				
			|||||||
		&MasterConfiguration{},
 | 
							&MasterConfiguration{},
 | 
				
			||||||
		&NodeConfiguration{},
 | 
							&NodeConfiguration{},
 | 
				
			||||||
		&ClusterInfo{},
 | 
							&ClusterInfo{},
 | 
				
			||||||
 | 
							&api.ListOptions{},
 | 
				
			||||||
 | 
							&api.DeleteOptions{},
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package api
 | 
					package kubeadm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/pkg/api/unversioned"
 | 
					import "k8s.io/kubernetes/pkg/api/unversioned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,8 +14,5 @@ See the License for the specific language governing permissions and
 | 
				
			|||||||
limitations under the License.
 | 
					limitations under the License.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// +k8s:deepcopy-gen=package,register
 | 
					 | 
				
			||||||
// +k8s:conversion-gen=k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// +groupName=kubeadm.k8s.io
 | 
					// +groupName=kubeadm.k8s.io
 | 
				
			||||||
package v1alpha1 // import "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
 | 
					package v1alpha1 // import "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
 | 
				
			||||||
@@ -18,6 +18,7 @@ package v1alpha1
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/unversioned"
 | 
						"k8s.io/kubernetes/pkg/api/unversioned"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/api/v1"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/runtime"
 | 
						"k8s.io/kubernetes/pkg/runtime"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -27,7 +28,7 @@ var (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GroupName is the group name use in this package
 | 
					// GroupName is the group name use in this package
 | 
				
			||||||
const GroupName = "kubeadm"
 | 
					const GroupName = "kubeadm.k8s.io"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SchemeGroupVersion is group version used to register these objects
 | 
					// SchemeGroupVersion is group version used to register these objects
 | 
				
			||||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"}
 | 
					var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"}
 | 
				
			||||||
@@ -47,6 +48,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
 | 
				
			|||||||
		&MasterConfiguration{},
 | 
							&MasterConfiguration{},
 | 
				
			||||||
		&NodeConfiguration{},
 | 
							&NodeConfiguration{},
 | 
				
			||||||
		&ClusterInfo{},
 | 
							&ClusterInfo{},
 | 
				
			||||||
 | 
							&v1.ListOptions{},
 | 
				
			||||||
 | 
							&v1.DeleteOptions{},
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ type MasterConfiguration struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	Secrets           Secrets    `json:"secrets"`
 | 
						Secrets           Secrets    `json:"secrets"`
 | 
				
			||||||
	API               API        `json:"api"`
 | 
						API               API        `json:"api"`
 | 
				
			||||||
 | 
						Etcd              Etcd       `json:"etcd"`
 | 
				
			||||||
	Networking        Networking `json:"networking"`
 | 
						Networking        Networking `json:"networking"`
 | 
				
			||||||
	KubernetesVersion string     `json:"kubernetesVersion"`
 | 
						KubernetesVersion string     `json:"kubernetesVersion"`
 | 
				
			||||||
	CloudProvider     string     `json:"cloudProvider"`
 | 
						CloudProvider     string     `json:"cloudProvider"`
 | 
				
			||||||
@@ -57,6 +58,7 @@ type NodeConfiguration struct {
 | 
				
			|||||||
	unversioned.TypeMeta
 | 
						unversioned.TypeMeta
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	MasterAddresses []string `json:"masterAddresses"`
 | 
						MasterAddresses []string `json:"masterAddresses"`
 | 
				
			||||||
 | 
						Secrets         Secrets  `json:"secrets"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ClusterInfo TODO add description
 | 
					// ClusterInfo TODO add description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ cmd/kube-dns
 | 
				
			|||||||
cmd/kube-proxy
 | 
					cmd/kube-proxy
 | 
				
			||||||
cmd/kubeadm
 | 
					cmd/kubeadm
 | 
				
			||||||
cmd/kubeadm
 | 
					cmd/kubeadm
 | 
				
			||||||
 | 
					cmd/kubeadm/app/apis/kubeadm/install
 | 
				
			||||||
cmd/kubectl
 | 
					cmd/kubectl
 | 
				
			||||||
cmd/kubelet
 | 
					cmd/kubelet
 | 
				
			||||||
cmd/kubernetes-discovery
 | 
					cmd/kubernetes-discovery
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,12 +33,20 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/runtime"
 | 
						"k8s.io/kubernetes/pkg/runtime"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/runtime/serializer/protobuf"
 | 
						"k8s.io/kubernetes/pkg/runtime/serializer/protobuf"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/util/diff"
 | 
						"k8s.io/kubernetes/pkg/util/diff"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/util/sets"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var nonProtobaleAPIGroups = sets.NewString(
 | 
				
			||||||
 | 
						"kubeadm.k8s.io",
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() {
 | 
					func init() {
 | 
				
			||||||
	codecsToTest = append(codecsToTest, func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, error) {
 | 
						codecsToTest = append(codecsToTest, func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) {
 | 
				
			||||||
 | 
							if nonProtobaleAPIGroups.Has(version.Group) {
 | 
				
			||||||
 | 
								return nil, false, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		s := protobuf.NewSerializer(api.Scheme, api.Scheme, "application/arbitrary.content.type")
 | 
							s := protobuf.NewSerializer(api.Scheme, api.Scheme, "application/arbitrary.content.type")
 | 
				
			||||||
		return api.Codecs.CodecForVersions(s, s, testapi.ExternalGroupVersions(), nil), nil
 | 
							return api.Codecs.CodecForVersions(s, s, testapi.ExternalGroupVersions(), nil), true, nil
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,9 +51,10 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var fuzzIters = flag.Int("fuzz-iters", 20, "How many fuzzing iterations to do.")
 | 
					var fuzzIters = flag.Int("fuzz-iters", 20, "How many fuzzing iterations to do.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var codecsToTest = []func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, error){
 | 
					var codecsToTest = []func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error){
 | 
				
			||||||
	func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, error) {
 | 
						func(version unversioned.GroupVersion, item runtime.Object) (runtime.Codec, bool, error) {
 | 
				
			||||||
		return testapi.GetCodecForObject(item)
 | 
							c, err := testapi.GetCodecForObject(item)
 | 
				
			||||||
 | 
							return c, true, err
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -135,11 +136,14 @@ func roundTripSame(t *testing.T, group testapi.TestGroup, item runtime.Object, e
 | 
				
			|||||||
	version := *group.GroupVersion()
 | 
						version := *group.GroupVersion()
 | 
				
			||||||
	codecs := []runtime.Codec{}
 | 
						codecs := []runtime.Codec{}
 | 
				
			||||||
	for _, fn := range codecsToTest {
 | 
						for _, fn := range codecsToTest {
 | 
				
			||||||
		codec, err := fn(version, item)
 | 
							codec, ok, err := fn(version, item)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			t.Errorf("unable to get codec: %v", err)
 | 
								t.Errorf("unable to get codec: %v", err)
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if !ok {
 | 
				
			||||||
 | 
								continue
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		codecs = append(codecs, codec)
 | 
							codecs = append(codecs, codec)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,7 @@ import (
 | 
				
			|||||||
	"reflect"
 | 
						"reflect"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"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/api/meta"
 | 
						"k8s.io/kubernetes/pkg/api/meta"
 | 
				
			||||||
@@ -47,6 +48,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/runtime"
 | 
						"k8s.io/kubernetes/pkg/runtime"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/runtime/serializer/recognizer"
 | 
						"k8s.io/kubernetes/pkg/runtime/serializer/recognizer"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ "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"
 | 
				
			||||||
@@ -247,7 +249,6 @@ func init() {
 | 
				
			|||||||
			externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
								externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					 | 
				
			||||||
	if _, ok := Groups[imagepolicy.GroupName]; !ok {
 | 
						if _, ok := Groups[imagepolicy.GroupName]; !ok {
 | 
				
			||||||
		externalGroupVersion := unversioned.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version}
 | 
							externalGroupVersion := unversioned.GroupVersion{Group: imagepolicy.GroupName, Version: registered.GroupOrDie(imagepolicy.GroupName).GroupVersion.Version}
 | 
				
			||||||
		Groups[imagepolicy.GroupName] = TestGroup{
 | 
							Groups[imagepolicy.GroupName] = TestGroup{
 | 
				
			||||||
@@ -257,6 +258,15 @@ func init() {
 | 
				
			|||||||
			externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
								externalTypes:        api.Scheme.KnownTypes(externalGroupVersion),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if _, ok := Groups[kubeadm.GroupName]; !ok {
 | 
				
			||||||
 | 
							externalGroupVersion := unversioned.GroupVersion{Group: kubeadm.GroupName, Version: registered.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