@@ -1327,20 +1327,22 @@ func (mgr *indexerClusterPodManager) handlePullQueueChange(ctx context.Context,
13271327 }
13281328 splunkClient := newSplunkClientForQueuePipeline (fmt .Sprintf ("https://%s:8089" , fqdnName ), "admin" , string (adminPwd ))
13291329
1330- if newCR .Status .Queue == nil {
1331- newCR .Status .Queue = & enterpriseApi.QueueSpec {}
1330+ newCrStatusQueue := newCR .Status .Queue
1331+ if newCrStatusQueue == nil {
1332+ newCrStatusQueue = & enterpriseApi.QueueSpec {}
13321333 }
1333- if newCR .Status .ObjectStorage == nil {
1334- newCR .Status .ObjectStorage = & enterpriseApi.ObjectStorageSpec {}
1334+ newCrStatusObjectStorage := newCR .Status .ObjectStorage
1335+ if newCrStatusObjectStorage == nil {
1336+ newCrStatusObjectStorage = & enterpriseApi.ObjectStorageSpec {}
13351337 }
13361338
13371339 afterDelete := false
1338- if (queue .Spec .SQS .Name != "" && newCR . Status . Queue . SQS .Name != "" && queue .Spec .SQS .Name != newCR . Status . Queue .SQS .Name ) ||
1339- (queue .Spec .Provider != "" && newCR . Status . Queue . Provider != "" && queue .Spec .Provider != newCR . Status . Queue .Provider ) {
1340- if err := splunkClient .DeleteConfFileProperty (scopedLog , "outputs" , fmt .Sprintf ("remote_queue:%s" , newCR . Status . Queue .SQS .Name )); err != nil {
1340+ if (queue .Spec .SQS .Name != "" && newCrStatusQueue . SQS .Name != "" && queue .Spec .SQS .Name != newCrStatusQueue .SQS .Name ) ||
1341+ (queue .Spec .Provider != "" && newCrStatusQueue . Provider != "" && queue .Spec .Provider != newCrStatusQueue .Provider ) {
1342+ if err := splunkClient .DeleteConfFileProperty (scopedLog , "outputs" , fmt .Sprintf ("remote_queue:%s" , newCrStatusQueue .SQS .Name )); err != nil {
13411343 updateErr = err
13421344 }
1343- if err := splunkClient .DeleteConfFileProperty (scopedLog , "inputs" , fmt .Sprintf ("remote_queue:%s" , newCR . Status . Queue .SQS .Name )); err != nil {
1345+ if err := splunkClient .DeleteConfFileProperty (scopedLog , "inputs" , fmt .Sprintf ("remote_queue:%s" , newCrStatusQueue .SQS .Name )); err != nil {
13441346 updateErr = err
13451347 }
13461348 afterDelete = true
@@ -1360,7 +1362,7 @@ func (mgr *indexerClusterPodManager) handlePullQueueChange(ctx context.Context,
13601362 }
13611363 }
13621364
1363- queueChangedFieldsInputs , queueChangedFieldsOutputs , pipelineChangedFields := getChangedQueueFieldsForIndexer (& queue , & os , newCR , afterDelete , s3AccessKey , s3SecretKey )
1365+ queueChangedFieldsInputs , queueChangedFieldsOutputs , pipelineChangedFields := getChangedQueueFieldsForIndexer (& queue , & os , newCrStatusQueue , newCrStatusObjectStorage , afterDelete , s3AccessKey , s3SecretKey )
13641366
13651367 for _ , pbVal := range queueChangedFieldsOutputs {
13661368 if err := splunkClient .UpdateConfFile (scopedLog , "outputs" , fmt .Sprintf ("remote_queue:%s" , queue .Spec .SQS .Name ), [][]string {pbVal }); err != nil {
@@ -1386,22 +1388,10 @@ func (mgr *indexerClusterPodManager) handlePullQueueChange(ctx context.Context,
13861388}
13871389
13881390// getChangedQueueFieldsForIndexer returns a list of changed queue and pipeline fields for indexer pods
1389- func getChangedQueueFieldsForIndexer (queue * enterpriseApi.Queue , os * enterpriseApi.ObjectStorage , queueIndexerStatus * enterpriseApi.IndexerCluster , afterDelete bool , s3AccessKey , s3SecretKey string ) (queueChangedFieldsInputs , queueChangedFieldsOutputs , pipelineChangedFields [][]string ) {
1390- // Compare queue fields
1391- oldQueue := queueIndexerStatus .Status .Queue
1392- if oldQueue == nil {
1393- oldQueue = & enterpriseApi.QueueSpec {}
1394- }
1395- newQueue := queue .Spec
1396-
1397- oldOS := queueIndexerStatus .Status .ObjectStorage
1398- if oldOS == nil {
1399- oldOS = & enterpriseApi.ObjectStorageSpec {}
1400- }
1401- newOS := os .Spec
1402-
1391+ func getChangedQueueFieldsForIndexer (queue * enterpriseApi.Queue , os * enterpriseApi.ObjectStorage , queueStatus * enterpriseApi.QueueSpec , osStatus * enterpriseApi.ObjectStorageSpec , afterDelete bool , s3AccessKey , s3SecretKey string ) (queueChangedFieldsInputs , queueChangedFieldsOutputs , pipelineChangedFields [][]string ) {
14031392 // Push all queue fields
1404- queueChangedFieldsInputs , queueChangedFieldsOutputs = pullQueueChanged (oldQueue , & newQueue , oldOS , & newOS , afterDelete , s3AccessKey , s3SecretKey )
1393+ queueChangedFieldsInputs , queueChangedFieldsOutputs = pullQueueChanged (queueStatus , & queue .Spec , osStatus , & os .Spec , afterDelete , s3AccessKey , s3SecretKey )
1394+
14051395 // Always set all pipeline fields, not just changed ones
14061396 pipelineChangedFields = pipelineConfig (true )
14071397
0 commit comments