Updating StatusDetails.ID to Name in internal API

This commit is contained in:
nikhiljindal 2015-06-05 06:45:59 -07:00
parent a161edb396
commit 7cc50448e3
10 changed files with 148 additions and 147 deletions

View File

@ -1971,7 +1971,7 @@ func deepCopy_api_StatusCause(in StatusCause, out *StatusCause, c *conversion.Cl
}
func deepCopy_api_StatusDetails(in StatusDetails, out *StatusDetails, c *conversion.Cloner) error {
out.ID = in.ID
out.Name = in.Name
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]StatusCause, len(in.Causes))

View File

@ -95,7 +95,7 @@ func NewNotFound(kind, name string) error {
Reason: api.StatusReasonNotFound,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
},
Message: fmt.Sprintf("%s %q not found", kind, name),
}}
@ -109,7 +109,7 @@ func NewAlreadyExists(kind, name string) error {
Reason: api.StatusReasonAlreadyExists,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
},
Message: fmt.Sprintf("%s %q already exists", kind, name),
}}
@ -138,7 +138,7 @@ func NewForbidden(kind, name string, err error) error {
Reason: api.StatusReasonForbidden,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
},
Message: fmt.Sprintf("%s %q is forbidden: %v", kind, name, err),
}}
@ -152,7 +152,7 @@ func NewConflict(kind, name string, err error) error {
Reason: api.StatusReasonConflict,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
},
Message: fmt.Sprintf("%s %q cannot be updated: %v", kind, name, err),
}}
@ -176,7 +176,7 @@ func NewInvalid(kind, name string, errs fielderrors.ValidationErrorList) error {
Reason: api.StatusReasonInvalid,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
Causes: causes,
},
Message: fmt.Sprintf("%s %q is invalid: %v", kind, name, errors.NewAggregate(errs)),
@ -215,7 +215,7 @@ func NewServerTimeout(kind, operation string, retryAfterSeconds int) error {
Reason: api.StatusReasonServerTimeout,
Details: &api.StatusDetails{
Kind: kind,
ID: operation,
Name: operation,
RetryAfterSeconds: retryAfterSeconds,
},
Message: fmt.Sprintf("The %s operation against %s could not be completed at this time, please try again.", operation, kind),
@ -314,7 +314,7 @@ func NewGenericServerResponse(code int, verb, kind, name, serverMessage string,
Reason: reason,
Details: &api.StatusDetails{
Kind: kind,
ID: name,
Name: name,
Causes: causes,
RetryAfterSeconds: retryAfterSeconds,

View File

@ -95,7 +95,7 @@ func TestNewInvalid(t *testing.T) {
fielderrors.NewFieldDuplicate("field[0].name", "bar"),
&api.StatusDetails{
Kind: "kind",
ID: "name",
Name: "name",
Causes: []api.StatusCause{{
Type: api.CauseTypeFieldValueDuplicate,
Field: "field[0].name",
@ -106,7 +106,7 @@ func TestNewInvalid(t *testing.T) {
fielderrors.NewFieldInvalid("field[0].name", "bar", "detail"),
&api.StatusDetails{
Kind: "kind",
ID: "name",
Name: "name",
Causes: []api.StatusCause{{
Type: api.CauseTypeFieldValueInvalid,
Field: "field[0].name",
@ -117,7 +117,7 @@ func TestNewInvalid(t *testing.T) {
fielderrors.NewFieldNotFound("field[0].name", "bar"),
&api.StatusDetails{
Kind: "kind",
ID: "name",
Name: "name",
Causes: []api.StatusCause{{
Type: api.CauseTypeFieldValueNotFound,
Field: "field[0].name",
@ -128,7 +128,7 @@ func TestNewInvalid(t *testing.T) {
fielderrors.NewFieldNotSupported("field[0].name", "bar"),
&api.StatusDetails{
Kind: "kind",
ID: "name",
Name: "name",
Causes: []api.StatusCause{{
Type: api.CauseTypeFieldValueNotSupported,
Field: "field[0].name",
@ -139,7 +139,7 @@ func TestNewInvalid(t *testing.T) {
fielderrors.NewFieldRequired("field[0].name"),
&api.StatusDetails{
Kind: "kind",
ID: "name",
Name: "name",
Causes: []api.StatusCause{{
Type: api.CauseTypeFieldValueRequired,
Field: "field[0].name",

View File

@ -1536,10 +1536,9 @@ type Status struct {
// and should assume that any attribute may be empty, invalid, or under
// defined.
type StatusDetails struct {
// The ID attribute of the resource associated with the status StatusReason
// (when there is a single ID which can be described).
// TODO: replace with Name with v1beta3
ID string `json:"id,omitempty"`
// The name attribute of the resource associated with the status StatusReason
// (when there is a single name which can be described).
Name string `json:"name,omitempty"`
// The kind attribute of the resource associated with the status StatusReason.
// On some operations may differ from the requested resource Kind.
Kind string `json:"kind,omitempty"`

View File

@ -27,8 +27,6 @@ import (
func addConversionFuncs() {
// Add non-generated conversion functions
err := api.Scheme.AddConversionFuncs(
convert_api_StatusDetails_To_v1_StatusDetails,
convert_v1_StatusDetails_To_api_StatusDetails,
convert_v1_ReplicationControllerSpec_To_api_ReplicationControllerSpec,
convert_api_ReplicationControllerSpec_To_v1_ReplicationControllerSpec,
)
@ -145,66 +143,6 @@ func addConversionFuncs() {
}
}
func convert_v1_StatusDetails_To_api_StatusDetails(in *StatusDetails, out *api.StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusDetails))(in)
}
out.ID = in.Name
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]api.StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_v1_StatusCause_To_api_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_api_StatusDetails_To_v1_StatusDetails(in *api.StatusDetails, out *StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusDetails))(in)
}
out.Name = in.ID
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_api_StatusCause_To_v1_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_v1_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusCause))(in)
}
out.Type = api.CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_api_StatusCause_To_v1_StatusCause(in *api.StatusCause, out *StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusCause))(in)
}
out.Type = CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_api_ReplicationControllerSpec_To_v1_ReplicationControllerSpec(in *api.ReplicationControllerSpec, out *ReplicationControllerSpec, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.ReplicationControllerSpec))(in)

View File

@ -2165,6 +2165,36 @@ func convert_api_Status_To_v1_Status(in *api.Status, out *Status, s conversion.S
return nil
}
func convert_api_StatusCause_To_v1_StatusCause(in *api.StatusCause, out *StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusCause))(in)
}
out.Type = CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_api_StatusDetails_To_v1_StatusDetails(in *api.StatusDetails, out *StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusDetails))(in)
}
out.Name = in.Name
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_api_StatusCause_To_v1_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_api_TCPSocketAction_To_v1_TCPSocketAction(in *api.TCPSocketAction, out *TCPSocketAction, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.TCPSocketAction))(in)
@ -4440,6 +4470,36 @@ func convert_v1_Status_To_api_Status(in *Status, out *api.Status, s conversion.S
return nil
}
func convert_v1_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusCause))(in)
}
out.Type = api.CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_v1_StatusDetails_To_api_StatusDetails(in *StatusDetails, out *api.StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusDetails))(in)
}
out.Name = in.Name
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]api.StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_v1_StatusCause_To_api_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_v1_TCPSocketAction_To_api_TCPSocketAction(in *TCPSocketAction, out *api.TCPSocketAction, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*TCPSocketAction))(in)
@ -4682,6 +4742,8 @@ func init() {
convert_api_ServiceSpec_To_v1_ServiceSpec,
convert_api_ServiceStatus_To_v1_ServiceStatus,
convert_api_Service_To_v1_Service,
convert_api_StatusCause_To_v1_StatusCause,
convert_api_StatusDetails_To_v1_StatusDetails,
convert_api_Status_To_v1_Status,
convert_api_TCPSocketAction_To_v1_TCPSocketAction,
convert_api_TypeMeta_To_v1_TypeMeta,
@ -4793,6 +4855,8 @@ func init() {
convert_v1_ServiceSpec_To_api_ServiceSpec,
convert_v1_ServiceStatus_To_api_ServiceStatus,
convert_v1_Service_To_api_Service,
convert_v1_StatusCause_To_api_StatusCause,
convert_v1_StatusDetails_To_api_StatusDetails,
convert_v1_Status_To_api_Status,
convert_v1_TCPSocketAction_To_api_TCPSocketAction,
convert_v1_TypeMeta_To_api_TypeMeta,

View File

@ -37,6 +37,10 @@ func addConversionFuncs() {
convert_api_ContainerState_To_v1beta3_ContainerState,
convert_api_ContainerStateTerminated_To_v1beta3_ContainerStateTerminated,
convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated,
convert_v1beta3_StatusDetails_To_api_StatusDetails,
convert_api_StatusDetails_To_v1beta3_StatusDetails,
convert_v1beta3_StatusCause_To_api_StatusCause,
convert_api_StatusCause_To_v1beta3_StatusCause,
)
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
@ -648,3 +652,63 @@ func convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated(in
out.ContainerID = in.ContainerID
return nil
}
func convert_v1beta3_StatusDetails_To_api_StatusDetails(in *StatusDetails, out *api.StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusDetails))(in)
}
out.Name = in.ID
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]api.StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_v1beta3_StatusCause_To_api_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_api_StatusDetails_To_v1beta3_StatusDetails(in *api.StatusDetails, out *StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusDetails))(in)
}
out.ID = in.Name
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_api_StatusCause_To_v1beta3_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_v1beta3_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusCause))(in)
}
out.Type = api.CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_api_StatusCause_To_v1beta3_StatusCause(in *api.StatusCause, out *StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusCause))(in)
}
out.Type = CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}

View File

@ -1949,36 +1949,6 @@ func convert_api_Status_To_v1beta3_Status(in *api.Status, out *Status, s convers
return nil
}
func convert_api_StatusCause_To_v1beta3_StatusCause(in *api.StatusCause, out *StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusCause))(in)
}
out.Type = CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_api_StatusDetails_To_v1beta3_StatusDetails(in *api.StatusDetails, out *StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.StatusDetails))(in)
}
out.ID = in.ID
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_api_StatusCause_To_v1beta3_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_api_TCPSocketAction_To_v1beta3_TCPSocketAction(in *api.TCPSocketAction, out *TCPSocketAction, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*api.TCPSocketAction))(in)
@ -4038,36 +4008,6 @@ func convert_v1beta3_Status_To_api_Status(in *Status, out *api.Status, s convers
return nil
}
func convert_v1beta3_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusCause))(in)
}
out.Type = api.CauseType(in.Type)
out.Message = in.Message
out.Field = in.Field
return nil
}
func convert_v1beta3_StatusDetails_To_api_StatusDetails(in *StatusDetails, out *api.StatusDetails, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*StatusDetails))(in)
}
out.ID = in.ID
out.Kind = in.Kind
if in.Causes != nil {
out.Causes = make([]api.StatusCause, len(in.Causes))
for i := range in.Causes {
if err := convert_v1beta3_StatusCause_To_api_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil {
return err
}
}
} else {
out.Causes = nil
}
out.RetryAfterSeconds = in.RetryAfterSeconds
return nil
}
func convert_v1beta3_TCPSocketAction_To_api_TCPSocketAction(in *TCPSocketAction, out *api.TCPSocketAction, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*TCPSocketAction))(in)
@ -4306,8 +4246,6 @@ func init() {
convert_api_ServicePort_To_v1beta3_ServicePort,
convert_api_ServiceStatus_To_v1beta3_ServiceStatus,
convert_api_Service_To_v1beta3_Service,
convert_api_StatusCause_To_v1beta3_StatusCause,
convert_api_StatusDetails_To_v1beta3_StatusDetails,
convert_api_Status_To_v1beta3_Status,
convert_api_TCPSocketAction_To_v1beta3_TCPSocketAction,
convert_api_TypeMeta_To_v1beta3_TypeMeta,
@ -4415,8 +4353,6 @@ func init() {
convert_v1beta3_ServicePort_To_api_ServicePort,
convert_v1beta3_ServiceStatus_To_api_ServiceStatus,
convert_v1beta3_Service_To_api_Service,
convert_v1beta3_StatusCause_To_api_StatusCause,
convert_v1beta3_StatusDetails_To_api_StatusDetails,
convert_v1beta3_Status_To_api_Status,
convert_v1beta3_TCPSocketAction_To_api_TCPSocketAction,
convert_v1beta3_TypeMeta_To_api_TypeMeta,

View File

@ -35,7 +35,7 @@ func TestErrorsToAPIStatus(t *testing.T) {
Message: "foo \"bar\" not found",
Details: &api.StatusDetails{
Kind: "foo",
ID: "bar",
Name: "bar",
},
},
errors.NewAlreadyExists("foo", "bar"): {
@ -45,7 +45,7 @@ func TestErrorsToAPIStatus(t *testing.T) {
Message: "foo \"bar\" already exists",
Details: &api.StatusDetails{
Kind: "foo",
ID: "bar",
Name: "bar",
},
},
errors.NewConflict("foo", "bar", stderrs.New("failure")): {
@ -55,7 +55,7 @@ func TestErrorsToAPIStatus(t *testing.T) {
Message: "foo \"bar\" cannot be updated: failure",
Details: &api.StatusDetails{
Kind: "foo",
ID: "bar",
Name: "bar",
},
},
}

View File

@ -564,7 +564,7 @@ func DeleteResource(r rest.GracefulDeleter, checkBody bool, scope RequestScope,
Status: api.StatusSuccess,
Code: http.StatusOK,
Details: &api.StatusDetails{
ID: name,
Name: name,
Kind: scope.Kind,
},
}