mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	remove dead code
This commit is contained in:
		@@ -39,7 +39,7 @@ go_library(
 | 
			
		||||
        "//pkg/kubeapiserver/options:go_default_library",
 | 
			
		||||
        "//pkg/kubeapiserver/server:go_default_library",
 | 
			
		||||
        "//pkg/master:go_default_library",
 | 
			
		||||
        "//pkg/master/thirdparty:go_default_library",
 | 
			
		||||
        "//pkg/master/controller/crdregistration:go_default_library",
 | 
			
		||||
        "//pkg/master/tunneler:go_default_library",
 | 
			
		||||
        "//pkg/quota/install:go_default_library",
 | 
			
		||||
        "//pkg/registry/cachesize:go_default_library",
 | 
			
		||||
@@ -89,7 +89,6 @@ go_library(
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/admission:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/authentication/authenticator:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/authorization/authorizer:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/server:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/server/filters:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/server/healthz:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ import (
 | 
			
		||||
	apiregistrationclient "k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion"
 | 
			
		||||
	"k8s.io/kube-aggregator/pkg/controllers/autoregister"
 | 
			
		||||
	"k8s.io/kubernetes/cmd/kube-apiserver/app/options"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/master/thirdparty"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/master/controller/crdregistration"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func createAggregatorConfig(kubeAPIServerConfig genericapiserver.Config, commandOptions *options.ServerRunOptions, externalInformers kubeexternalinformers.SharedInformerFactory, serviceResolver aggregatorapiserver.ServiceResolver, proxyTransport *http.Transport) (*aggregatorapiserver.Config, error) {
 | 
			
		||||
@@ -97,7 +97,7 @@ func createAggregatorServer(aggregatorConfig *aggregatorapiserver.Config, delega
 | 
			
		||||
	}
 | 
			
		||||
	autoRegistrationController := autoregister.NewAutoRegisterController(aggregatorServer.APIRegistrationInformers.Apiregistration().InternalVersion().APIServices(), apiRegistrationClient)
 | 
			
		||||
	apiServices := apiServicesToRegister(delegateAPIServer, autoRegistrationController)
 | 
			
		||||
	crdRegistrationController := thirdparty.NewAutoRegistrationController(
 | 
			
		||||
	crdRegistrationController := crdregistration.NewAutoRegistrationController(
 | 
			
		||||
		apiExtensionInformers.Apiextensions().InternalVersion().CustomResourceDefinitions(),
 | 
			
		||||
		autoRegistrationController)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,6 @@ import (
 | 
			
		||||
	"k8s.io/apiserver/pkg/admission"
 | 
			
		||||
	"k8s.io/apiserver/pkg/authentication/authenticator"
 | 
			
		||||
	"k8s.io/apiserver/pkg/authorization/authorizer"
 | 
			
		||||
	genericregistry "k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	genericapiserver "k8s.io/apiserver/pkg/server"
 | 
			
		||||
	"k8s.io/apiserver/pkg/server/filters"
 | 
			
		||||
	"k8s.io/apiserver/pkg/server/options/encryptionconfig"
 | 
			
		||||
@@ -132,7 +131,7 @@ func Run(runOptions *options.ServerRunOptions, stopCh <-chan struct{}) error {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	kubeAPIServer, err := CreateKubeAPIServer(kubeAPIServerConfig, apiExtensionsServer.GenericAPIServer, sharedInformers, apiExtensionsConfig.CRDRESTOptionsGetter)
 | 
			
		||||
	kubeAPIServer, err := CreateKubeAPIServer(kubeAPIServerConfig, apiExtensionsServer.GenericAPIServer, sharedInformers)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
@@ -178,8 +177,8 @@ func Run(runOptions *options.ServerRunOptions, stopCh <-chan struct{}) error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateKubeAPIServer creates and wires a workable kube-apiserver
 | 
			
		||||
func CreateKubeAPIServer(kubeAPIServerConfig *master.Config, delegateAPIServer genericapiserver.DelegationTarget, sharedInformers informers.SharedInformerFactory, crdRESTOptionsGetter genericregistry.RESTOptionsGetter) (*master.Master, error) {
 | 
			
		||||
	kubeAPIServer, err := kubeAPIServerConfig.Complete().New(delegateAPIServer, crdRESTOptionsGetter)
 | 
			
		||||
func CreateKubeAPIServer(kubeAPIServerConfig *master.Config, delegateAPIServer genericapiserver.DelegationTarget, sharedInformers informers.SharedInformerFactory) (*master.Master, error) {
 | 
			
		||||
	kubeAPIServer, err := kubeAPIServerConfig.Complete().New(delegateAPIServer)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -40,55 +40,6 @@ import (
 | 
			
		||||
	psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func ValidateThirdPartyResourceUpdate(update, old *extensions.ThirdPartyResource) field.ErrorList {
 | 
			
		||||
	allErrs := field.ErrorList{}
 | 
			
		||||
	allErrs = append(allErrs, apivalidation.ValidateObjectMetaUpdate(&update.ObjectMeta, &old.ObjectMeta, field.NewPath("metadata"))...)
 | 
			
		||||
	allErrs = append(allErrs, ValidateThirdPartyResource(update)...)
 | 
			
		||||
	return allErrs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ValidateThirdPartyResourceName(name string, prefix bool) []string {
 | 
			
		||||
	// Make sure it's a valid DNS subdomain
 | 
			
		||||
	if msgs := apivalidation.NameIsDNSSubdomain(name, prefix); len(msgs) != 0 {
 | 
			
		||||
		return msgs
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Make sure it's at least three segments (kind + two-segment group name)
 | 
			
		||||
	if !prefix {
 | 
			
		||||
		parts := strings.Split(name, ".")
 | 
			
		||||
		if len(parts) < 3 {
 | 
			
		||||
			return []string{"must be at least three segments long: <kind>.<domain>.<tld>"}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ValidateThirdPartyResource(obj *extensions.ThirdPartyResource) field.ErrorList {
 | 
			
		||||
	allErrs := field.ErrorList{}
 | 
			
		||||
	allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&obj.ObjectMeta, false, ValidateThirdPartyResourceName, field.NewPath("metadata"))...)
 | 
			
		||||
 | 
			
		||||
	versions := sets.String{}
 | 
			
		||||
	if len(obj.Versions) == 0 {
 | 
			
		||||
		allErrs = append(allErrs, field.Required(field.NewPath("versions"), "must specify at least one version"))
 | 
			
		||||
	}
 | 
			
		||||
	for ix := range obj.Versions {
 | 
			
		||||
		version := &obj.Versions[ix]
 | 
			
		||||
		if len(version.Name) == 0 {
 | 
			
		||||
			allErrs = append(allErrs, field.Invalid(field.NewPath("versions").Index(ix).Child("name"), version, "must not be empty"))
 | 
			
		||||
		} else {
 | 
			
		||||
			for _, msg := range validation.IsDNS1123Label(version.Name) {
 | 
			
		||||
				allErrs = append(allErrs, field.Invalid(field.NewPath("versions").Index(ix).Child("name"), version, msg))
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if versions.Has(version.Name) {
 | 
			
		||||
			allErrs = append(allErrs, field.Duplicate(field.NewPath("versions").Index(ix).Child("name"), version))
 | 
			
		||||
		}
 | 
			
		||||
		versions.Insert(version.Name)
 | 
			
		||||
	}
 | 
			
		||||
	return allErrs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ValidateDaemonSet tests if required fields in the DaemonSet are set.
 | 
			
		||||
func ValidateDaemonSet(ds *extensions.DaemonSet) field.ErrorList {
 | 
			
		||||
	allErrs := apivalidation.ValidateObjectMeta(&ds.ObjectMeta, true, ValidateDaemonSetName, field.NewPath("metadata"))
 | 
			
		||||
@@ -427,14 +378,6 @@ func ValidateDeploymentRollback(obj *extensions.DeploymentRollback) field.ErrorL
 | 
			
		||||
	return allErrs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ValidateThirdPartyResourceDataUpdate(update, old *extensions.ThirdPartyResourceData) field.ErrorList {
 | 
			
		||||
	return apivalidation.ValidateObjectMetaUpdate(&update.ObjectMeta, &old.ObjectMeta, field.NewPath("metadata"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ValidateThirdPartyResourceData(obj *extensions.ThirdPartyResourceData) field.ErrorList {
 | 
			
		||||
	return apivalidation.ValidateObjectMeta(&obj.ObjectMeta, true, apivalidation.NameIsDNSLabel, field.NewPath("metadata"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ValidateIngress tests if required fields in the Ingress are set.
 | 
			
		||||
func ValidateIngress(ingress *extensions.Ingress) field.ErrorList {
 | 
			
		||||
	allErrs := apivalidation.ValidateObjectMeta(&ingress.ObjectMeta, true, ValidateIngressName, field.NewPath("metadata"))
 | 
			
		||||
 
 | 
			
		||||
@@ -225,7 +225,7 @@ func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) erro
 | 
			
		||||
		var outputObj runtime.Object
 | 
			
		||||
		var obj runtime.Object
 | 
			
		||||
 | 
			
		||||
		obj, err = cmdutil.MaybeConvertObject(info.Object, info.Mapping.GroupVersionKind.GroupVersion(), info.Mapping)
 | 
			
		||||
		obj, err = info.Mapping.ConvertToVersion(info.Object, info.Mapping.GroupVersionKind.GroupVersion())
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -238,7 +238,6 @@ __custom_func() {
 | 
			
		||||
    * services (aka 'svc')
 | 
			
		||||
    * statefulsets
 | 
			
		||||
    * storageclasses
 | 
			
		||||
    * thirdpartyresources
 | 
			
		||||
    `
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -150,7 +150,7 @@ func RunPatch(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []strin
 | 
			
		||||
		return fmt.Errorf("unable to parse %q: %v", patch, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// TODO: fix --local to work with thirdpartyresources without making use of the discovery client.
 | 
			
		||||
	// TODO: fix --local to work with customresources without making use of the discovery client.
 | 
			
		||||
	// https://github.com/kubernetes/kubernetes/issues/46722
 | 
			
		||||
	builder, err := f.NewUnstructuredBuilder(true)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,6 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/yaml"
 | 
			
		||||
	"k8s.io/client-go/tools/clientcmd"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/extensions"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubectl"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubectl/resource"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/printers"
 | 
			
		||||
@@ -676,18 +675,6 @@ func ParsePairs(pairArgs []string, pairType string, supportRemove bool) (newPair
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MaybeConvertObject attempts to convert an object to a specific group/version.  If the object is
 | 
			
		||||
// a third party resource it is simply passed through.
 | 
			
		||||
func MaybeConvertObject(obj runtime.Object, gv schema.GroupVersion, converter runtime.ObjectConvertor) (runtime.Object, error) {
 | 
			
		||||
	switch obj.(type) {
 | 
			
		||||
	case *extensions.ThirdPartyResourceData:
 | 
			
		||||
		// conversion is not supported for 3rd party objects
 | 
			
		||||
		return obj, nil
 | 
			
		||||
	default:
 | 
			
		||||
		return converter.ConvertToVersion(obj, gv)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MustPrintWithKinds determines if printer is dealing
 | 
			
		||||
// with multiple resource kinds, in which case it will
 | 
			
		||||
// return true, indicating resource kind will be
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,6 @@ import (
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/api/core/v1"
 | 
			
		||||
	apiequality "k8s.io/apimachinery/pkg/api/equality"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/api/errors"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/api/meta"
 | 
			
		||||
@@ -36,7 +35,6 @@ import (
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api/testapi"
 | 
			
		||||
	apitesting "k8s.io/kubernetes/pkg/api/testing"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/extensions"
 | 
			
		||||
	uexec "k8s.io/kubernetes/pkg/util/exec"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -321,53 +319,3 @@ func TestDumpReaderToFile(t *testing.T) {
 | 
			
		||||
		t.Fatalf("Wrong file content %s != %s", testString, stringData)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestMaybeConvert(t *testing.T) {
 | 
			
		||||
	tests := []struct {
 | 
			
		||||
		input    runtime.Object
 | 
			
		||||
		gv       schema.GroupVersion
 | 
			
		||||
		expected runtime.Object
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			input: &api.Pod{
 | 
			
		||||
				ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
					Name: "foo",
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
			gv: schema.GroupVersion{Group: "", Version: "v1"},
 | 
			
		||||
			expected: &v1.Pod{
 | 
			
		||||
				TypeMeta: metav1.TypeMeta{
 | 
			
		||||
					APIVersion: "v1",
 | 
			
		||||
					Kind:       "Pod",
 | 
			
		||||
				},
 | 
			
		||||
				ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
					Name: "foo",
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			input: &extensions.ThirdPartyResourceData{
 | 
			
		||||
				ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
					Name: "foo",
 | 
			
		||||
				},
 | 
			
		||||
				Data: []byte("this is some data"),
 | 
			
		||||
			},
 | 
			
		||||
			expected: &extensions.ThirdPartyResourceData{
 | 
			
		||||
				ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
					Name: "foo",
 | 
			
		||||
				},
 | 
			
		||||
				Data: []byte("this is some data"),
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		obj, err := MaybeConvertObject(test.input, test.gv, testapi.Default.Converter())
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			t.Errorf("unexpected error: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
		if !apiequality.Semantic.DeepEqual(test.expected, obj) {
 | 
			
		||||
			t.Errorf("expected:\n%#v\nsaw:\n%#v\n", test.expected, obj)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,6 @@ go_library(
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//pkg/api:go_default_library",
 | 
			
		||||
        "//pkg/api/validation:go_default_library",
 | 
			
		||||
        "//pkg/apis/extensions:go_default_library",
 | 
			
		||||
        "//vendor/github.com/golang/glog:go_default_library",
 | 
			
		||||
        "//vendor/golang.org/x/text/encoding/unicode:go_default_library",
 | 
			
		||||
        "//vendor/golang.org/x/text/transform:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,6 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/sets"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/watch"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/extensions"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ErrMatchFunc can be used to filter errors that may not be true failures.
 | 
			
		||||
@@ -266,13 +265,6 @@ func AsVersionedObjects(infos []*Info, version schema.GroupVersion, encoder runt
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// TODO: use info.VersionedObject as the value?
 | 
			
		||||
		switch obj := info.Object.(type) {
 | 
			
		||||
		case *extensions.ThirdPartyResourceData:
 | 
			
		||||
			objects = append(objects, &runtime.Unknown{Raw: obj.Data})
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// objects that are not part of api.Scheme must be converted to JSON
 | 
			
		||||
		// TODO: convert to map[string]interface{}, attach to runtime.Unknown?
 | 
			
		||||
		if !version.Empty() {
 | 
			
		||||
 
 | 
			
		||||
@@ -165,8 +165,8 @@ filegroup(
 | 
			
		||||
    name = "all-srcs",
 | 
			
		||||
    srcs = [
 | 
			
		||||
        ":package-srcs",
 | 
			
		||||
        "//pkg/master/controller/crdregistration:all-srcs",
 | 
			
		||||
        "//pkg/master/ports:all-srcs",
 | 
			
		||||
        "//pkg/master/thirdparty:all-srcs",
 | 
			
		||||
        "//pkg/master/tunneler:all-srcs",
 | 
			
		||||
    ],
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ load(
 | 
			
		||||
 | 
			
		||||
go_library(
 | 
			
		||||
    name = "go_default_library",
 | 
			
		||||
    srcs = ["tprregistration_controller.go"],
 | 
			
		||||
    srcs = ["crdregistration_controller.go"],
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//pkg/controller:go_default_library",
 | 
			
		||||
@@ -44,7 +44,7 @@ filegroup(
 | 
			
		||||
 | 
			
		||||
go_test(
 | 
			
		||||
    name = "go_default_test",
 | 
			
		||||
    srcs = ["tprregistration_controller_test.go"],
 | 
			
		||||
    srcs = ["crdregistration_controller_test.go"],
 | 
			
		||||
    library = ":go_default_library",
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    deps = [
 | 
			
		||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
 | 
			
		||||
limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
package thirdparty
 | 
			
		||||
package crdregistration
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
 | 
			
		||||
limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
package thirdparty
 | 
			
		||||
package crdregistration
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"reflect"
 | 
			
		||||
@@ -45,7 +45,6 @@ import (
 | 
			
		||||
	utilnet "k8s.io/apimachinery/pkg/util/net"
 | 
			
		||||
	"k8s.io/apiserver/pkg/endpoints/discovery"
 | 
			
		||||
	"k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	genericregistry "k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	genericapiserver "k8s.io/apiserver/pkg/server"
 | 
			
		||||
	"k8s.io/apiserver/pkg/server/healthz"
 | 
			
		||||
	serverstorage "k8s.io/apiserver/pkg/server/storage"
 | 
			
		||||
@@ -209,7 +208,7 @@ func (c *Config) SkipComplete() completedConfig {
 | 
			
		||||
// Certain config fields will be set to a default value if unset.
 | 
			
		||||
// Certain config fields must be specified, including:
 | 
			
		||||
//   KubeletClientConfig
 | 
			
		||||
func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget, crdRESTOptionsGetter genericregistry.RESTOptionsGetter) (*Master, error) {
 | 
			
		||||
func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*Master, error) {
 | 
			
		||||
	if reflect.DeepEqual(c.KubeletClientConfig, kubeletclient.KubeletClientConfig{}) {
 | 
			
		||||
		return nil, fmt.Errorf("Master.New() called with empty config.KubeletClientConfig")
 | 
			
		||||
	}
 | 
			
		||||
@@ -257,7 +256,6 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget,
 | 
			
		||||
		autoscalingrest.RESTStorageProvider{},
 | 
			
		||||
		batchrest.RESTStorageProvider{},
 | 
			
		||||
		certificatesrest.RESTStorageProvider{},
 | 
			
		||||
		// TODO(enisoc): Remove crdRESTOptionsGetter input argument when TPR code is removed.
 | 
			
		||||
		extensionsrest.RESTStorageProvider{},
 | 
			
		||||
		networkingrest.RESTStorageProvider{},
 | 
			
		||||
		policyrest.RESTStorageProvider{},
 | 
			
		||||
@@ -411,7 +409,6 @@ func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig {
 | 
			
		||||
		extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses"),
 | 
			
		||||
		extensionsapiv1beta1.SchemeGroupVersion.WithResource("networkpolicies"),
 | 
			
		||||
		extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicasets"),
 | 
			
		||||
		extensionsapiv1beta1.SchemeGroupVersion.WithResource("thirdpartyresources"),
 | 
			
		||||
		extensionsapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies"),
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,7 @@ func TestValidOpenAPISpec(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
	config.GenericConfig.SwaggerConfig = genericapiserver.DefaultSwaggerConfig()
 | 
			
		||||
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate, nil)
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("Error in bringing up the master: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -115,7 +115,7 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
 | 
			
		||||
func newMaster(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
 | 
			
		||||
	etcdserver, config, assert := setUp(t)
 | 
			
		||||
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate, nil)
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("Error in bringing up the master: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -141,7 +141,7 @@ func limitedAPIResourceConfigSource() *serverstorage.ResourceConfig {
 | 
			
		||||
func newLimitedMaster(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
 | 
			
		||||
	etcdserver, config, assert := setUp(t)
 | 
			
		||||
	config.APIResourceConfigSource = limitedAPIResourceConfigSource()
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate, nil)
 | 
			
		||||
	master, err := config.Complete().New(genericapiserver.EmptyDelegate)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("Error in bringing up the master: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -82,8 +82,6 @@ var (
 | 
			
		||||
	storageClassColumns           = []string{"NAME", "PROVISIONER"}
 | 
			
		||||
	statusColumns                 = []string{"STATUS", "REASON", "MESSAGE"}
 | 
			
		||||
 | 
			
		||||
	// TODO: consider having 'KIND' for third party resource data
 | 
			
		||||
	thirdPartyResourceDataColumns    = []string{"NAME", "LABELS", "DATA"}
 | 
			
		||||
	horizontalPodAutoscalerColumns   = []string{"NAME", "REFERENCE", "TARGETS", "MINPODS", "MAXPODS", "REPLICAS", "AGE"}
 | 
			
		||||
	deploymentColumns                = []string{"NAME", "DESIRED", "CURRENT", "UP-TO-DATE", "AVAILABLE", "AGE"}
 | 
			
		||||
	deploymentWideColumns            = []string{"CONTAINER(S)", "IMAGE(S)", "SELECTOR"}
 | 
			
		||||
@@ -232,8 +230,6 @@ func AddHandlers(h printers.PrintHandler) {
 | 
			
		||||
	h.Handler(configMapColumns, nil, printConfigMapList)
 | 
			
		||||
	h.Handler(podSecurityPolicyColumns, nil, printPodSecurityPolicy)
 | 
			
		||||
	h.Handler(podSecurityPolicyColumns, nil, printPodSecurityPolicyList)
 | 
			
		||||
	h.Handler(thirdPartyResourceDataColumns, nil, printThirdPartyResourceData)
 | 
			
		||||
	h.Handler(thirdPartyResourceDataColumns, nil, printThirdPartyResourceDataList)
 | 
			
		||||
	h.Handler(clusterColumns, nil, printCluster)
 | 
			
		||||
	h.Handler(clusterColumns, nil, printClusterList)
 | 
			
		||||
	h.Handler(networkPolicyColumns, nil, printExtensionsNetworkPolicy)
 | 
			
		||||
@@ -1488,30 +1484,6 @@ func truncate(str string, maxLen int) string {
 | 
			
		||||
	return str
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printThirdPartyResourceData(rsrc *extensions.ThirdPartyResourceData, w io.Writer, options printers.PrintOptions) error {
 | 
			
		||||
	name := printers.FormatResourceName(options.Kind, rsrc.Name, options.WithKind)
 | 
			
		||||
 | 
			
		||||
	l := labels.FormatLabels(rsrc.Labels)
 | 
			
		||||
	truncateCols := 50
 | 
			
		||||
	if options.Wide {
 | 
			
		||||
		truncateCols = 100
 | 
			
		||||
	}
 | 
			
		||||
	if _, err := fmt.Fprintf(w, "%s\t%s\t%s\n", name, l, truncate(string(rsrc.Data), truncateCols)); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printThirdPartyResourceDataList(list *extensions.ThirdPartyResourceDataList, w io.Writer, options printers.PrintOptions) error {
 | 
			
		||||
	for _, item := range list.Items {
 | 
			
		||||
		if err := printThirdPartyResourceData(&item, w, options); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printDeployment(deployment *extensions.Deployment, w io.Writer, options printers.PrintOptions) error {
 | 
			
		||||
	name := printers.FormatResourceName(options.Kind, deployment.Name, options.WithKind)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -102,8 +102,8 @@ func TestValidateObjectMetaOwnerReferences(t *testing.T) {
 | 
			
		||||
			description: "simple success - third party extension.",
 | 
			
		||||
			ownerReferences: []metav1.OwnerReference{
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "1",
 | 
			
		||||
				},
 | 
			
		||||
@@ -128,29 +128,29 @@ func TestValidateObjectMetaOwnerReferences(t *testing.T) {
 | 
			
		||||
			description: "simple controller ref success - one reference with Controller set",
 | 
			
		||||
			ownerReferences: []metav1.OwnerReference{
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "1",
 | 
			
		||||
					Controller: &falseVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "2",
 | 
			
		||||
					Controller: &trueVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "3",
 | 
			
		||||
					Controller: &falseVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "4",
 | 
			
		||||
				},
 | 
			
		||||
@@ -162,29 +162,29 @@ func TestValidateObjectMetaOwnerReferences(t *testing.T) {
 | 
			
		||||
			description: "simple controller ref failure - two references with Controller set",
 | 
			
		||||
			ownerReferences: []metav1.OwnerReference{
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "1",
 | 
			
		||||
					Controller: &falseVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "2",
 | 
			
		||||
					Controller: &trueVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "3",
 | 
			
		||||
					Controller: &trueVar,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					APIVersion: "thirdpartyVersion",
 | 
			
		||||
					Kind:       "thirdpartyKind",
 | 
			
		||||
					APIVersion: "customresourceVersion",
 | 
			
		||||
					Kind:       "customresourceKind",
 | 
			
		||||
					Name:       "name",
 | 
			
		||||
					UID:        "4",
 | 
			
		||||
				},
 | 
			
		||||
 
 | 
			
		||||
@@ -42,10 +42,6 @@ type APIRegistrationManager struct {
 | 
			
		||||
	// registeredGroupVersions stores all API group versions for which RegisterGroup is called.
 | 
			
		||||
	registeredVersions map[schema.GroupVersion]struct{}
 | 
			
		||||
 | 
			
		||||
	// thirdPartyGroupVersions are API versions which are dynamically
 | 
			
		||||
	// registered (and unregistered) via API calls to the apiserver
 | 
			
		||||
	thirdPartyGroupVersions []schema.GroupVersion
 | 
			
		||||
 | 
			
		||||
	// enabledVersions represents all enabled API versions. It should be a
 | 
			
		||||
	// subset of registeredVersions. Please call EnableVersions() to add
 | 
			
		||||
	// enabled versions.
 | 
			
		||||
@@ -66,11 +62,10 @@ type APIRegistrationManager struct {
 | 
			
		||||
// wish to test.
 | 
			
		||||
func NewAPIRegistrationManager(kubeAPIVersions string) (*APIRegistrationManager, error) {
 | 
			
		||||
	m := &APIRegistrationManager{
 | 
			
		||||
		registeredVersions:      map[schema.GroupVersion]struct{}{},
 | 
			
		||||
		thirdPartyGroupVersions: []schema.GroupVersion{},
 | 
			
		||||
		enabledVersions:         map[schema.GroupVersion]struct{}{},
 | 
			
		||||
		groupMetaMap:            map[string]*apimachinery.GroupMeta{},
 | 
			
		||||
		envRequestedVersions:    []schema.GroupVersion{},
 | 
			
		||||
		registeredVersions:   map[schema.GroupVersion]struct{}{},
 | 
			
		||||
		enabledVersions:      map[schema.GroupVersion]struct{}{},
 | 
			
		||||
		groupMetaMap:         map[string]*apimachinery.GroupMeta{},
 | 
			
		||||
		envRequestedVersions: []schema.GroupVersion{},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(kubeAPIVersions) != 0 {
 | 
			
		||||
@@ -211,41 +206,6 @@ func (m *APIRegistrationManager) RegisteredGroupVersions() []schema.GroupVersion
 | 
			
		||||
	return ret
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsThirdPartyAPIGroupVersion returns true if the api version is a user-registered group/version.
 | 
			
		||||
func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv schema.GroupVersion) bool {
 | 
			
		||||
	for ix := range m.thirdPartyGroupVersions {
 | 
			
		||||
		if m.thirdPartyGroupVersions[ix] == gv {
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AddThirdPartyAPIGroupVersions sets the list of third party versions,
 | 
			
		||||
// registers them in the API machinery and enables them.
 | 
			
		||||
// Skips GroupVersions that are already registered.
 | 
			
		||||
// Returns the list of GroupVersions that were skipped.
 | 
			
		||||
func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...schema.GroupVersion) []schema.GroupVersion {
 | 
			
		||||
	filteredGVs := []schema.GroupVersion{}
 | 
			
		||||
	skippedGVs := []schema.GroupVersion{}
 | 
			
		||||
	for ix := range gvs {
 | 
			
		||||
		if !m.IsRegisteredVersion(gvs[ix]) {
 | 
			
		||||
			filteredGVs = append(filteredGVs, gvs[ix])
 | 
			
		||||
		} else {
 | 
			
		||||
			glog.V(3).Infof("Skipping %s, because its already registered", gvs[ix].String())
 | 
			
		||||
			skippedGVs = append(skippedGVs, gvs[ix])
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if len(filteredGVs) == 0 {
 | 
			
		||||
		return skippedGVs
 | 
			
		||||
	}
 | 
			
		||||
	m.RegisterVersions(filteredGVs)
 | 
			
		||||
	m.EnableVersions(filteredGVs...)
 | 
			
		||||
	m.thirdPartyGroupVersions = append(m.thirdPartyGroupVersions, filteredGVs...)
 | 
			
		||||
 | 
			
		||||
	return skippedGVs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// InterfacesFor is a union meta.VersionInterfacesFunc func for all registered types
 | 
			
		||||
func (m *APIRegistrationManager) InterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) {
 | 
			
		||||
	groupMeta, err := m.Group(version.Group)
 | 
			
		||||
 
 | 
			
		||||
@@ -23,83 +23,6 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/runtime/schema"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestAddThirdPartyVersionsBasic(t *testing.T) {
 | 
			
		||||
	m, err := NewAPIRegistrationManager("")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("Unexpected failure to make a manager: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	registered := []schema.GroupVersion{
 | 
			
		||||
		{
 | 
			
		||||
			Group:   "",
 | 
			
		||||
			Version: "v1",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	skipped := registered
 | 
			
		||||
	thirdParty := []schema.GroupVersion{
 | 
			
		||||
		{
 | 
			
		||||
			Group:   "company.com",
 | 
			
		||||
			Version: "v1",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Group:   "company.com",
 | 
			
		||||
			Version: "v2",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	gvs := append(registered, thirdParty...)
 | 
			
		||||
 | 
			
		||||
	m.RegisterVersions(registered)
 | 
			
		||||
	wasSkipped := m.AddThirdPartyAPIGroupVersions(gvs...)
 | 
			
		||||
	if len(wasSkipped) != len(skipped) {
 | 
			
		||||
		t.Errorf("Expected %v, found %v", skipped, wasSkipped)
 | 
			
		||||
	}
 | 
			
		||||
	for ix := range wasSkipped {
 | 
			
		||||
		found := false
 | 
			
		||||
		for _, gv := range skipped {
 | 
			
		||||
			if gv.String() == wasSkipped[ix].String() {
 | 
			
		||||
				found = true
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if !found {
 | 
			
		||||
			t.Errorf("Couldn't find %v in %v", wasSkipped[ix], skipped)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	for _, gv := range thirdParty {
 | 
			
		||||
		if !m.IsThirdPartyAPIGroupVersion(gv) {
 | 
			
		||||
			t.Errorf("Expected %v to be third party.", gv)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAddThirdPartyVersionsMultiple(t *testing.T) {
 | 
			
		||||
	thirdParty := []schema.GroupVersion{
 | 
			
		||||
		{
 | 
			
		||||
			Group:   "company.com",
 | 
			
		||||
			Version: "v1",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Group:   "company.com",
 | 
			
		||||
			Version: "v2",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	m, err := NewAPIRegistrationManager("")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatalf("Unexpected failure to make a manager: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	for _, gv := range thirdParty {
 | 
			
		||||
		wasSkipped := m.AddThirdPartyAPIGroupVersions(gv)
 | 
			
		||||
		if len(wasSkipped) != 0 {
 | 
			
		||||
			t.Errorf("Expected length 0, found %v", wasSkipped)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	for _, gv := range thirdParty {
 | 
			
		||||
		if !m.IsThirdPartyAPIGroupVersion(gv) {
 | 
			
		||||
			t.Errorf("Expected %v to be third party.", gv)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAllPreferredGroupVersions(t *testing.T) {
 | 
			
		||||
	testCases := []struct {
 | 
			
		||||
		groupMetas []apimachinery.GroupMeta
 | 
			
		||||
 
 | 
			
		||||
@@ -272,7 +272,6 @@ func TestWatchRead(t *testing.T) {
 | 
			
		||||
		// TODO: yaml stream serialization requires that RawExtension.MarshalJSON
 | 
			
		||||
		// be able to understand nested encoding (since yaml calls json.Marshal
 | 
			
		||||
		// rather than yaml.Marshal, which results in the raw bytes being in yaml).
 | 
			
		||||
		// Same problem as thirdparty object.
 | 
			
		||||
		/*{
 | 
			
		||||
			Accept:              "application/yaml",
 | 
			
		||||
			ExpectedContentType: "application/yaml;stream=watch",
 | 
			
		||||
 
 | 
			
		||||
@@ -298,9 +298,9 @@ func (versionedParameterEncoderWithV1Fallback) DecodeParameters(parameters url.V
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// VersionedParameterEncoderWithV1Fallback is useful for encoding query
 | 
			
		||||
// parameters for thirdparty resources. It tries to convert object to the
 | 
			
		||||
// parameters for custom resources. It tries to convert object to the
 | 
			
		||||
// specified version before converting it to query parameters, and falls back to
 | 
			
		||||
// converting to v1 if the object is not registered in the specified version.
 | 
			
		||||
// For the record, currently API server always treats query parameters sent to a
 | 
			
		||||
// thirdparty resource endpoint as v1.
 | 
			
		||||
// custom resource endpoint as v1.
 | 
			
		||||
var VersionedParameterEncoderWithV1Fallback runtime.ParameterCodec = versionedParameterEncoderWithV1Fallback{}
 | 
			
		||||
 
 | 
			
		||||
@@ -612,7 +612,7 @@ func startRealMasterOrDie(t *testing.T, certDir string) (*allClient, clientv3.KV
 | 
			
		||||
 | 
			
		||||
			kubeAPIServerConfig.APIResourceConfigSource = &allResourceSource{} // force enable all resources
 | 
			
		||||
 | 
			
		||||
			kubeAPIServer, err := app.CreateKubeAPIServer(kubeAPIServerConfig, genericapiserver.EmptyDelegate, sharedInformers, nil)
 | 
			
		||||
			kubeAPIServer, err := app.CreateKubeAPIServer(kubeAPIServerConfig, genericapiserver.EmptyDelegate, sharedInformers)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				t.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -122,7 +122,7 @@ func TestAggregatedAPIServer(t *testing.T) {
 | 
			
		||||
			}
 | 
			
		||||
			kubeClientConfigValue.Store(kubeAPIServerConfig.GenericConfig.LoopbackClientConfig)
 | 
			
		||||
 | 
			
		||||
			kubeAPIServer, err := app.CreateKubeAPIServer(kubeAPIServerConfig, genericapiserver.EmptyDelegate, sharedInformers, nil)
 | 
			
		||||
			kubeAPIServer, err := app.CreateKubeAPIServer(kubeAPIServerConfig, genericapiserver.EmptyDelegate, sharedInformers)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				t.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -253,7 +253,7 @@ func startMasterOrDie(masterConfig *master.Config, incomingServer *httptest.Serv
 | 
			
		||||
	}
 | 
			
		||||
	masterConfig.GenericConfig.SharedInformerFactory = extinformers.NewSharedInformerFactory(clientset, masterConfig.GenericConfig.LoopbackClientConfig.Timeout)
 | 
			
		||||
 | 
			
		||||
	m, err = masterConfig.Complete().New(genericapiserver.EmptyDelegate, nil)
 | 
			
		||||
	m, err = masterConfig.Complete().New(genericapiserver.EmptyDelegate)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		closeFn()
 | 
			
		||||
		glog.Fatalf("error in bringing up the master: %v", err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user