提交 7796e3a1 编写于 作者: M Marcin Maciaszczyk 提交者: Kubernetes Prow Robot

Update API versions (#4377)

* Use apps/v1 instead of apps/v1beta2

* Update clients used for specific kinds of resources

* Add missing prefix

* Update client for replica sets

* Fix tests
上级 5c4a9f82
......@@ -157,7 +157,7 @@ subjects:
---
kind: Deployment
apiVersion: apps/v1beta2
apiVersion: apps/v1
metadata:
labels:
k8s-app: kubernetes-dashboard
......
......@@ -13,7 +13,7 @@
# limitations under the License.
kind: Deployment
apiVersion: apps/v1beta2
apiVersion: apps/v1
metadata:
labels:
k8s-app: kubernetes-dashboard
......
......@@ -157,7 +157,7 @@ subjects:
---
kind: Deployment
apiVersion: apps/v1beta2
apiVersion: apps/v1
metadata:
labels:
k8s-app: kubernetes-dashboard-head
......
......@@ -14,7 +14,7 @@
# A manifest that creates a daemon set.
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: nginx-daemon
......
apiVersion: apiextensions.k8s.io/v1beta1
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: plugins.dashboard.k8s.io
......
......@@ -187,12 +187,13 @@ type APIMapping struct {
}
// Mapping from resource kind to K8s apiserver API path. This is mostly pluralization, because
// K8s apiserver uses plural paths and this project singular.
// Kubernetes apiserver uses plural paths and this project singular.
// Must be kept in sync with the list of supported kinds.
// See: https://kubernetes.io/docs/reference/
var KindToAPIMapping = map[string]APIMapping{
ResourceKindConfigMap: {"configmaps", ClientTypeDefault, true},
ResourceKindDaemonSet: {"daemonsets", ClientTypeExtensionClient, true},
ResourceKindDeployment: {"deployments", ClientTypeExtensionClient, true},
ResourceKindDaemonSet: {"daemonsets", ClientTypeAppsClient, true},
ResourceKindDeployment: {"deployments", ClientTypeAppsClient, true},
ResourceKindEvent: {"events", ClientTypeDefault, true},
ResourceKindHorizontalPodAutoscaler: {"horizontalpodautoscalers", ClientTypeAutoscalingClient, true},
ResourceKindIngress: {"ingresses", ClientTypeExtensionClient, true},
......@@ -205,7 +206,7 @@ var KindToAPIMapping = map[string]APIMapping{
ResourceKindPersistentVolume: {"persistentvolumes", ClientTypeDefault, false},
ResourceKindCustomResourceDefinition: {"customresourcedefinitions", ClientTypeAPIExtensionsClient, false},
ResourceKindPod: {"pods", ClientTypeDefault, true},
ResourceKindReplicaSet: {"replicasets", ClientTypeExtensionClient, true},
ResourceKindReplicaSet: {"replicasets", ClientTypeAppsClient, true},
ResourceKindReplicationController: {"replicationcontrollers", ClientTypeDefault, true},
ResourceKindResourceQuota: {"resourcequotas", ClientTypeDefault, true},
ResourceKindSecret: {"secrets", ClientTypeDefault, true},
......
......@@ -261,7 +261,7 @@ func (self *clientManager) VerberClient(req *restful.Request, config *rest.Confi
k8sClient.ExtensionsV1beta1().RESTClient(), k8sClient.AppsV1().RESTClient(),
k8sClient.BatchV1().RESTClient(), k8sClient.BatchV1beta1().RESTClient(), k8sClient.AutoscalingV1().RESTClient(),
k8sClient.StorageV1().RESTClient(), k8sClient.RbacV1().RESTClient(),
apiextensionsclient.ApiextensionsV1beta1().RESTClient(),
apiextensionsclient.ApiextensionsV1().RESTClient(),
pluginsclient.DashboardV1alpha1().RESTClient(),
config), nil
}
......
......@@ -77,7 +77,7 @@ func TestDeleteShouldPropagateErrorsAndChoseClient(t *testing.T) {
err := verber.Delete("replicaset", true, "bar", "baz")
if !reflect.DeepEqual(err, errors.NewInvalid("err from extensions")) {
if !reflect.DeepEqual(err, errors.NewInvalid("err from apps")) {
t.Fatalf("Expected error on verber delete but got %#v", err.Error())
}
......@@ -103,7 +103,7 @@ func TestGetShouldPropagateErrorsAndChoseClient(t *testing.T) {
_, err := verber.Get("replicaset", true, "bar", "baz")
if !reflect.DeepEqual(err, errors.NewInvalid("err from extensions")) {
if !reflect.DeepEqual(err, errors.NewInvalid("err from apps")) {
t.Fatalf("Expected error on verber delete but got %#v", err)
}
......
......@@ -214,10 +214,6 @@ func DeployApp(spec *AppDeploymentSpec, client client.Interface) error {
Replicas: &spec.Replicas,
Template: podTemplate,
Selector: &metaV1.LabelSelector{
// Quoting from https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#selector:
// In API version apps/v1beta2, .spec.selector and .metadata.labels no longer default to
// .spec.template.metadata.labels if not set. So they must be set explicitly.
// Also note that .spec.selector is immutable after creation of the Deployment in apps/v1beta2.
MatchLabels: labels,
},
},
......
......@@ -17,6 +17,7 @@ package scaling
import (
"strconv"
apps "k8s.io/api/apps/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/discovery"
"k8s.io/client-go/discovery/cached/memory"
......@@ -25,7 +26,6 @@ import (
"k8s.io/client-go/rest"
"k8s.io/client-go/restmapper"
"k8s.io/client-go/scale"
"k8s.io/client-go/scale/scheme/appsv1beta2"
)
// ReplicaCounts provide the desired and actual number of replicas.
......@@ -92,7 +92,7 @@ func getScaleGetter(cfg *rest.Config) (scale.ScalesGetter, error) {
return nil, err
}
cfg.GroupVersion = &appsv1beta2.SchemeGroupVersion
cfg.GroupVersion = &apps.SchemeGroupVersion
cfg.NegotiatedSerializer = scheme.Codecs
restClient, err := rest.RESTClientFor(cfg)
......@@ -117,6 +117,6 @@ func getGroupResource(kind string) schema.GroupResource {
if gr.Group != "" && gr.Resource != "" {
return gr
} else {
return appsv1beta2.Resource(kind)
return apps.Resource(kind)
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册