sustainable-computing-io / kepler-operator

Kepler Operator
Apache License 2.0
25 stars 26 forks source link

Operator doesn't show the status for Kepler #315

Open vprashar2929 opened 8 months ago

vprashar2929 commented 8 months ago

We don't see any exporter status when deploying Kepler using the latest bundle quay.io/sustainable_computing_io/kepler-operator-bundle:v1alpha1 on the OpenShift console.

Below attached is the screenshot for reference:

Screenshot 2023-11-30 at 7 04 23 PM

sunya-ch commented 7 months ago

There is a bug. I found it during implementing the model server integration https://github.com/sustainable-computing-io/kepler-operator/pull/322
Mentioned here: https://github.com/sustainable-computing-io/kepler-operator/pull/322#discussion_r1419896196

@sthaha If the PR https://github.com/sustainable-computing-io/kepler-operator/pull/322 needs more time to merge, I can create a separated PRs to those fix two bugs first.

Please ignore the above comment. It turns out that I mixed the issue. I got the same problem since I assigned the .namespace in KeplerInternal to openshift-kepler-operator which is not recognized since the default one is now go to kepler-operator namespace. Now sure that you are the same case or not.

It will be helpful to run oc describe kepler kepler. It will tell you more the error of status update.

KaiyiLiu1234 commented 5 months ago

So the issue regarding why the status is not shown is because the OLM does not seem to handle nested fields very well. Conditions is nested inside of ExporterStatus in the KeplerStatus struct. Note KeplerStatus only contains one field which is ExporterStatus. One strategy is to flatten ExporterStatus and pull out the Conditions. The Conditions can then be populated by ExporterStatus or other Statuses in the future like ModelServer. This may not be necessary because KeplerInternal should handle this? Is this strategy ok? I am not sure if there is another way.

KaiyiLiu1234 commented 5 months ago

Below is attached showing the status being filled. I replaced it with a dummy Condition but I can transfer exporter status conditions over as well. part_1_success part_2_success

sthaha commented 5 months ago

@KaiyiLiu1234 , thanks for the update. I think issue doesn't make it clear what we are trying to achieve. The object of this task is to explore if UI honours - https://github.com/openshift/console/blob/master/frontend/packages/operator-lifecycle-manager/src/components/descriptors/reference/reference.md#3-conditions and we can specify the path to status.exporter.conditions to render it.