From 14d5793869a22901c1e034f7ded68bf28d46d0f3 Mon Sep 17 00:00:00 2001 From: foxish Date: Mon, 17 Jul 2017 15:56:48 -0700 Subject: [PATCH] DS: changes to server and storage --- cmd/kube-apiserver/app/server.go | 3 ++- pkg/registry/apps/rest/storage_apps.go | 6 ++++++ staging/src/k8s.io/api/apps/v1beta2/register.go | 2 ++ test/integration/etcd/etcd_storage_path_test.go | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index d35cd7d8c01..abf3ac5b4cb 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -558,8 +558,9 @@ func BuildStorageFactory(s *options.ServerRunOptions) (*serverstorage.DefaultSto return nil, fmt.Errorf("error in initializing storage factory: %s", err) } - // keep Deployments and NetworkPolicies in extensions for backwards compatibility, we'll have to migrate at some point, eventually + // keep Deployments, NetworkPolicies and Daemonsets in extensions for backwards compatibility, we'll have to migrate at some point, eventually storageFactory.AddCohabitatingResources(extensions.Resource("deployments"), apps.Resource("deployments")) + storageFactory.AddCohabitatingResources(extensions.Resource("daemonsets"), apps.Resource("daemonsets")) storageFactory.AddCohabitatingResources(extensions.Resource("networkpolicies"), networking.Resource("networkpolicies")) for _, override := range s.Etcd.EtcdServersOverrides { tokens := strings.Split(override, "#") diff --git a/pkg/registry/apps/rest/storage_apps.go b/pkg/registry/apps/rest/storage_apps.go index 422eab82783..52774ad83f7 100644 --- a/pkg/registry/apps/rest/storage_apps.go +++ b/pkg/registry/apps/rest/storage_apps.go @@ -27,6 +27,7 @@ import ( "k8s.io/kubernetes/pkg/apis/apps" controllerrevisionsstore "k8s.io/kubernetes/pkg/registry/apps/controllerrevision/storage" statefulsetstore "k8s.io/kubernetes/pkg/registry/apps/statefulset/storage" + daemonsetstore "k8s.io/kubernetes/pkg/registry/extensions/daemonset/storage" deploymentstore "k8s.io/kubernetes/pkg/registry/extensions/deployment/storage" ) @@ -88,6 +89,11 @@ func (p RESTStorageProvider) v1beta2Storage(apiResourceConfigSource serverstorag storage["statefulsets"] = statefulsetStorage storage["statefulsets/status"] = statefulsetStatusStorage } + if apiResourceConfigSource.ResourceEnabled(version.WithResource("daemonsets")) { + daemonSetStorage, daemonSetStatusStorage := daemonsetstore.NewREST(restOptionsGetter) + storage["daemonsets"] = daemonSetStorage + storage["daemonsets/status"] = daemonSetStatusStorage + } return storage } diff --git a/staging/src/k8s.io/api/apps/v1beta2/register.go b/staging/src/k8s.io/api/apps/v1beta2/register.go index c0a828643c9..ca323f66b69 100644 --- a/staging/src/k8s.io/api/apps/v1beta2/register.go +++ b/staging/src/k8s.io/api/apps/v1beta2/register.go @@ -50,6 +50,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &Scale{}, &StatefulSet{}, &StatefulSetList{}, + &DaemonSet{}, + &DaemonSetList{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/test/integration/etcd/etcd_storage_path_test.go b/test/integration/etcd/etcd_storage_path_test.go index 3146b4327e5..fa19f9fcce6 100644 --- a/test/integration/etcd/etcd_storage_path_test.go +++ b/test/integration/etcd/etcd_storage_path_test.go @@ -158,6 +158,11 @@ var etcdStorageData = map[schema.GroupVersionResource]struct { expectedEtcdPath: "/registry/deployments/etcdstoragepathtestnamespace/deployment3", expectedGVK: gvkP("extensions", "v1beta1", "Deployment"), }, + gvr("apps", "v1beta2", "daemonsets"): { + stub: `{"metadata": {"name": "ds5"}, "spec": {"selector": {"matchLabels": {"a": "b"}}, "template": {"metadata": {"labels": {"a": "b"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container6"}]}}}}`, + expectedEtcdPath: "/registry/daemonsets/etcdstoragepathtestnamespace/ds5", + expectedGVK: gvkP("extensions", "v1beta1", "DaemonSet"), + }, // -- // k8s.io/kubernetes/pkg/apis/autoscaling/v1