diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index 37a64461c71..337cbdb1785 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -29443,19 +29443,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus"
}
},
"202": {
"description": "Accepted",
"schema": {
- "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.apps.v1beta1.DeploymentStatus"
}
},
"401": {
@@ -47879,19 +47879,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus"
}
},
"202": {
"description": "Accepted",
"schema": {
- "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentRollback"
+ "$ref": "#/definitions/io.k8s.api.extensions.v1beta1.DeploymentStatus"
}
},
"401": {
diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json
index 999f63acf69..4d7cc7f64ee 100644
--- a/api/swagger-spec/apps_v1beta1.json
+++ b/api/swagger-spec/apps_v1beta1.json
@@ -1957,7 +1957,7 @@
"description": "API at /apis/apps/v1beta1",
"operations": [
{
- "type": "v1beta1.DeploymentRollback",
+ "type": "v1beta1.DeploymentStatus",
"method": "POST",
"summary": "create rollback of a Deployment",
"nickname": "createNamespacedDeploymentRollback",
@@ -1999,17 +1999,17 @@
{
"code": 200,
"message": "OK",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
},
{
"code": 201,
"message": "Created",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
},
{
"code": 202,
"message": "Accepted",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
}
],
"produces": [
diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json
index e8a3e2601d3..e83896b7c6b 100644
--- a/api/swagger-spec/extensions_v1beta1.json
+++ b/api/swagger-spec/extensions_v1beta1.json
@@ -2127,7 +2127,7 @@
"description": "API at /apis/extensions/v1beta1",
"operations": [
{
- "type": "v1beta1.DeploymentRollback",
+ "type": "v1beta1.DeploymentStatus",
"method": "POST",
"summary": "create rollback of a Deployment",
"nickname": "createNamespacedDeploymentRollback",
@@ -2169,17 +2169,17 @@
{
"code": 200,
"message": "OK",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
},
{
"code": 201,
"message": "Created",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
},
{
"code": 202,
"message": "Accepted",
- "responseModel": "v1beta1.DeploymentRollback"
+ "responseModel": "v1beta1.DeploymentStatus"
}
],
"produces": [
diff --git a/docs/api-reference/apps/v1beta1/operations.html b/docs/api-reference/apps/v1beta1/operations.html
index 9baddda3061..5f070284504 100755
--- a/docs/api-reference/apps/v1beta1/operations.html
+++ b/docs/api-reference/apps/v1beta1/operations.html
@@ -2950,17 +2950,17 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
202 |
Accepted |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
200 |
success |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
201 |
Created |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
diff --git a/docs/api-reference/extensions/v1beta1/operations.html b/docs/api-reference/extensions/v1beta1/operations.html
index d5fc70c6620..eb056f7f0e3 100755
--- a/docs/api-reference/extensions/v1beta1/operations.html
+++ b/docs/api-reference/extensions/v1beta1/operations.html
@@ -3508,17 +3508,17 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
202 |
Accepted |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
200 |
success |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
201 |
Created |
-v1beta1.DeploymentRollback |
+v1beta1.DeploymentStatus |
diff --git a/pkg/registry/apps/deployment/storage/BUILD b/pkg/registry/apps/deployment/storage/BUILD
index 600ff2032d2..c77794d0665 100644
--- a/pkg/registry/apps/deployment/storage/BUILD
+++ b/pkg/registry/apps/deployment/storage/BUILD
@@ -49,6 +49,7 @@ go_library(
"//pkg/printers/internalversion:go_default_library",
"//pkg/printers/storage:go_default_library",
"//pkg/registry/apps/deployment:go_default_library",
+ "//vendor/k8s.io/api/apps/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/pkg/registry/apps/deployment/storage/storage.go b/pkg/registry/apps/deployment/storage/storage.go
index c8b469ec45d..24a143f4b31 100644
--- a/pkg/registry/apps/deployment/storage/storage.go
+++ b/pkg/registry/apps/deployment/storage/storage.go
@@ -21,6 +21,7 @@ import (
"fmt"
"net/http"
+ externalappsv1beta1 "k8s.io/api/apps/v1beta1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
@@ -137,6 +138,20 @@ type RollbackREST struct {
store *genericregistry.Store
}
+// ProducesMIMETypes returns a list of the MIME types the specified HTTP verb (GET, POST, DELETE,
+// PATCH) can respond with.
+func (r *RollbackREST) ProducesMIMETypes(verb string) []string {
+ return nil
+}
+
+// ProducesObject returns an object the specified HTTP verb respond with. It will overwrite storage object if
+// it is not nil. Only the type of the return object matters, the value will be ignored.
+func (r *RollbackREST) ProducesObject(verb string) interface{} {
+ return externalappsv1beta1.DeploymentStatus{}
+}
+
+var _ = rest.StorageMetadata(&RollbackREST{})
+
// New creates a rollback
func (r *RollbackREST) New() runtime.Object {
return &extensions.DeploymentRollback{}
diff --git a/pkg/registry/extensions/rest/storage_extensions.go b/pkg/registry/extensions/rest/storage_extensions.go
index 2b21e502f07..0d7e7ebb299 100644
--- a/pkg/registry/extensions/rest/storage_extensions.go
+++ b/pkg/registry/extensions/rest/storage_extensions.go
@@ -47,6 +47,17 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
return apiGroupInfo, true
}
+type RollbackREST struct {
+ *deploymentstore.RollbackREST
+}
+
+// override RollbackREST.ProducesObject
+func (r *RollbackREST) ProducesObject(verb string) interface{} {
+ return extensionsapiv1beta1.DeploymentStatus{}
+}
+
+var _ = rest.StorageMetadata(&RollbackREST{})
+
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage {
storage := map[string]rest.Storage{}
@@ -65,7 +76,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag
deploymentStorage := deploymentstore.NewStorage(restOptionsGetter)
storage["deployments"] = deploymentStorage.Deployment.WithCategories(nil)
storage["deployments/status"] = deploymentStorage.Status
- storage["deployments/rollback"] = deploymentStorage.Rollback
+ storage["deployments/rollback"] = &RollbackREST{deploymentStorage.Rollback}
storage["deployments/scale"] = deploymentStorage.Scale
// ingresses
ingressStorage, ingressStatusStorage := ingressstore.NewREST(restOptionsGetter)