Created
May 26, 2017 16:54
-
-
Save ncdc/14d44409a564ea3bcb0966de48009045 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/metrics/apis/metrics/install/install.go b/metrics/apis/metrics/install/install.go | |
index 208ac87..29aa18a 100644 | |
--- a/metrics/apis/metrics/install/install.go | |
+++ b/metrics/apis/metrics/install/install.go | |
@@ -20,13 +20,8 @@ import ( | |
"k8s.io/apimachinery/pkg/apimachinery/registered" | |
"k8s.io/apimachinery/pkg/runtime" | |
"k8s.io/apimachinery/pkg/util/sets" | |
- "k8s.io/client-go/pkg/api" | |
) | |
-func init() { | |
- Install(api.GroupFactoryRegistry, api.Registry, api.Scheme) | |
-} | |
- | |
// Install registers the API group and adds types to a scheme | |
func Install(groupFactoryRegistry announced.APIGroupFactoryRegistry, registry *registered.APIRegistrationManager, scheme *runtime.Scheme) { | |
if err := announced.NewGroupMetaFactory( | |
diff --git a/metrics/apis/metrics/v1alpha1/register.go b/metrics/apis/metrics/v1alpha1/register.go | |
index a52e1fa..2908f5d 100644 | |
--- a/metrics/apis/metrics/v1alpha1/register.go | |
+++ b/metrics/apis/metrics/v1alpha1/register.go | |
@@ -15,7 +15,6 @@ | |
package v1alpha1 | |
import ( | |
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |
"k8s.io/apimachinery/pkg/runtime" | |
"k8s.io/apimachinery/pkg/runtime/schema" | |
"k8s.io/client-go/pkg/api/v1" | |
@@ -45,6 +44,5 @@ func addKnownTypes(scheme *runtime.Scheme) error { | |
&PodMetricsList{}, | |
&v1.ListOptions{}, | |
) | |
- metav1.AddToGroupVersion(scheme, SchemeGroupVersion) | |
return nil | |
} | |
diff --git a/metrics/cmd/heapster-apiserver/app/heapstermetrics.go b/metrics/cmd/heapster-apiserver/app/heapstermetrics.go | |
index 2ec8e82..027ef07 100644 | |
--- a/metrics/cmd/heapster-apiserver/app/heapstermetrics.go | |
+++ b/metrics/cmd/heapster-apiserver/app/heapstermetrics.go | |
@@ -21,19 +21,45 @@ import ( | |
metricsink "github.com/kubernetes-incubator/metrics-server/metrics/sinks/metric" | |
nodemetricsstorage "github.com/kubernetes-incubator/metrics-server/metrics/storage/nodemetrics" | |
podmetricsstorage "github.com/kubernetes-incubator/metrics-server/metrics/storage/podmetrics" | |
+ "k8s.io/apimachinery/pkg/apimachinery/announced" | |
+ "k8s.io/apimachinery/pkg/apimachinery/registered" | |
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |
+ "k8s.io/apimachinery/pkg/runtime" | |
+ "k8s.io/apimachinery/pkg/runtime/schema" | |
+ "k8s.io/apimachinery/pkg/runtime/serializer" | |
"k8s.io/apiserver/pkg/registry/rest" | |
genericapiserver "k8s.io/apiserver/pkg/server" | |
v1listers "k8s.io/client-go/listers/core/v1" | |
- "k8s.io/client-go/pkg/api" | |
"k8s.io/metrics/pkg/apis/metrics" | |
- _ "k8s.io/metrics/pkg/apis/metrics/install" | |
+ "k8s.io/metrics/pkg/apis/metrics/install" | |
"k8s.io/metrics/pkg/apis/metrics/v1alpha1" | |
) | |
+var ( | |
+ groupFactoryRegistry = make(announced.APIGroupFactoryRegistry) | |
+ registry = registered.NewOrDie("") | |
+ Scheme = runtime.NewScheme() | |
+ Codecs = serializer.NewCodecFactory(Scheme) | |
+) | |
+ | |
func installMetricsAPIs(s *options.HeapsterRunOptions, g *genericapiserver.GenericAPIServer, | |
metricSink *metricsink.MetricSink, nodeLister v1listers.NodeLister, podLister v1listers.PodLister) { | |
+ install.Install(groupFactoryRegistry, registry, Scheme) | |
+ | |
+ // we need to add the options to empty v1 | |
+ metav1.AddToGroupVersion(Scheme, schema.GroupVersion{Group: "", Version: "v1"}) | |
+ | |
+ unversioned := schema.GroupVersion{Group: "", Version: "v1"} | |
+ Scheme.AddUnversionedTypes(unversioned, | |
+ &metav1.Status{}, | |
+ &metav1.APIVersions{}, | |
+ &metav1.APIGroupList{}, | |
+ &metav1.APIGroup{}, | |
+ &metav1.APIResourceList{}, | |
+ ) | |
- apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(metrics.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | |
+ apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(metrics.GroupName, registry, Scheme, metav1.ParameterCodec, Codecs) | |
+ apiGroupInfo.GroupMeta.GroupVersion = v1alpha1.SchemeGroupVersion | |
nodemetricsStorage := nodemetricsstorage.NewStorage(metrics.Resource("nodemetrics"), metricSink, nodeLister) | |
podmetricsStorage := podmetricsstorage.NewStorage(metrics.Resource("podmetrics"), metricSink, podLister) | |
diff --git a/metrics/cmd/heapster-apiserver/app/server.go b/metrics/cmd/heapster-apiserver/app/server.go | |
index dee08f9..f1f3458 100644 | |
--- a/metrics/cmd/heapster-apiserver/app/server.go | |
+++ b/metrics/cmd/heapster-apiserver/app/server.go | |
@@ -26,7 +26,6 @@ import ( | |
"k8s.io/apimachinery/pkg/util/wait" | |
genericapiserver "k8s.io/apiserver/pkg/server" | |
v1listers "k8s.io/client-go/listers/core/v1" | |
- "k8s.io/client-go/pkg/api" | |
) | |
type HeapsterAPIServer struct { | |
@@ -65,7 +64,7 @@ func newAPIServer(s *options.HeapsterRunOptions) (*genericapiserver.GenericAPISe | |
return nil, fmt.Errorf("error creating self-signed certificates: %v", err) | |
} | |
- serverConfig := genericapiserver.NewConfig(api.Codecs) | |
+ serverConfig := genericapiserver.NewConfig(Codecs) | |
if err := s.SecureServing.ApplyTo(serverConfig); err != nil { | |
return nil, err |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment