Skip to content

Commit 6d6e751

Browse files
committed
tidyup
1 parent c7dd712 commit 6d6e751

File tree

6 files changed

+42
-64
lines changed

6 files changed

+42
-64
lines changed

controllers/parameters/config_annotation.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func updateConfigPhaseWithResult(cli client.Client, ctx intctrlutil.RequestCtx,
123123
config.ObjectMeta.Annotations[core.GenerateRevisionPhaseKey(revision)] = string(b)
124124
}
125125

126-
if err := cli.Patch(ctx.Ctx, config, patch, inDataContextUnspecified()); err != nil {
126+
if err := cli.Patch(ctx.Ctx, config, patch); err != nil {
127127
return intctrlutil.RequeueWithError(err, ctx.Log, "")
128128
}
129129
if result.Retry {
@@ -184,7 +184,7 @@ func updateAppliedConfigs(cli client.Client, ctx intctrlutil.RequestCtx, config
184184

185185
// delete reconfigure-policy
186186
delete(config.ObjectMeta.Annotations, constant.UpgradePolicyAnnotationKey)
187-
if err := cli.Patch(ctx.Ctx, config, patch, inDataContextUnspecified()); err != nil {
187+
if err := cli.Patch(ctx.Ctx, config, patch); err != nil {
188188
return false, err
189189
}
190190

controllers/parameters/reconfigure_controller.go

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,7 @@ func (r *ReconfigureReconciler) Reconcile(ctx context.Context, req ctrl.Request)
9494
}
9595

9696
config := &corev1.ConfigMap{}
97-
// TODO(leon): data or universal?
98-
if err := r.Client.Get(reqCtx.Ctx, reqCtx.Req.NamespacedName, config, inDataContextUnspecified()); err != nil {
97+
if err := r.Client.Get(reqCtx.Ctx, reqCtx.Req.NamespacedName, config); err != nil {
9998
return intctrlutil.CheckedRequeueWithError(err, reqCtx.Log, "")
10099
}
101100
if model.IsObjectDeleting(config) {
@@ -232,12 +231,12 @@ func (r *ReconfigureReconciler) sync(reqCtx intctrlutil.RequestCtx, configMap *c
232231
return r.performUpgrade(rctx, tasks)
233232
}
234233

235-
func (r *ReconfigureReconciler) genReconfigureActionTasks(templateSpec *appsv1.ComponentFileTemplate, rctx *ReconcileContext, patch *core.ConfigPatchInfo, restart bool) ([]ReloadAction, error) {
236-
var tasks []ReloadAction
234+
func (r *ReconfigureReconciler) genReconfigureActionTasks(templateSpec *appsv1.ComponentFileTemplate, rctx *ReconcileContext, patch *core.ConfigPatchInfo, restart bool) ([]reconfigureTask, error) {
235+
var tasks []reconfigureTask
237236

238237
// If the patch or ConfigRender is nil, return a single restart task.
239238
if patch == nil || rctx.ConfigRender == nil {
240-
return []ReloadAction{r.buildRestartTask(templateSpec, rctx)}, nil
239+
return []reconfigureTask{r.buildRestartTask(templateSpec, rctx)}, nil
241240
}
242241

243242
// needReloadAction determines if a reload action is needed based on the ParametersDefinition and ReloadPolicy.
@@ -268,7 +267,7 @@ func (r *ReconfigureReconciler) genReconfigureActionTasks(templateSpec *appsv1.C
268267

269268
// If no tasks were added, return a single restart task.
270269
if len(tasks) == 0 {
271-
return []ReloadAction{r.buildRestartTask(templateSpec, rctx)}, nil
270+
return []reconfigureTask{r.buildRestartTask(templateSpec, rctx)}, nil
272271
}
273272

274273
return tasks, nil
@@ -279,7 +278,7 @@ func (r *ReconfigureReconciler) buildReloadTask(policy parametersv1alpha1.Reload
279278
rctx *ReconcileContext,
280279
pd *parametersv1alpha1.ParametersDefinition,
281280
configDescription *parametersv1alpha1.ComponentConfigDescription,
282-
patch *core.ConfigPatchInfo) ReloadAction {
281+
patch *core.ConfigPatchInfo) reconfigureTask {
283282
reCtx := reconfigureContext{
284283
RequestCtx: rctx.RequestCtx,
285284
Client: rctx.Client,
@@ -294,13 +293,12 @@ func (r *ReconfigureReconciler) buildReloadTask(policy parametersv1alpha1.Reload
294293
ReconfigureClientFactory: getClientFactory(),
295294
Patch: patch,
296295
}
297-
298-
return reconfigureTask{ReloadPolicy: policy, taskCtx: reCtx}
296+
return reconfigureTask{policy: policy, taskCtx: reCtx}
299297
}
300298

301-
func (r *ReconfigureReconciler) buildRestartTask(configTemplate *appsv1.ComponentFileTemplate, rctx *ReconcileContext) ReloadAction {
299+
func (r *ReconfigureReconciler) buildRestartTask(configTemplate *appsv1.ComponentFileTemplate, rctx *ReconcileContext) reconfigureTask {
302300
return reconfigureTask{
303-
ReloadPolicy: parametersv1alpha1.RestartPolicy,
301+
policy: parametersv1alpha1.RestartPolicy,
304302
taskCtx: reconfigureContext{
305303
RequestCtx: rctx.RequestCtx,
306304
Client: rctx.Client,
@@ -350,19 +348,20 @@ func (r *ReconfigureReconciler) updateConfigCMStatus(reqCtx intctrlutil.RequestC
350348
return intctrlutil.Reconciled()
351349
}
352350

353-
func (r *ReconfigureReconciler) performUpgrade(rctx *ReconcileContext, reloadTasks []ReloadAction) (ctrl.Result, error) {
354-
var err error
355-
var returnedStatus returnedStatus
356-
var reloadType string
357-
358-
for _, task := range reloadTasks {
359-
reloadType = task.ReloadType()
360-
returnedStatus, err = task.ExecReload()
361-
if err != nil || returnedStatus.Status != ESNone {
362-
return r.status(rctx, returnedStatus, reloadType, err)
351+
func (r *ReconfigureReconciler) performUpgrade(rctx *ReconcileContext, tasks []reconfigureTask) (ctrl.Result, error) {
352+
var (
353+
err error
354+
policy string
355+
status returnedStatus
356+
)
357+
for _, task := range tasks {
358+
policy = string(task.policy)
359+
status, err = task.reconfigure()
360+
if err != nil || status.Status != ESNone {
361+
return r.status(rctx, status, policy, err)
363362
}
364363
}
365-
return r.succeed(rctx, reloadType, returnedStatus)
364+
return r.succeed(rctx, policy, status)
366365
}
367366

368367
func (r *ReconfigureReconciler) status(rctx *ReconcileContext, returnedStatus returnedStatus, policy string, err error) (ctrl.Result, error) {
@@ -384,13 +383,12 @@ func (r *ReconfigureReconciler) status(rctx *ReconcileContext, returnedStatus re
384383
}
385384
}
386385

387-
func (r *ReconfigureReconciler) succeed(rctx *ReconcileContext, reloadType string, returnedStatus returnedStatus) (ctrl.Result, error) {
386+
func (r *ReconfigureReconciler) succeed(rctx *ReconcileContext, policy string, status returnedStatus) (ctrl.Result, error) {
388387
rctx.Recorder.Eventf(rctx.ConfigMap,
389388
corev1.EventTypeNormal,
390389
appsv1alpha1.ReasonReconfigureSucceed,
391390
"the reconfigure[%s] has been processed successfully",
392-
reloadType)
393-
394-
result := reconciled(returnedStatus, reloadType, parametersv1alpha1.CFinishedPhase)
395-
return r.updateConfigCMStatus(rctx.RequestCtx, rctx.ConfigMap, reloadType, &result)
391+
policy)
392+
result := reconciled(status, policy, parametersv1alpha1.CFinishedPhase)
393+
return r.updateConfigCMStatus(rctx.RequestCtx, rctx.ConfigMap, policy, &result)
396394
}

controllers/parameters/reconfigure_policy.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2020
package parameters
2121

2222
import (
23-
"fmt"
2423
"strings"
2524

2625
"google.golang.org/grpc"
@@ -172,15 +171,3 @@ func makeReturnedStatus(status ExecStatus, ops ...func(status *returnedStatus))
172171
}
173172
return ret
174173
}
175-
176-
func (r reconfigureTask) ReloadType() string {
177-
return string(r.ReloadPolicy)
178-
}
179-
180-
func (r reconfigureTask) ExecReload() (returnedStatus, error) {
181-
if executor, ok := upgradePolicyMap[r.ReloadPolicy]; ok {
182-
return executor.Upgrade(r.taskCtx)
183-
}
184-
185-
return returnedStatus{}, fmt.Errorf("not support reload action[%s]", r.ReloadPolicy)
186-
}

controllers/parameters/types.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ package parameters
2121

2222
import (
2323
"context"
24+
"fmt"
2425

2526
corev1 "k8s.io/api/core/v1"
2627
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -54,12 +55,14 @@ func GetInstanceSetRollingUpgradeFuncs() RollingUpgradeFuncs {
5455
}
5556
}
5657

57-
type ReloadAction interface {
58-
ExecReload() (returnedStatus, error)
59-
ReloadType() string
60-
}
61-
6258
type reconfigureTask struct {
63-
parametersv1alpha1.ReloadPolicy
59+
policy parametersv1alpha1.ReloadPolicy
6460
taskCtx reconfigureContext
6561
}
62+
63+
func (r reconfigureTask) reconfigure() (returnedStatus, error) {
64+
if executor, ok := upgradePolicyMap[r.policy]; ok {
65+
return executor.Upgrade(r.taskCtx)
66+
}
67+
return returnedStatus{}, fmt.Errorf("not support reload action[%s]", r.policy)
68+
}

controllers/parameters/utils.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,13 @@ import (
3333
appsv1 "github.com/apecloud/kubeblocks/apis/apps/v1"
3434
workloads "github.com/apecloud/kubeblocks/apis/workloads/v1"
3535
"github.com/apecloud/kubeblocks/pkg/constant"
36-
"github.com/apecloud/kubeblocks/pkg/controller/multicluster"
3736
intctrlutil "github.com/apecloud/kubeblocks/pkg/controllerutil"
3837
"github.com/apecloud/kubeblocks/pkg/parameters"
3938
"github.com/apecloud/kubeblocks/pkg/parameters/core"
4039
cfgproto "github.com/apecloud/kubeblocks/pkg/parameters/proto"
4140
viper "github.com/apecloud/kubeblocks/pkg/viperx"
4241
)
4342

44-
func inDataContextUnspecified() *multicluster.ClientOption {
45-
return multicluster.InDataContextUnspecified()
46-
}
47-
4843
// GetComponentPods gets all pods of the component.
4944
func GetComponentPods(params reconfigureContext) ([]corev1.Pod, error) {
5045
componentPods := make([]corev1.Pod, 0)
@@ -62,7 +57,7 @@ func GetComponentPods(params reconfigureContext) ([]corev1.Pod, error) {
6257

6358
func getPodsForOnlineUpdate(params reconfigureContext) ([]corev1.Pod, error) {
6459
if len(params.InstanceSetUnits) > 1 {
65-
return nil, fmt.Errorf("component require only one InstanceSet, actual %d components", len(params.InstanceSetUnits))
60+
return nil, fmt.Errorf("component require only one InstanceSet, actual %d", len(params.InstanceSetUnits))
6661
}
6762

6863
if len(params.InstanceSetUnits) == 0 {
@@ -122,12 +117,12 @@ func resolveReloadServerGrpcURL(pod *corev1.Pod) (string, error) {
122117
return generateGrpcURL(pod, podPort)
123118
}
124119

125-
func generateGrpcURL(pod *corev1.Pod, portPort int) (string, error) {
120+
func generateGrpcURL(pod *corev1.Pod, podPort int) (string, error) {
126121
ip, err := ipAddressFromPod(pod.Status)
127122
if err != nil {
128123
return "", err
129124
}
130-
return net.JoinHostPort(ip.String(), strconv.Itoa(portPort)), nil
125+
return net.JoinHostPort(ip.String(), strconv.Itoa(podPort)), nil
131126
}
132127

133128
func ipAddressFromPod(status corev1.PodStatus) (net.IP, error) {

pkg/parameters/configmanager/builder.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import (
3737
appsv1 "github.com/apecloud/kubeblocks/apis/apps/v1"
3838
parametersv1alpha1 "github.com/apecloud/kubeblocks/apis/parameters/v1alpha1"
3939
"github.com/apecloud/kubeblocks/pkg/constant"
40-
"github.com/apecloud/kubeblocks/pkg/controller/multicluster"
4140
cfgutil "github.com/apecloud/kubeblocks/pkg/parameters/util"
4241
viper "github.com/apecloud/kubeblocks/pkg/viperx"
4342
)
@@ -116,12 +115,12 @@ func createOrUpdateConfigMap(configInfo []ConfigSpecInfo, manager *CfgManagerBui
116115
if err := controllerutil.SetOwnerReference(manager.Cluster, cmObj, scheme); err != nil {
117116
return err
118117
}
119-
return cli.Create(ctx, cmObj, inDataContext())
118+
return cli.Create(ctx, cmObj)
120119
}
121120
updateConfigCM := func(cm *corev1.ConfigMap, newConfig string) error {
122121
patch := client.MergeFrom(cm.DeepCopy())
123122
cm.Data[configManagerConfig] = newConfig
124-
return cli.Patch(ctx, cm, patch, inDataContext())
123+
return cli.Patch(ctx, cm, patch)
125124
}
126125

127126
config, err := cfgutil.ToYamlConfig(configInfo)
@@ -133,7 +132,7 @@ func createOrUpdateConfigMap(configInfo []ConfigSpecInfo, manager *CfgManagerBui
133132
Namespace: manager.Cluster.GetNamespace(),
134133
Name: fmt.Sprintf("%s%s-%s-config-manager-config", configManagerCMPrefix, manager.Cluster.GetName(), manager.ComponentName),
135134
}
136-
err = cli.Get(ctx, cmKey, cmObj, inDataContext())
135+
err = cli.Get(ctx, cmKey, cmObj)
137136
switch {
138137
default:
139138
return err
@@ -279,7 +278,3 @@ func buildConfigManagerCommonArgs() []string {
279278
args = append(args, "--log-level", viper.GetString(constant.ConfigManagerLogLevel))
280279
return args
281280
}
282-
283-
func inDataContext() *multicluster.ClientOption {
284-
return multicluster.InDataContext()
285-
}

0 commit comments

Comments
 (0)