@@ -69,36 +69,38 @@ func (rm *resourceManager) customUpdateFunction(
69
69
exit := rlog .Trace ("rm.customUpdateFunction" )
70
70
defer exit (err )
71
71
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
74
76
}
75
77
76
78
if delta .DifferentAt ("Spec.Tags" ) {
77
79
err = rm .updateFunctionTags (ctx , latest , desired )
78
80
if err != nil {
79
- return nil , err
81
+ return updatedStatusResource , err
80
82
}
81
83
}
82
84
if delta .DifferentAt ("Spec.ReservedConcurrentExecutions" ) {
83
85
err = rm .updateFunctionConcurrency (ctx , desired )
84
86
if err != nil {
85
- return nil , err
87
+ return updatedStatusResource , err
86
88
}
87
89
}
88
90
if delta .DifferentAt ("Spec.FunctionEventInvokeConfig" ) {
89
91
err = rm .syncFunctionEventInvokeConfig (ctx , desired )
90
92
if err != nil {
91
- return nil , err
93
+ return updatedStatusResource , err
92
94
}
93
95
}
94
96
if delta .DifferentAt ("Spec.CodeSigningConfigARN" ) {
95
97
if desired .ko .Spec .PackageType != nil && * desired .ko .Spec .PackageType == "Image" &&
96
98
desired .ko .Spec .CodeSigningConfigARN != nil && * desired .ko .Spec .CodeSigningConfigARN != "" {
97
- return nil , ackerr .NewTerminalError (ErrCannotSetFunctionCSC )
99
+ return updatedStatusResource , ackerr .NewTerminalError (ErrCannotSetFunctionCSC )
98
100
} else {
99
101
err = rm .updateFunctionCodeSigningConfig (ctx , desired )
100
102
if err != nil {
101
- return nil , err
103
+ return updatedStatusResource , err
102
104
}
103
105
}
104
106
}
@@ -112,9 +114,9 @@ func (rm *resourceManager) customUpdateFunction(
112
114
err = rm .updateFunctionCode (ctx , desired , delta , latest )
113
115
if err != nil {
114
116
if strings .Contains (err .Error (), "Provide a valid source image." ) {
115
- return nil , requeueWaitWhileSourceImageDoesNotExist
117
+ return updatedStatusResource , requeueWaitWhileSourceImageDoesNotExist
116
118
} else {
117
- return nil , err
119
+ return updatedStatusResource , err
118
120
}
119
121
}
120
122
case delta .DifferentExcept (
@@ -125,13 +127,13 @@ func (rm *resourceManager) customUpdateFunction(
125
127
"Spec.CodeSigningConfigARN" ):
126
128
err = rm .updateFunctionConfiguration (ctx , desired , delta )
127
129
if err != nil {
128
- return nil , err
130
+ return updatedStatusResource , err
129
131
}
130
132
}
131
133
132
134
readOneLatest , err := rm .ReadOne (ctx , desired )
133
135
if err != nil {
134
- return nil , err
136
+ return updatedStatusResource , err
135
137
}
136
138
return rm .concreteResource (readOneLatest ), nil
137
139
}
0 commit comments