@@ -137,31 +137,26 @@ func createHandler(r rest.NamedCreater, scope *RequestScope, admit admission.Int
137
137
if len (name ) == 0 {
138
138
_ , name , _ = scope .Namer .ObjectName (obj )
139
139
}
140
- admissionAttributes := admission .NewAttributesRecord (obj , nil , scope .Kind , namespace , name , scope .Resource , scope .Subresource , admission .Create , options , dryrun .IsDryRun (options .DryRun ), userInfo )
141
- if mutatingAdmission , ok := admit .(admission.MutationInterface ); ok && mutatingAdmission .Handles (admission .Create ) {
142
- err = mutatingAdmission .Admit (ctx , admissionAttributes , scope )
143
- if err != nil {
144
- scope .err (err , w , req )
145
- return
146
- }
147
- }
148
140
149
- if scope .FieldManager != nil {
150
- liveObj , err := scope .Creater .New (scope .Kind )
151
- if err != nil {
152
- scope .err (fmt .Errorf ("failed to create new object (Create for %v): %v" , scope .Kind , err ), w , req )
153
- return
141
+ trace .Step ("About to store object in database" )
142
+ result , err := finishRequest (timeout , func () (runtime.Object , error ) {
143
+ if scope .FieldManager != nil {
144
+ liveObj , err := scope .Creater .New (scope .Kind )
145
+ if err != nil {
146
+ return nil , fmt .Errorf ("failed to create new object (Create for %v): %v" , scope .Kind , err )
147
+ }
148
+ obj , err = scope .FieldManager .Update (liveObj , obj , managerOrUserAgent (options .FieldManager , req .UserAgent ()))
149
+ if err != nil {
150
+ return nil , fmt .Errorf ("failed to update object (Create for %v) managed fields: %v" , scope .Kind , err )
151
+ }
154
152
}
155
153
156
- obj , err = scope .FieldManager .Update (liveObj , obj , managerOrUserAgent (options .FieldManager , req .UserAgent ()))
157
- if err != nil {
158
- scope .err (fmt .Errorf ("failed to update object (Create for %v) managed fields: %v" , scope .Kind , err ), w , req )
159
- return
154
+ admissionAttributes := admission .NewAttributesRecord (obj , nil , scope .Kind , namespace , name , scope .Resource , scope .Subresource , admission .Create , options , dryrun .IsDryRun (options .DryRun ), userInfo )
155
+ if mutatingAdmission , ok := admit .(admission.MutationInterface ); ok && mutatingAdmission .Handles (admission .Create ) {
156
+ if err := mutatingAdmission .Admit (ctx , admissionAttributes , scope ); err != nil {
157
+ return nil , err
158
+ }
160
159
}
161
- }
162
-
163
- trace .Step ("About to store object in database" )
164
- result , err := finishRequest (timeout , func () (runtime.Object , error ) {
165
160
return r .Create (
166
161
ctx ,
167
162
name ,
0 commit comments