Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
ca7c765f
Commit
ca7c765f
authored
Nov 30, 2015
by
Kris
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove APIStatus from the client
Everything that used it also depended on pkg/api/errors. It was a needless abstraction since it was always an *errors.StatusError.
parent
9d1f07da
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17 additions
and
18 deletions
+17
-18
errors.go
pkg/api/errors/errors.go
+10
-4
client.go
pkg/client/unversioned/client.go
+0
-6
request.go
pkg/client/unversioned/request.go
+1
-1
request_test.go
pkg/client/unversioned/request_test.go
+1
-1
restclient_test.go
pkg/client/unversioned/restclient_test.go
+2
-1
edit.go
pkg/kubectl/cmd/edit.go
+1
-2
helpers.go
pkg/kubectl/cmd/util/helpers.go
+2
-3
No files found.
pkg/api/errors/errors.go
View file @
ca7c765f
...
...
@@ -45,6 +45,12 @@ type StatusError struct {
ErrStatus
unversioned
.
Status
}
// APIStatus is exposed by errors that can be converted to an api.Status object
// for finer grained details.
type
APIStatus
interface
{
Status
()
unversioned
.
Status
}
var
_
error
=
&
StatusError
{}
// Error implements the Error interface.
...
...
@@ -394,7 +400,7 @@ func IsServerTimeout(err error) bool {
// and may be the result of another HTTP actor.
func
IsUnexpectedServerError
(
err
error
)
bool
{
switch
t
:=
err
.
(
type
)
{
case
*
StatusError
:
case
APIStatus
:
if
d
:=
t
.
Status
()
.
Details
;
d
!=
nil
{
for
_
,
cause
:=
range
d
.
Causes
{
if
cause
.
Type
==
unversioned
.
CauseTypeUnexpectedServerResponse
{
...
...
@@ -416,7 +422,7 @@ func IsUnexpectedObjectError(err error) bool {
// suggested seconds to wait, or false if the error does not imply a wait.
func
SuggestsClientDelay
(
err
error
)
(
int
,
bool
)
{
switch
t
:=
err
.
(
type
)
{
case
*
StatusError
:
case
APIStatus
:
if
t
.
Status
()
.
Details
!=
nil
{
switch
t
.
Status
()
.
Reason
{
case
unversioned
.
StatusReasonServerTimeout
,
unversioned
.
StatusReasonTimeout
:
...
...
@@ -429,8 +435,8 @@ func SuggestsClientDelay(err error) (int, bool) {
func
reasonForError
(
err
error
)
unversioned
.
StatusReason
{
switch
t
:=
err
.
(
type
)
{
case
*
StatusError
:
return
t
.
ErrStatus
.
Reason
case
APIStatus
:
return
t
.
Status
()
.
Reason
}
return
unversioned
.
StatusReasonUnknown
}
pkg/client/unversioned/client.go
View file @
ca7c765f
...
...
@@ -120,12 +120,6 @@ type VersionInterface interface {
ServerAPIVersions
()
(
*
unversioned
.
APIVersions
,
error
)
}
// APIStatus is exposed by errors that can be converted to an api.Status object
// for finer grained details.
type
APIStatus
interface
{
Status
()
unversioned
.
Status
}
// Client is the implementation of a Kubernetes client.
type
Client
struct
{
*
RESTClient
...
...
pkg/client/unversioned/request.go
View file @
ca7c765f
...
...
@@ -686,7 +686,7 @@ func (r *Request) Stream() (io.ReadCloser, error) {
if
runtimeObject
,
err
:=
r
.
codec
.
Decode
(
bodyBytes
);
err
==
nil
{
statusError
:=
errors
.
FromObject
(
runtimeObject
)
if
_
,
ok
:=
statusError
.
(
APIStatus
);
ok
{
if
_
,
ok
:=
statusError
.
(
errors
.
APIStatus
);
ok
{
return
nil
,
statusError
}
}
...
...
pkg/client/unversioned/request_test.go
View file @
ca7c765f
...
...
@@ -333,7 +333,7 @@ func TestTransformResponse(t *testing.T) {
if
hasErr
!=
test
.
Error
{
t
.
Errorf
(
"%d: unexpected error: %t %v"
,
i
,
test
.
Error
,
err
)
}
else
if
hasErr
&&
test
.
Response
.
StatusCode
>
399
{
status
,
ok
:=
err
.
(
APIStatus
)
status
,
ok
:=
err
.
(
apierrors
.
APIStatus
)
if
!
ok
{
t
.
Errorf
(
"%d: response should have been transformable into APIStatus: %v"
,
i
,
err
)
continue
...
...
pkg/client/unversioned/restclient_test.go
View file @
ca7c765f
...
...
@@ -22,6 +22,7 @@ import (
"reflect"
"testing"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/util"
...
...
@@ -92,7 +93,7 @@ func TestDoRequestFailed(t *testing.T) {
if
err
==
nil
||
body
!=
nil
{
t
.
Errorf
(
"unexpected non-error: %#v"
,
body
)
}
ss
,
ok
:=
err
.
(
APIStatus
)
ss
,
ok
:=
err
.
(
errors
.
APIStatus
)
if
!
ok
{
t
.
Errorf
(
"unexpected error type %v"
,
err
)
}
...
...
pkg/kubectl/cmd/edit.go
View file @
ca7c765f
...
...
@@ -29,7 +29,6 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/unversioned"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/kubectl"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/cmd/util/editor"
...
...
@@ -370,7 +369,7 @@ func (r *editResults) addError(err error, info *resource.Info) string {
reason
:=
editReason
{
head
:
fmt
.
Sprintf
(
"%s %s was not valid"
,
info
.
Mapping
.
Kind
,
info
.
Name
),
}
if
err
,
ok
:=
err
.
(
client
.
APIStatus
);
ok
{
if
err
,
ok
:=
err
.
(
errors
.
APIStatus
);
ok
{
if
details
:=
err
.
Status
()
.
Details
;
details
!=
nil
{
for
_
,
cause
:=
range
details
.
Causes
{
reason
.
other
=
append
(
reason
.
other
,
cause
.
Message
)
...
...
pkg/kubectl/cmd/util/helpers.go
View file @
ca7c765f
...
...
@@ -31,7 +31,6 @@ import (
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/latest"
"k8s.io/kubernetes/pkg/api/unversioned"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
...
@@ -57,7 +56,7 @@ type debugError interface {
// souce is the filename or URL to the template file(*.json or *.yaml), or stdin to use to handle the resource.
func
AddSourceToErr
(
verb
string
,
source
string
,
err
error
)
error
{
if
source
!=
""
{
if
statusError
,
ok
:=
err
.
(
*
errors
.
StatusError
);
ok
{
if
statusError
,
ok
:=
err
.
(
errors
.
APIStatus
);
ok
{
status
:=
statusError
.
Status
()
status
.
Message
=
fmt
.
Sprintf
(
"error when %s %q: %v"
,
verb
,
source
,
status
.
Message
)
return
&
errors
.
StatusError
{
ErrStatus
:
status
}
...
...
@@ -145,7 +144,7 @@ func StandardErrorMessage(err error) (string, bool) {
if
debugErr
,
ok
:=
err
.
(
debugError
);
ok
{
glog
.
V
(
4
)
.
Infof
(
debugErr
.
DebugError
())
}
_
,
isStatus
:=
err
.
(
client
.
APIStatus
)
_
,
isStatus
:=
err
.
(
errors
.
APIStatus
)
switch
{
case
isStatus
:
return
fmt
.
Sprintf
(
"Error from server: %s"
,
err
.
Error
()),
true
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment