diff --git a/pkg/api/deep_copy_generated.go b/pkg/api/deep_copy_generated.go index cc3202a19d3..340b13e6e38 100644 --- a/pkg/api/deep_copy_generated.go +++ b/pkg/api/deep_copy_generated.go @@ -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)) diff --git a/pkg/api/errors/errors.go b/pkg/api/errors/errors.go index 6dd0f55e06c..c43a07ba9c6 100644 --- a/pkg/api/errors/errors.go +++ b/pkg/api/errors/errors.go @@ -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, diff --git a/pkg/api/errors/errors_test.go b/pkg/api/errors/errors_test.go index a8e045670d2..3eaee41f7d4 100644 --- a/pkg/api/errors/errors_test.go +++ b/pkg/api/errors/errors_test.go @@ -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", diff --git a/pkg/api/types.go b/pkg/api/types.go index a016ff25a94..08238bda004 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -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"` diff --git a/pkg/api/v1/conversion.go b/pkg/api/v1/conversion.go index e783dd6c014..1549972a6eb 100644 --- a/pkg/api/v1/conversion.go +++ b/pkg/api/v1/conversion.go @@ -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) diff --git a/pkg/api/v1/conversion_generated.go b/pkg/api/v1/conversion_generated.go index 2ada8393a58..2e14255849b 100644 --- a/pkg/api/v1/conversion_generated.go +++ b/pkg/api/v1/conversion_generated.go @@ -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, diff --git a/pkg/api/v1beta3/conversion.go b/pkg/api/v1beta3/conversion.go index 490d5434690..baa9d907f8c 100644 --- a/pkg/api/v1beta3/conversion.go +++ b/pkg/api/v1beta3/conversion.go @@ -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 +} diff --git a/pkg/api/v1beta3/conversion_generated.go b/pkg/api/v1beta3/conversion_generated.go index 4799a52ac35..eb8e630ddd8 100644 --- a/pkg/api/v1beta3/conversion_generated.go +++ b/pkg/api/v1beta3/conversion_generated.go @@ -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, diff --git a/pkg/apiserver/errors_test.go b/pkg/apiserver/errors_test.go index 7a20759ff28..a39c867feec 100644 --- a/pkg/apiserver/errors_test.go +++ b/pkg/apiserver/errors_test.go @@ -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", }, }, } diff --git a/pkg/apiserver/resthandler.go b/pkg/apiserver/resthandler.go index ad9e0c59f71..3ea043cb51b 100644 --- a/pkg/apiserver/resthandler.go +++ b/pkg/apiserver/resthandler.go @@ -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, }, }