Skip to content

Commit 0179289

Browse files
committed
Refactored threescale external resource metric creation
1 parent 7ccc31e commit 0179289

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

pkg/products/threescale/reconciler.go

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -562,15 +562,6 @@ func (r *Reconciler) reconcileExternalDatasources(ctx context.Context, serverCli
562562
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to reconcile backend redis request: %w", err)
563563
}
564564

565-
// create the prometheus availability rule
566-
if _, err = resources.CreateRedisAvailabilityAlert(ctx, serverClient, r.installation, backendRedis); err != nil {
567-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create backend redis prometheus alert for threescale: %w", err)
568-
}
569-
// create backend connectivity alert
570-
if _, err = resources.CreateRedisConnectivityAlert(ctx, serverClient, r.installation, backendRedis); err != nil {
571-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create backend redis prometheus connectivity alert for threescale: %s", err)
572-
}
573-
574565
// setup system redis custom resource
575566
// this will be used by the cloud resources operator to provision a redis instance
576567
logrus.Info("Creating system redis instance")
@@ -583,17 +574,6 @@ func (r *Reconciler) reconcileExternalDatasources(ctx context.Context, serverCli
583574
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to reconcile system redis request: %w", err)
584575
}
585576

586-
// create the prometheus availability rule
587-
_, err = resources.CreateRedisAvailabilityAlert(ctx, serverClient, r.installation, systemRedis)
588-
if err != nil {
589-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create system redis prometheus alert for threescale: %w", err)
590-
}
591-
// create system redis connectivity alert
592-
_, err = resources.CreateRedisConnectivityAlert(ctx, serverClient, r.installation, systemRedis)
593-
if err != nil {
594-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create system redis prometheus connectivity alert for threescale: %s", err)
595-
}
596-
597577
// setup postgres cr for the cloud resource operator
598578
// this will be used by the cloud resources operator to provision a postgres instance
599579
logrus.Info("Creating postgres instance")
@@ -606,22 +586,20 @@ func (r *Reconciler) reconcileExternalDatasources(ctx context.Context, serverCli
606586
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to reconcile postgres request: %w", err)
607587
}
608588

609-
// create the prometheus availability rule
610-
_, err = resources.CreatePostgresAvailabilityAlert(ctx, serverClient, r.installation, postgres)
611-
if err != nil {
612-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create postgres prometheus alert for threescale: %w", err)
613-
}
614-
// create postgres connectivity alert
615-
_, err = resources.CreatePostgresConnectivityAlert(ctx, serverClient, r.installation, postgres)
616-
if err != nil {
617-
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create postgres prometheus connectivity alert for threescale: %s", err)
618-
}
619-
620589
// wait for the backend redis cr to reconcile
621590
if backendRedis.Status.Phase != types.PhaseComplete {
622591
return integreatlyv1alpha1.PhaseAwaitingComponents, nil
623592
}
624593

594+
// create the prometheus availability rule
595+
if _, err = resources.CreateRedisAvailabilityAlert(ctx, serverClient, r.installation, backendRedis); err != nil {
596+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create backend redis prometheus alert for threescale: %w", err)
597+
}
598+
// create backend connectivity alert
599+
if _, err = resources.CreateRedisConnectivityAlert(ctx, serverClient, r.installation, backendRedis); err != nil {
600+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create backend redis prometheus connectivity alert for threescale: %s", err)
601+
}
602+
625603
// get the secret created by the cloud resources operator
626604
// containing backend redis connection details
627605
credSec := &corev1.Secret{}
@@ -654,6 +632,17 @@ func (r *Reconciler) reconcileExternalDatasources(ctx context.Context, serverCli
654632
return integreatlyv1alpha1.PhaseAwaitingComponents, nil
655633
}
656634

635+
// create the prometheus availability rule
636+
_, err = resources.CreateRedisAvailabilityAlert(ctx, serverClient, r.installation, systemRedis)
637+
if err != nil {
638+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create system redis prometheus alert for threescale: %w", err)
639+
}
640+
// create system redis connectivity alert
641+
_, err = resources.CreateRedisConnectivityAlert(ctx, serverClient, r.installation, systemRedis)
642+
if err != nil {
643+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create system redis prometheus connectivity alert for threescale: %s", err)
644+
}
645+
657646
// get the secret created by the cloud resources operator
658647
// containing system redis connection details
659648
systemCredSec := &corev1.Secret{}
@@ -687,6 +676,17 @@ func (r *Reconciler) reconcileExternalDatasources(ctx context.Context, serverCli
687676
return integreatlyv1alpha1.PhaseAwaitingComponents, nil
688677
}
689678

679+
// create the prometheus availability rule
680+
_, err = resources.CreatePostgresAvailabilityAlert(ctx, serverClient, r.installation, postgres)
681+
if err != nil {
682+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create postgres prometheus alert for threescale: %w", err)
683+
}
684+
// create postgres connectivity alert
685+
_, err = resources.CreatePostgresConnectivityAlert(ctx, serverClient, r.installation, postgres)
686+
if err != nil {
687+
return integreatlyv1alpha1.PhaseFailed, fmt.Errorf("failed to create postgres prometheus connectivity alert for threescale: %s", err)
688+
}
689+
690690
// get the secret containing redis credentials
691691
postgresCredSec := &corev1.Secret{}
692692
err = serverClient.Get(ctx, k8sclient.ObjectKey{Name: postgres.Status.SecretRef.Name, Namespace: postgres.Status.SecretRef.Namespace}, postgresCredSec)

pkg/resources/metrics.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func CreatePostgresConnectivityAlert(ctx context.Context, client k8sclient.Clien
7373
}
7474

7575
// CreateRedisAvailabilityAlert creates a PrometheusRule alert to watch for the availability
76-
// of a Redis cacheu
76+
// of a Redis cache
7777
func CreateRedisAvailabilityAlert(ctx context.Context, client k8sclient.Client, inst *v1alpha1.RHMI, cr *crov1.Redis) (*prometheusv1.PrometheusRule, error) {
7878
if strings.ToLower(inst.Spec.UseClusterStorage) == "true" {
7979
logrus.Info("skipping redis alert creation, useClusterStorage is true")

0 commit comments

Comments
 (0)