39 lines
1.2 KiB
Python
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
|