notebooks/components/crud-web-apps/tensorboards/backend/app/utils.py

39 lines
1.2 KiB
Python

from kubeflow.kubeflow.crud_backend import status
def parse_tensorboard(tensorboard):
"""
Process the Tensorboard object and format it as the UI expects it.
"""
if tensorboard.get("status", {}).get("readyReplicas", 0) == 1:
phase = status.STATUS_PHASE.READY
message = "The Tensorboard server is ready to connect"
else:
phase = status.STATUS_PHASE.UNAVAILABLE
message = "The Tensorboard server is currently unavailble"
parsed_tensorboard = {
"name": tensorboard["metadata"]["name"],
"namespace": tensorboard["metadata"]["namespace"],
"logspath": tensorboard["spec"]["logspath"],
"age": tensorboard["metadata"]["creationTimestamp"],
"status": status.create_status(phase, message, "")
}
return parsed_tensorboard
def get_tensorboard_dict(namespace, body):
"""
Create Tensorboard object from request body and format it as a Python dict.
"""
tensorboard = {
"apiVersion": "tensorboard.kubeflow.org/v1alpha1",
"kind": "Tensorboard",
"metadata": {"name": body["name"], "namespace": namespace, },
"spec": {"logspath": body["logspath"], },
}
return tensorboard