mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-11-28 03:47:34 +00:00
Moving Status object to a common package
This commit is contained in:
@@ -24,6 +24,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
)
|
||||
|
||||
@@ -117,7 +118,7 @@ type VersionInterface interface {
|
||||
// APIStatus is exposed by errors that can be converted to an api.Status object
|
||||
// for finer grained details.
|
||||
type APIStatus interface {
|
||||
Status() api.Status
|
||||
Status() unversioned.Status
|
||||
}
|
||||
|
||||
// Client is the implementation of a Kubernetes client.
|
||||
|
||||
@@ -23,6 +23,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/resource"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
)
|
||||
@@ -37,7 +38,7 @@ func TestListNodes(t *testing.T) {
|
||||
Method: "GET",
|
||||
Path: testapi.Default.ResourcePath(getNodesResourceName(), "", ""),
|
||||
},
|
||||
Response: Response{StatusCode: 200, Body: &api.NodeList{ListMeta: api.ListMeta{ResourceVersion: "1"}}},
|
||||
Response: Response{StatusCode: 200, Body: &api.NodeList{ListMeta: unversioned.ListMeta{ResourceVersion: "1"}}},
|
||||
}
|
||||
response, err := c.Setup(t).Nodes().List(labels.Everything(), fields.Everything())
|
||||
c.Validate(t, response, err)
|
||||
|
||||
@@ -33,6 +33,7 @@ import (
|
||||
"github.com/golang/glog"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/client/metrics"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
@@ -757,7 +758,7 @@ func (r *Request) transformResponse(resp *http.Response, req *http.Request) Resu
|
||||
|
||||
// Did the server give us a status response?
|
||||
isStatusResponse := false
|
||||
var status api.Status
|
||||
var status unversioned.Status
|
||||
if err := r.codec.DecodeInto(body, &status); err == nil && status.Status != "" {
|
||||
isStatusResponse = true
|
||||
}
|
||||
@@ -774,7 +775,7 @@ func (r *Request) transformResponse(resp *http.Response, req *http.Request) Resu
|
||||
|
||||
// If the server gave us a status back, look at what it was.
|
||||
success := resp.StatusCode >= http.StatusOK && resp.StatusCode <= http.StatusPartialContent
|
||||
if isStatusResponse && (status.Status != api.StatusSuccess && !success) {
|
||||
if isStatusResponse && (status.Status != unversioned.StatusSuccess && !success) {
|
||||
// "Failed" requests are clearly just an error and it makes sense to return them as such.
|
||||
return Result{err: errors.FromObject(&status)}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
apierrors "k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util"
|
||||
@@ -436,9 +437,9 @@ func TestRequestWatch(t *testing.T) {
|
||||
client: clientFunc(func(req *http.Request) (*http.Response, error) {
|
||||
return &http.Response{
|
||||
StatusCode: http.StatusUnauthorized,
|
||||
Body: ioutil.NopCloser(bytes.NewReader([]byte(runtime.EncodeOrDie(testapi.Default.Codec(), &api.Status{
|
||||
Status: api.StatusFailure,
|
||||
Reason: api.StatusReasonUnauthorized,
|
||||
Body: ioutil.NopCloser(bytes.NewReader([]byte(runtime.EncodeOrDie(testapi.Default.Codec(), &unversioned.Status{
|
||||
Status: unversioned.StatusFailure,
|
||||
Reason: unversioned.StatusReasonUnauthorized,
|
||||
})))),
|
||||
}, nil
|
||||
}),
|
||||
@@ -536,9 +537,9 @@ func TestRequestStream(t *testing.T) {
|
||||
client: clientFunc(func(req *http.Request) (*http.Response, error) {
|
||||
return &http.Response{
|
||||
StatusCode: http.StatusUnauthorized,
|
||||
Body: ioutil.NopCloser(bytes.NewReader([]byte(runtime.EncodeOrDie(testapi.Default.Codec(), &api.Status{
|
||||
Status: api.StatusFailure,
|
||||
Reason: api.StatusReasonUnauthorized,
|
||||
Body: ioutil.NopCloser(bytes.NewReader([]byte(runtime.EncodeOrDie(testapi.Default.Codec(), &unversioned.Status{
|
||||
Status: unversioned.StatusFailure,
|
||||
Reason: unversioned.StatusReasonUnauthorized,
|
||||
})))),
|
||||
}, nil
|
||||
}),
|
||||
|
||||
@@ -22,8 +22,8 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util"
|
||||
)
|
||||
@@ -107,7 +107,7 @@ func TestValidatesHostParameter(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDoRequestBearer(t *testing.T) {
|
||||
status := &api.Status{Status: api.StatusFailure}
|
||||
status := &unversioned.Status{Status: unversioned.StatusFailure}
|
||||
expectedBody, _ := testapi.Default.Codec().Encode(status)
|
||||
fakeHandler := util.FakeHandler{
|
||||
StatusCode: 400,
|
||||
@@ -136,7 +136,7 @@ func TestDoRequestBearer(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDoRequestWithoutPassword(t *testing.T) {
|
||||
status := &api.Status{Status: api.StatusFailure}
|
||||
status := &unversioned.Status{Status: unversioned.StatusFailure}
|
||||
expectedBody, _ := testapi.Default.Codec().Encode(status)
|
||||
fakeHandler := util.FakeHandler{
|
||||
StatusCode: 400,
|
||||
@@ -175,7 +175,7 @@ func TestDoRequestWithoutPassword(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDoRequestSuccess(t *testing.T) {
|
||||
status := &api.Status{Status: api.StatusSuccess}
|
||||
status := &unversioned.Status{Status: unversioned.StatusSuccess}
|
||||
expectedBody, _ := testapi.Default.Codec().Encode(status)
|
||||
fakeHandler := util.FakeHandler{
|
||||
StatusCode: 200,
|
||||
@@ -212,12 +212,12 @@ func TestDoRequestSuccess(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDoRequestFailed(t *testing.T) {
|
||||
status := &api.Status{
|
||||
status := &unversioned.Status{
|
||||
Code: http.StatusNotFound,
|
||||
Status: api.StatusFailure,
|
||||
Reason: api.StatusReasonNotFound,
|
||||
Status: unversioned.StatusFailure,
|
||||
Reason: unversioned.StatusReasonNotFound,
|
||||
Message: " \"\" not found",
|
||||
Details: &api.StatusDetails{},
|
||||
Details: &unversioned.StatusDetails{},
|
||||
}
|
||||
expectedBody, _ := testapi.Default.Codec().Encode(status)
|
||||
fakeHandler := util.FakeHandler{
|
||||
@@ -250,7 +250,7 @@ func TestDoRequestFailed(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDoRequestCreated(t *testing.T) {
|
||||
status := &api.Status{Status: api.StatusSuccess}
|
||||
status := &unversioned.Status{Status: unversioned.StatusSuccess}
|
||||
expectedBody, _ := testapi.Default.Codec().Encode(status)
|
||||
fakeHandler := util.FakeHandler{
|
||||
StatusCode: 201,
|
||||
|
||||
@@ -25,6 +25,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/errors"
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/yaml"
|
||||
@@ -183,11 +184,11 @@ func (o objects) Kind(kind, name string) (runtime.Object, error) {
|
||||
}
|
||||
o.last[kind] = index + 1
|
||||
|
||||
if status, ok := out.(*api.Status); ok {
|
||||
if status, ok := out.(*unversioned.Status); ok {
|
||||
if status.Details != nil {
|
||||
status.Details.Kind = kind
|
||||
}
|
||||
if status.Status != api.StatusSuccess {
|
||||
if status.Status != unversioned.StatusSuccess {
|
||||
return nilValue, &errors.StatusError{ErrStatus: *status}
|
||||
}
|
||||
}
|
||||
@@ -220,7 +221,7 @@ func (o objects) Add(obj runtime.Object) error {
|
||||
}
|
||||
}
|
||||
default:
|
||||
if status, ok := obj.(*api.Status); ok && status.Details != nil {
|
||||
if status, ok := obj.(*unversioned.Status); ok && status.Details != nil {
|
||||
kind = status.Details.Kind
|
||||
}
|
||||
o.types[kind] = append(o.types[kind], obj)
|
||||
|
||||
Reference in New Issue
Block a user