@@ -45,7 +45,7 @@ func (o *syncPolicy) Upgrade(rctx reconfigureContext) (returnedStatus, error) {
4545 if len (updateParams ) == 0 {
4646 return makeReturnedStatus (ESNone ), nil
4747 }
48- return o . sync (rctx , updateParams )
48+ return syncUpdatedConfig (rctx , updateParams , false )
4949}
5050
5151func (o * syncPolicy ) updateParameters (rctx reconfigureContext ) map [string ]string {
@@ -73,7 +73,7 @@ func (o *syncPolicy) updateParameters(rctx reconfigureContext) map[string]string
7373 return params
7474}
7575
76- func ( o * syncPolicy ) sync ( rctx reconfigureContext , parameters map [string ]string ) (returnedStatus , error ) {
76+ func syncUpdatedConfig ( rctx reconfigureContext , parameters map [string ]string , restart bool ) (returnedStatus , error ) {
7777 var config * apisappsv1.ClusterComponentConfig
7878 for i , cfg := range rctx .ClusterComponent .Configs {
7979 if ptr .Deref (cfg .Name , "" ) == rctx .ConfigTemplate .Name {
@@ -85,12 +85,12 @@ func (o *syncPolicy) sync(rctx reconfigureContext, parameters map[string]string)
8585 return makeReturnedStatus (ESFailedAndRetry ), fmt .Errorf ("config %s not found" , rctx .ConfigTemplate .Name )
8686 }
8787 if config .VersionHash != rctx .getTargetVersionHash () {
88- return o . update (rctx , config , parameters ), nil
88+ return submitUpdatedConfig (rctx , config , parameters , restart ), nil
8989 }
9090 return syncLatestConfigStatus (rctx ), nil
9191}
9292
93- func ( o * syncPolicy ) update ( rctx reconfigureContext , config * apisappsv1.ClusterComponentConfig , parameters map [string ]string ) returnedStatus {
93+ func submitUpdatedConfig ( rctx reconfigureContext , config * apisappsv1.ClusterComponentConfig , parameters map [string ]string , restart bool ) returnedStatus {
9494 var (
9595 replicas = rctx .getTargetReplicas ()
9696 // fileName string
@@ -102,6 +102,9 @@ func (o *syncPolicy) update(rctx reconfigureContext, config *apisappsv1.ClusterC
102102 // TODO: config file?
103103 config .Variables = parameters // TODO: variables vs parameters?
104104 config .VersionHash = rctx .getTargetVersionHash ()
105+ if restart {
106+ config .RestartOnChange = ptr .To (true )
107+ }
105108
106109 return makeReturnedStatus (ESRetry , withExpected (replicas ), withSucceed (0 ))
107110}
0 commit comments