@@ -69,36 +69,38 @@ func (rm *resourceManager) customUpdateFunction(
6969 exit := rlog .Trace ("rm.customUpdateFunction" )
7070 defer exit (err )
7171
72- if isFunctionPending (desired ) {
73- return nil , requeueWaitWhilePending
72+ updatedStatusResource := rm .concreteResource (desired .DeepCopy ())
73+ updatedStatusResource .SetStatus (latest )
74+ if isFunctionPending (latest ) {
75+ return updatedStatusResource , requeueWaitWhilePending
7476 }
7577
7678 if delta .DifferentAt ("Spec.Tags" ) {
7779 err = rm .updateFunctionTags (ctx , latest , desired )
7880 if err != nil {
79- return nil , err
81+ return updatedStatusResource , err
8082 }
8183 }
8284 if delta .DifferentAt ("Spec.ReservedConcurrentExecutions" ) {
8385 err = rm .updateFunctionConcurrency (ctx , desired )
8486 if err != nil {
85- return nil , err
87+ return updatedStatusResource , err
8688 }
8789 }
8890 if delta .DifferentAt ("Spec.FunctionEventInvokeConfig" ) {
8991 err = rm .syncFunctionEventInvokeConfig (ctx , desired )
9092 if err != nil {
91- return nil , err
93+ return updatedStatusResource , err
9294 }
9395 }
9496 if delta .DifferentAt ("Spec.CodeSigningConfigARN" ) {
9597 if desired .ko .Spec .PackageType != nil && * desired .ko .Spec .PackageType == "Image" &&
9698 desired .ko .Spec .CodeSigningConfigARN != nil && * desired .ko .Spec .CodeSigningConfigARN != "" {
97- return nil , ackerr .NewTerminalError (ErrCannotSetFunctionCSC )
99+ return updatedStatusResource , ackerr .NewTerminalError (ErrCannotSetFunctionCSC )
98100 } else {
99101 err = rm .updateFunctionCodeSigningConfig (ctx , desired )
100102 if err != nil {
101- return nil , err
103+ return updatedStatusResource , err
102104 }
103105 }
104106 }
@@ -112,9 +114,9 @@ func (rm *resourceManager) customUpdateFunction(
112114 err = rm .updateFunctionCode (ctx , desired , delta , latest )
113115 if err != nil {
114116 if strings .Contains (err .Error (), "Provide a valid source image." ) {
115- return nil , requeueWaitWhileSourceImageDoesNotExist
117+ return updatedStatusResource , requeueWaitWhileSourceImageDoesNotExist
116118 } else {
117- return nil , err
119+ return updatedStatusResource , err
118120 }
119121 }
120122 case delta .DifferentExcept (
@@ -125,13 +127,13 @@ func (rm *resourceManager) customUpdateFunction(
125127 "Spec.CodeSigningConfigARN" ):
126128 err = rm .updateFunctionConfiguration (ctx , desired , delta )
127129 if err != nil {
128- return nil , err
130+ return updatedStatusResource , err
129131 }
130132 }
131133
132134 readOneLatest , err := rm .ReadOne (ctx , desired )
133135 if err != nil {
134- return nil , err
136+ return updatedStatusResource , err
135137 }
136138 return rm .concreteResource (readOneLatest ), nil
137139}
0 commit comments