From c6efb64e0e32a96e723b218b8049bb853ee44c6a Mon Sep 17 00:00:00 2001 From: Grant Griffiths Date: Thu, 27 Jul 2023 22:17:40 +0000 Subject: [PATCH] Check for grafana running properly Signed-off-by: Grant Griffiths --- pkg/util/test/util.go | 29 +++++++++++++------ .../sched-ops/k8s/apps/deployments.go | 2 +- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/pkg/util/test/util.go b/pkg/util/test/util.go index de692c8e80..953435ffbf 100644 --- a/pkg/util/test/util.go +++ b/pkg/util/test/util.go @@ -2994,9 +2994,9 @@ func ValidateGrafana(pxImageList map[string]string, cluster *corev1.StorageClust return nil } - shouldBeInstalled := cluster.Spec.Monitoring != nil && cluster.Spec.Monitoring.Grafana != nil && - cluster.Spec.Monitoring.Grafana.Enabled && cluster.Spec.Monitoring.Prometheus != nil && - cluster.Spec.Monitoring.Prometheus.Enabled + shouldBeInstalled := cluster.Spec.Monitoring != nil && + cluster.Spec.Monitoring.Grafana != nil && cluster.Spec.Monitoring.Grafana.Enabled && + cluster.Spec.Monitoring.Prometheus != nil && cluster.Spec.Monitoring.Prometheus.Enabled err = ValidateGrafanaDeployment(cluster, shouldBeInstalled, pxImageList) if err != nil { return err @@ -3014,13 +3014,24 @@ func ValidateGrafana(pxImageList map[string]string, cluster *corev1.StorageClust } func ValidateGrafanaDeployment(cluster *corev1.StorageCluster, shouldBeInstalled bool, pxImageList map[string]string) error { - deployment, err := appops.Instance().GetDeployment("px-grafana", cluster.Namespace) - if err != nil { - return fmt.Errorf("failed to get deployment in ns %v: %v", cluster.Namespace, err) - } - if err := appops.Instance().ValidateDeployment(deployment, 2*time.Minute, 10*time.Second); err != nil { - return err + // Deployment to validate + deployment := &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{ + Name: "px-grafana", + Namespace: cluster.Namespace, + }, + } + if shouldBeInstalled { + if err := appops.Instance().ValidateDeployment(deployment, 2*time.Minute, 10*time.Second); err != nil { + return fmt.Errorf("failed to validate deployment %s/%s. should be installed: %v. err: %v", + deployment.Namespace, deployment.Name, shouldBeInstalled, err) + } + } else { + if err := appops.Instance().ValidateTerminatedDeployment(deployment, 2*time.Minute, 10*time.Second); err != nil { + return fmt.Errorf("failed to validate terminated deployment %s/%s. should be installed: %v. err: %v", + deployment.Namespace, deployment.Name, shouldBeInstalled, err) + } } return nil diff --git a/vendor/github.com/portworx/sched-ops/k8s/apps/deployments.go b/vendor/github.com/portworx/sched-ops/k8s/apps/deployments.go index dfe710f85e..6431a6ae52 100644 --- a/vendor/github.com/portworx/sched-ops/k8s/apps/deployments.go +++ b/vendor/github.com/portworx/sched-ops/k8s/apps/deployments.go @@ -22,7 +22,7 @@ type DeploymentOps interface { GetDeployment(name, namespace string) (*appsv1.Deployment, error) // CreateDeployment creates the given deployment CreateDeployment(*appsv1.Deployment, metav1.CreateOptions) (*appsv1.Deployment, error) - // UpdateDeployment updates the given deployment + // UpdateDep`loyment updates the given deployment UpdateDeployment(*appsv1.Deployment) (*appsv1.Deployment, error) // DeleteDeployment deletes the given deployment DeleteDeployment(name, namespace string) error