Skip to content

Commit 52ce0fb

Browse files
Ignore secret checks in the indexercluster when the pod is not yet created (#1430)
Co-authored-by: Arjun Kondur <69369319+akondur@users.noreply.github.com>
1 parent ae982a4 commit 52ce0fb

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

pkg/splunk/enterprise/indexercluster.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,17 +653,27 @@ func ApplyIdxcSecret(ctx context.Context, mgr *indexerClusterPodManager, replica
653653
// Get Indexer's name
654654
indexerPodName := GetSplunkStatefulsetPodName(SplunkIndexer, mgr.cr.GetName(), i)
655655

656+
// Check if pod exists before updating secrets
657+
pod := &corev1.Pod{}
658+
namespacedName := types.NamespacedName{Namespace: mgr.cr.GetNamespace(), Name: indexerPodName}
659+
scopedLog.Info("Check if pod is created before updating its secrets")
660+
err := mgr.c.Get(ctx, namespacedName, pod)
661+
if err != nil {
662+
mgr.log.Info("Peer doesn't exists", "peerName", indexerPodName)
663+
continue
664+
}
665+
656666
// Retrieve secret from pod
657667
podSecret, err := splutil.GetSecretFromPod(ctx, mgr.c, indexerPodName, mgr.cr.GetNamespace())
658668
if err != nil {
659-
return fmt.Errorf(fmt.Sprintf(splcommon.PodSecretNotFoundError, indexerPodName))
669+
return fmt.Errorf(splcommon.PodSecretNotFoundError, indexerPodName)
660670
}
661671

662672
// Retrieve idxc_secret token
663673
if indIdxcSecretByte, ok := podSecret.Data[splcommon.IdxcSecret]; ok {
664674
indIdxcSecret = string(indIdxcSecretByte)
665675
} else {
666-
return fmt.Errorf(fmt.Sprintf(splcommon.SecretTokenNotRetrievable, splcommon.IdxcSecret))
676+
return fmt.Errorf(splcommon.SecretTokenNotRetrievable, splcommon.IdxcSecret)
667677
}
668678

669679
// If idxc secret is different from namespace scoped secret change it

pkg/splunk/enterprise/indexercluster_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,20 @@ func TestApplyIdxcSecret(t *testing.T) {
12621262
if err.Error() != fmt.Sprintf(splcommon.PodSecretNotFoundError, podName) {
12631263
t.Errorf("Couldn't recognize missing secret from Pod, error: %s", err.Error())
12641264
}
1265+
1266+
// Test the secret update is skipped when the pod is not existing
1267+
err = splutil.UpdateResource(ctx, c, secrets)
1268+
if err != nil {
1269+
t.Errorf("Couldn't update resource %v, err: %v", secrets, err)
1270+
}
1271+
err = splutil.DeleteResource(ctx, c, pod)
1272+
if err != nil {
1273+
t.Errorf("Couldn't update resource %v, err: %v", pod, err)
1274+
}
1275+
err = ApplyIdxcSecret(ctx, mgr, 1, mockPodExecClient)
1276+
if err != nil {
1277+
t.Errorf("Couldn't recognize missing idxc secret %s", err.Error())
1278+
}
12651279
}
12661280

12671281
func TestInvalidIndexerClusterSpec(t *testing.T) {

0 commit comments

Comments
 (0)