Skip to content

Commit 3d3fb31

Browse files
asn1809raghavendra-talur
authored andcommitted
recipe: correcting exec hook issues
1. Update the log messages for better debugging. 2. When a singlePod should be selected for each deployment, replicaset needs to be queried and pod indirectly based on ownership. Adding read permissions for the same. Signed-off-by: Annaraya Narasagond <[email protected]>
1 parent 3f0bedc commit 3d3fb31

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

config/dr-cluster/rbac/role.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ rules:
7272
- apps
7373
resources:
7474
- deployments
75+
- replicasets
7576
- statefulsets
7677
verbs:
7778
- get

config/rbac/role.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ rules:
9191
- apps
9292
resources:
9393
- deployments
94+
- replicasets
9495
- statefulsets
9596
verbs:
9697
- get

internal/controller/hooks/exec_hook.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ func (e ExecHook) getExecPodsForSinglePodOnly(log logr.Logger) ([]ExecPodSpec, e
139139
eps := e.getAllPossibleExecPods(log)
140140
if len(eps) > 0 {
141141
execPods = append(execPods, eps[0])
142+
log.Info("pods details obtained using label selector for", "hook", e.Hook.Name,
143+
"labelSelector", e.Hook.LabelSelector, "selectResource", e.Hook.SelectResource, "podName", eps[0].PodName)
142144

143145
return execPods, nil
144146
}
@@ -180,8 +182,8 @@ func (e ExecHook) getExecPodsFromStatefulSetForSinglePodOnly(log logr.Logger) ([
180182

181183
ss = append(ss, statefulSetList.Items...)
182184

183-
log.Info("statefulsets count obtained using label selector for", "hook", e.Hook.Name,
184-
"labelSelector", e.Hook.LabelSelector, "statefulSetCount", len(ss))
185+
log.Info("statefulsets count obtained using label selector for", "hook", e.Hook.Name, "labelSelector",
186+
e.Hook.LabelSelector, "selectResource", e.Hook.SelectResource, "statefulSetCount", len(ss))
185187
}
186188

187189
if e.Hook.NameSelector != "" {
@@ -198,7 +200,7 @@ func (e ExecHook) getExecPodsFromStatefulSetForSinglePodOnly(log logr.Logger) ([
198200
}
199201

200202
log.Info("statefulsets count obtained using name selector for", "hook", e.Hook.Name,
201-
"nameSelector", e.Hook.NameSelector, "statefulSetCount", len(ss))
203+
"nameSelector", e.Hook.NameSelector, "selectResource", e.Hook.SelectResource, "statefulSetCount", len(ss))
202204
}
203205

204206
return e.getPodsFromStatefulsets(ss)
@@ -353,8 +355,8 @@ func (e ExecHook) getDeploymentsForSinglePodOnly(log logr.Logger) ([]appsv1.Depl
353355

354356
deps = append(deps, deploymentList.Items...)
355357

356-
log.Info("deployments count obtained using label selector for", "hook", e.Hook.Name,
357-
"labelSelector", e.Hook.LabelSelector, "deploymentCount", len(deps))
358+
log.Info("deployments count obtained using label selector for", "hook", e.Hook.Name, "labelSelector",
359+
e.Hook.LabelSelector, "selectResource", e.Hook.SelectResource, "deploymentCount", len(deps))
358360
}
359361

360362
if e.Hook.NameSelector != "" {
@@ -372,7 +374,7 @@ func (e ExecHook) getDeploymentsForSinglePodOnly(log logr.Logger) ([]appsv1.Depl
372374
}
373375

374376
log.Info("deployments count obtained using name selector for", "hook", e.Hook.Name,
375-
"nameSelector", e.Hook.NameSelector, "deploymentCount", len(deps))
377+
"nameSelector", e.Hook.NameSelector, "selectResource", e.Hook.SelectResource, "deploymentCount", len(deps))
376378
}
377379

378380
return deps, err
@@ -396,7 +398,7 @@ func (e ExecHook) getAllPossibleExecPods(log logr.Logger) []ExecPodSpec {
396398
execPods = append(execPods, eps...)
397399

398400
log.Info("all pods count obtained using label selector for", "hook", e.Hook.Name,
399-
"labelSelector", e.Hook.LabelSelector, "podCount", len(execPods))
401+
"labelSelector", e.Hook.LabelSelector, "selectResource", e.Hook.SelectResource, "podCount", len(execPods))
400402
}
401403

402404
if e.Hook.NameSelector != "" {
@@ -408,7 +410,7 @@ func (e ExecHook) getAllPossibleExecPods(log logr.Logger) []ExecPodSpec {
408410
execPods = append(execPods, eps...)
409411

410412
log.Info("all pods count obtained using name selector for", "hook", e.Hook.Name,
411-
"nameSelector", e.Hook.NameSelector, "podCount", len(execPods))
413+
"nameSelector", e.Hook.NameSelector, "selectResource", e.Hook.SelectResource, "podCount", len(execPods))
412414
}
413415

414416
return execPods

internal/controller/volumereplicationgroup_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ func filterPVC(reader client.Reader, pvc *corev1.PersistentVolumeClaim, log logr
380380
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch
381381
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch
382382
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch
383+
// +kubebuilder:rbac:groups=apps,resources=replicasets,verbs=get;list;watch
383384
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch
384385
// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
385386
// +kubebuilder:rbac:groups=core,resources=persistentvolumes,verbs=get;list;watch;update;patch;create

0 commit comments

Comments
 (0)