diff --git a/federation/apis/core/register.go b/federation/apis/core/register.go index 25c301daaad..1f0ca296d19 100644 --- a/federation/apis/core/register.go +++ b/federation/apis/core/register.go @@ -59,6 +59,8 @@ func AddToScheme(scheme *runtime.Scheme) { scheme.AddKnownTypes(SchemeGroupVersion, &api.ServiceList{}, &api.Service{}, + &api.Namespace{}, + &api.NamespaceList{}, &api.ListOptions{}, &api.DeleteOptions{}, ) diff --git a/federation/apis/core/v1/defaults.go b/federation/apis/core/v1/defaults.go index 2ce41474eb9..4662a2ad772 100644 --- a/federation/apis/core/v1/defaults.go +++ b/federation/apis/core/v1/defaults.go @@ -24,5 +24,6 @@ import ( func addDefaultingFuncs(scheme *runtime.Scheme) { scheme.AddDefaultingFuncs( v1.SetDefaults_ServiceSpec, + v1.SetDefaults_NamespaceStatus, ) } diff --git a/federation/apis/core/v1/register.go b/federation/apis/core/v1/register.go index 48655967327..9a6e2c41443 100644 --- a/federation/apis/core/v1/register.go +++ b/federation/apis/core/v1/register.go @@ -38,6 +38,8 @@ func AddToScheme(scheme *runtime.Scheme) { func addKnownTypes(scheme *runtime.Scheme) { scheme.AddKnownTypes(SchemeGroupVersion, &v1.Service{}, + &v1.Namespace{}, + &v1.NamespaceList{}, &v1.ServiceList{}, &v1.ListOptions{}, &v1.DeleteOptions{}, diff --git a/federation/cmd/federation-apiserver/app/core.go b/federation/cmd/federation-apiserver/app/core.go index a473bc0b7d2..d80295fd014 100644 --- a/federation/cmd/federation-apiserver/app/core.go +++ b/federation/cmd/federation-apiserver/app/core.go @@ -27,14 +27,18 @@ import ( "k8s.io/kubernetes/federation/apis/core/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" + namespaceetcd "k8s.io/kubernetes/pkg/registry/namespace/etcd" serviceetcd "k8s.io/kubernetes/pkg/registry/service/etcd" ) func installCoreAPIs(s *genericoptions.ServerRunOptions, g *genericapiserver.GenericAPIServer, f genericapiserver.StorageFactory) { - serviceStore, serviceStatusStorage := serviceetcd.NewREST(createRESTOptionsOrDie(s, g, f, api.Resource("service"))) + serviceStore, serviceStatusStore := serviceetcd.NewREST(createRESTOptionsOrDie(s, g, f, api.Resource("service"))) + namespaceStore, namespaceStatusStore, _ := namespaceetcd.NewREST(createRESTOptionsOrDie(s, g, f, api.Resource("namespaces"))) coreResources := map[string]rest.Storage{ - "services": serviceStore, - "services/status": serviceStatusStorage, + "services": serviceStore, + "services/status": serviceStatusStore, + "namespaces": namespaceStore, + "namespaces/status": namespaceStatusStore, } coreGroupMeta := registered.GroupOrDie(core.GroupName) apiGroupInfo := genericapiserver.APIGroupInfo{