Skip to content

Commit

Permalink
Merge pull request #292 from vprashar2929/update-plan
Browse files Browse the repository at this point in the history
docs(test-plan): Update test-plan
  • Loading branch information
sthaha authored Oct 25, 2023
2 parents 16a1b87 + fa008a2 commit 0205795
Showing 1 changed file with 36 additions and 6 deletions.
42 changes: 36 additions & 6 deletions docs/developer/test-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
> πŸ‘‰ This includes the ability of the operator to provision, configure, and manage resources such as pods, services, volumes, etc.
- Following resources should get deployed as part of Operator Installation:

- `kepler-operator-controller-manager deployment`
- `kube-rbac-proxy`
- `manager`
Expand All @@ -43,9 +44,9 @@

- The Operator should not enter into an infinite reconcile loop. This can be
verified by:
- checking the logs of the Operator.
- checking if the `metadata.resourceVersion` keeps increasing / changing in a
short interval say every 2-5 seconds.
- Checking the logs of the Operator.
- Checking if the `metadata.resourceVersion` keeps increasing / changing in a
short interval say every 2-5 seconds.

#### Negative:

Expand All @@ -68,19 +69,25 @@
> πŸ‘‰ This is to be verified by Upstream/Downstream CI.
- Following resources should get deployed as part of Kepler Instance Creation:

- `openshift-kepler-operator namespace`
- `clusterrole`
- `scc`
- `clusterrolebindings`
- `kepler-exporter-ds`
- `kepler-exporter-cm`
- `kepler-exporter-svc`
- `kepler-exporter-smon`
- `power-monitoring-by-ns` config-map in `openshift-config-managed` namespace
- `power-monitoring-overview` config-map in `openshift-config-managed` namespace
- `kepler-exporter-prom-rules` Prometheus rules in `openshift-kepler-operator` namespace

- Kepler operator only exposes `exporter port` at the time of configuring the Kepler Instance.

- Kepler Instance should be able to run with different port number.
> πŸ‘‰ This is to be verified from OpenShift console
- Appropriate status should be reflected for creation of Instance(Reconcillation status).
- Appropriate status should be reflected for creation of Instance(Reconciliation status).

> πŸ‘‰ This includes whether Kepler Instance was deployed successfully on cluster nodes and logs any error on controller manager.
Expand Down Expand Up @@ -136,7 +143,7 @@
- Kepler exporter should be able to expose metrics at port 9103
- Metric HTTP endpoint should be reachable either via port-forwarding or creating a route on OpenShift.
- Following metrics should be available and updated accordingly:
> πŸ‘‰ These metrics are used inside our grafana dashboard.
> πŸ‘‰ These metrics are used inside OpenShift & Grafana dashboard.
- `kepler_container_package_joules_total`
- `kepler_container_dram_joules_total`
- `kepler_container_other_host_components_joules_total`
Expand All @@ -161,7 +168,7 @@
- `kepler-operator-controller-manager Service Account`
- `kepler-operator CSV`
- `subscription`
- `servicemonitor` -> **TBD**
- `servicemonitor`

#### Negative

Expand All @@ -188,6 +195,9 @@
- `kepler-exporter-ds`
- `kepler-exporter-cm`
- `kepler-exporter-svc`
- `prometheusrules`
- `power-monitoring-by-ns` config-map in `openshift-config-managed` namespace
- `power-monitoring-overview` config-map in `openshift-config-managed` namespace

#### Negative

Expand All @@ -214,8 +224,28 @@

- All the panels inside the dashboard should update accordingly.

- Grafana dashboard should not crash when queried for long time ranges.

- Prometheus rules should be able to pre-compute the metric's value successfully.

- `deploy-grafana.sh` should be able to re-load the new dashboard json config-map when re-run.

### Negative

- `deploy-grafana.sh` should log an appropriate error in case of any failure.

## OpenShift console Dashboard

**πŸ‘‰ Note: Need to enable `User-Workload-Monitoring` before visualizing dashboard on console.**

### Positive

- OpenShift console dashboard should be able to query data from `user-workload-monitoring` Prometheus.

- OpenShift console should show title with relevant information on each panel.

- All the panels inside the dashboard should update accordingly.

- Prometheus rules should be able to pre-compute the metric's value successfully.

- OpenShift dashboard should not become unresponsive when queried for long time ranges.

0 comments on commit 0205795

Please sign in to comment.