Skip to content

Commit 08dd07f

Browse files
fix review comments
1 parent 4fb19fa commit 08dd07f

File tree

3 files changed

+18
-25
lines changed

3 files changed

+18
-25
lines changed

controllers/secretproviderclasspodstatus_controller.go

+4-10
Original file line numberDiff line numberDiff line change
@@ -272,17 +272,8 @@ func (r *SecretProviderClassPodStatusReconciler) Reconcile(ctx context.Context,
272272
return ctrl.Result{}, nil
273273
}
274274

275+
// if SecretObjects defined in the SPC, record the time to report sync_k8s_secret_duration_sec metric
275276
begin := time.Now()
276-
providerName := string(spc.Spec.Provider)
277-
namespace := spcPodStatus.Namespace
278-
secretProviderClass := spc.Name
279-
defer func() {
280-
// if there is SecretObjects defined in the SPC, then report the metric if sync is successful
281-
if e == nil && !res.Requeue {
282-
r.reporter.ReportSyncSecretCtMetric(ctx, providerName, namespace, secretProviderClass)
283-
r.reporter.ReportSyncSecretDuration(ctx, time.Since(begin).Seconds())
284-
}
285-
}()
286277

287278
// determine which pod volume this is associated with
288279
podVol := k8sutil.SPCVolume(pod, r.driverName, spc.Name)
@@ -383,6 +374,9 @@ func (r *SecretProviderClassPodStatusReconciler) Reconcile(ctx context.Context,
383374
return ctrl.Result{Requeue: true}, nil
384375
}
385376

377+
r.reporter.ReportSyncSecretCtMetric(ctx, string(spc.Spec.Provider), spcPodStatus.Namespace, spc.Name)
378+
r.reporter.ReportSyncSecretDuration(ctx, time.Since(begin).Seconds())
379+
386380
klog.InfoS("reconcile complete", "spc", klog.KObj(spc), "pod", klog.KObj(pod), "spcps", klog.KObj(spcPodStatus))
387381
// requeue the spc pod status again after 5mins to check if secret and ownerRef exists
388382
// and haven't been modified. If secret doesn't exist, then this requeue will ensure it's

pkg/rotation/reconciler.go

