Module codeflare_sdk.cluster.model
The model sub-module defines Enums containing information for Ray cluster states and AppWrapper states, and CodeFlare cluster states, as well as dataclasses to store information for Ray clusters and AppWrappers.
Expand source code
# Copyright 2022 IBM, Red Hat
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
The model sub-module defines Enums containing information for Ray cluster
states and AppWrapper states, and CodeFlare cluster states, as well as
dataclasses to store information for Ray clusters and AppWrappers.
"""
from dataclasses import dataclass, field
from enum import Enum
import typing
from typing import Union
class RayClusterStatus(Enum):
"""
Defines the possible reportable states of a Ray cluster.
"""
# https://github.com/ray-project/kuberay/blob/master/ray-operator/apis/ray/v1/raycluster_types.go#L112-L117
READY = "ready"
UNHEALTHY = "unhealthy"
FAILED = "failed"
UNKNOWN = "unknown"
SUSPENDED = "suspended"
class AppWrapperStatus(Enum):
"""
Defines the possible reportable phases of an AppWrapper.
"""
SUSPENDED = "suspended"
RESUMING = "resuming"
RUNNING = "running"
RESETTING = "resetting"
SUSPENDING = "suspending"
SUCCEEDED = "succeeded"
FAILED = "failed"
TERMINATING = "terminating"
class CodeFlareClusterStatus(Enum):
"""
Defines the possible reportable states of a Codeflare cluster.
"""
READY = 1
STARTING = 2
QUEUED = 3
QUEUEING = 4
FAILED = 5
UNKNOWN = 6
SUSPENDED = 7
@dataclass
class RayCluster:
"""
For storing information about a Ray cluster.
"""
name: str
status: RayClusterStatus
head_cpu_requests: int
head_cpu_limits: int
head_mem_requests: str
head_mem_limits: str
num_workers: int
worker_mem_requests: str
worker_mem_limits: str
worker_cpu_requests: Union[int, str]
worker_cpu_limits: Union[int, str]
namespace: str
dashboard: str
worker_extended_resources: typing.Dict[str, int] = field(default_factory=dict)
head_extended_resources: typing.Dict[str, int] = field(default_factory=dict)
@dataclass
class AppWrapper:
"""
For storing information about an AppWrapper.
"""
name: str
status: AppWrapperStatus
Classes
class AppWrapper (name: str, status: AppWrapperStatus)-
For storing information about an AppWrapper.
Expand source code
@dataclass class AppWrapper: """ For storing information about an AppWrapper. """ name: str status: AppWrapperStatusClass variables
var name : strvar status : AppWrapperStatus
class AppWrapperStatus (value, names=None, *, module=None, qualname=None, type=None, start=1)-
Defines the possible reportable phases of an AppWrapper.
Expand source code
class AppWrapperStatus(Enum): """ Defines the possible reportable phases of an AppWrapper. """ SUSPENDED = "suspended" RESUMING = "resuming" RUNNING = "running" RESETTING = "resetting" SUSPENDING = "suspending" SUCCEEDED = "succeeded" FAILED = "failed" TERMINATING = "terminating"Ancestors
- enum.Enum
Class variables
var FAILEDvar RESETTINGvar RESUMINGvar RUNNINGvar SUCCEEDEDvar SUSPENDEDvar SUSPENDINGvar TERMINATING
class CodeFlareClusterStatus (value, names=None, *, module=None, qualname=None, type=None, start=1)-
Defines the possible reportable states of a Codeflare cluster.
Expand source code
class CodeFlareClusterStatus(Enum): """ Defines the possible reportable states of a Codeflare cluster. """ READY = 1 STARTING = 2 QUEUED = 3 QUEUEING = 4 FAILED = 5 UNKNOWN = 6 SUSPENDED = 7Ancestors
- enum.Enum
Class variables
var FAILEDvar QUEUEDvar QUEUEINGvar READYvar STARTINGvar SUSPENDEDvar UNKNOWN
class RayCluster (name: str, status: RayClusterStatus, head_cpu_requests: int, head_cpu_limits: int, head_mem_requests: str, head_mem_limits: str, num_workers: int, worker_mem_requests: str, worker_mem_limits: str, worker_cpu_requests: Union[int, str], worker_cpu_limits: Union[int, str], namespace: str, dashboard: str, worker_extended_resources: Dict[str, int] = <factory>, head_extended_resources: Dict[str, int] = <factory>)-
For storing information about a Ray cluster.
Expand source code
@dataclass class RayCluster: """ For storing information about a Ray cluster. """ name: str status: RayClusterStatus head_cpu_requests: int head_cpu_limits: int head_mem_requests: str head_mem_limits: str num_workers: int worker_mem_requests: str worker_mem_limits: str worker_cpu_requests: Union[int, str] worker_cpu_limits: Union[int, str] namespace: str dashboard: str worker_extended_resources: typing.Dict[str, int] = field(default_factory=dict) head_extended_resources: typing.Dict[str, int] = field(default_factory=dict)Class variables
var dashboard : strvar head_cpu_limits : intvar head_cpu_requests : intvar head_extended_resources : Dict[str, int]var head_mem_limits : strvar head_mem_requests : strvar name : strvar namespace : strvar num_workers : intvar status : RayClusterStatusvar worker_cpu_limits : Union[int, str]var worker_cpu_requests : Union[int, str]var worker_extended_resources : Dict[str, int]var worker_mem_limits : strvar worker_mem_requests : str
class RayClusterStatus (value, names=None, *, module=None, qualname=None, type=None, start=1)-
Defines the possible reportable states of a Ray cluster.
Expand source code
class RayClusterStatus(Enum): """ Defines the possible reportable states of a Ray cluster. """ # https://github.com/ray-project/kuberay/blob/master/ray-operator/apis/ray/v1/raycluster_types.go#L112-L117 READY = "ready" UNHEALTHY = "unhealthy" FAILED = "failed" UNKNOWN = "unknown" SUSPENDED = "suspended"Ancestors
- enum.Enum
Class variables
var FAILEDvar READYvar SUSPENDEDvar UNHEALTHYvar UNKNOWN