+13-13
Original file line numberDiff line numberDiff line change
@@ -269,14 +269,14 @@ func (r *Reconciler) reconcile(ctx context.Context, spcps *secretsstorev1.Secret
269269
err = r.cache.Get(
270270
ctx,
271271
client.ObjectKey{
272-
Namespace: spcps.Namespace,
273-
Name: spcps.Status.PodName,
272+
Namespace: podNamespace,
273+
Name: podName,
274274
},
275275
pod,
276276
)
277277
if err != nil {
278278
errorReason = internalerrors.PodNotFound
279-
return fmt.Errorf("failed to get pod %s/%s, err: %w", spcps.Namespace, spcps.Status.PodName, err)
279+
return fmt.Errorf("failed to get pod %s/%s, err: %w", podNamespace, podName, err)
280280
}
281281
// skip rotation if the pod is being terminated
282282
// or the pod is in succeeded state (for jobs that complete aren't gc yet)
@@ -292,14 +292,14 @@ func (r *Reconciler) reconcile(ctx context.Context, spcps *secretsstorev1.Secret
292292
err = r.cache.Get(
293293
ctx,
294294
client.ObjectKey{
295-
Namespace: spcps.Namespace,
296-
Name: spcps.Status.SecretProviderClassName,
295+
Namespace: podNamespace,
296+
Name: secretProviderClass,
297297
},
298298
spc,
299299
)
300300
if err != nil {
301301
errorReason = internalerrors.SecretProviderClassNotFound
302-
return fmt.Errorf("failed to get secret provider class %s/%s, err: %w", spcps.Namespace, spcps.Status.SecretProviderClassName, err)
302+
return fmt.Errorf("failed to get secret provider class %s/%s, err: %w", podNamespace, secretProviderClass, err)
303303
}
304304

305305
// determine which pod volume this is associated with
@@ -362,16 +362,16 @@ func (r *Reconciler) reconcile(ctx context.Context, spcps *secretsstorev1.Secret
362362
// This comprises the secret parameter in the MountRequest to the provider
363363
if nodePublishSecretRef != nil {
364364
// read secret from the informer cache
365-
secret, err := r.secretStore.GetNodePublishSecretRefSecret(nodePublishSecretRef.Name, spcps.Namespace)
365+
secret, err := r.secretStore.GetNodePublishSecretRefSecret(nodePublishSecretRef.Name, podNamespace)
366366
if err != nil {
367367
if apierrors.IsNotFound(err) {
368368
klog.ErrorS(err,
369-
fmt.Sprintf("nodePublishSecretRef not found. If the secret with name exists in namespace, label the secret by running 'kubectl label secret %s %s=true -n %s", nodePublishSecretRef.Name, controllers.SecretUsedLabel, spcps.Namespace),
370-
"name", nodePublishSecretRef.Name, "namespace", spcps.Namespace)
369+
fmt.Sprintf("nodePublishSecretRef not found. If the secret with name exists in namespace, label the secret by running 'kubectl label secret %s %s=true -n %s", nodePublishSecretRef.Name, controllers.SecretUsedLabel, podNamespace),
370+
"name", nodePublishSecretRef.Name, "namespace", podNamespace)
371371
}
372372
errorReason = internalerrors.NodePublishSecretRefNotFound
373-
r.generateEvent(pod, corev1.EventTypeWarning, mountRotationFailedReason, fmt.Sprintf("failed to get node publish secret %s/%s, err: %+v", spcps.Namespace, nodePublishSecretRef.Name, err))
374-
return fmt.Errorf("failed to get node publish secret %s/%s, err: %w", spcps.Namespace, nodePublishSecretRef.Name, err)
373+
r.generateEvent(pod, corev1.EventTypeWarning, mountRotationFailedReason, fmt.Sprintf("failed to get node publish secret %s/%s, err: %+v", podNamespace, nodePublishSecretRef.Name, err))
374+
return fmt.Errorf("failed to get node publish secret %s/%s, err: %w", podNamespace, nodePublishSecretRef.Name, err)
375375
}
376376

377377
for k, v := range secret.Data {
@@ -404,7 +404,7 @@ func (r *Reconciler) reconcile(ctx context.Context, spcps *secretsstorev1.Secret
404404
newObjectVersions, errorReason, err := secretsstore.MountContent(ctx, providerClient, string(paramsJSON), string(secretsJSON), spcps.Status.TargetPath, string(permissionJSON), oldObjectVersions)
405405
if err != nil {
406406
r.generateEvent(pod, corev1.EventTypeWarning, mountRotationFailedReason, fmt.Sprintf("provider mount err: %+v", err))
407-
return fmt.Errorf("failed to rotate objects for pod %s/%s, err: %w", spcps.Namespace, spcps.Status.PodName, err)
407+
return fmt.Errorf("failed to rotate objects for pod %s/%s, err: %w", podNamespace, podName, err)
408408
}
409409

410410
// compare the old object versions and new object versions to check if any of the objects
@@ -491,7 +491,7 @@ func (r *Reconciler) reconcile(ctx context.Context, spcps *secretsstorev1.Secret
491491

492492
patchFn := func() (bool, error) {
493493
// patch secret data with the new contents
494-
if err := r.patchSecret(ctx, secretObj.SecretName, spcps.Namespace, datamap); err != nil {
494+
if err := r.patchSecret(ctx, secretObj.SecretName, podNamespace, datamap); err != nil {
495495
// syncSecret.enabled is set to false by default in the helm chart for installing the driver in v0.0.23+
496496
// that would result in a forbidden error, so generate a warning that can be helpful for debugging
497497
if apierrors.IsForbidden(err) {

pkg/secrets-store/nodeserver_test.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ import (
2424
"testing"
2525
"time"
2626

27-
internalerrors "sigs.k8s.io/secrets-store-csi-driver/pkg/errors"
28-
2927
secretsstorev1 "sigs.k8s.io/secrets-store-csi-driver/apis/v1"
28+
internalerrors "sigs.k8s.io/secrets-store-csi-driver/pkg/errors"
3029
"sigs.k8s.io/secrets-store-csi-driver/pkg/k8s"
3130
"sigs.k8s.io/secrets-store-csi-driver/pkg/secrets-store/mocks"
3231
providerfake "sigs.k8s.io/secrets-store-csi-driver/provider/fake"

0 commit comments

Comments
 (0)