Ray Cluster Interaction๏
The CodeFlare SDK offers multiple ways to interact with Ray Clusters including the below methods.
get_cluster()๏
The get_cluster()
function is used to initialise a Cluster
object from a pre-existing Ray Cluster/AppWrapper. Below is an example
of itโs usage:
from codeflare_sdk import get_cluster
cluster = get_cluster(cluster_name="raytest", namespace="example", is_appwrapper=False, write_to_file=False)
-> output: Yaml resources loaded for raytest
cluster.status()
-> output:
๐ CodeFlare Cluster Status ๐
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Name โ
โ raytest Active โ
โ
โ โ
โ URI: ray://raytest-head-svc.example.svc:10001 โ
โ โ
โ Dashboard๐ โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
(<CodeFlareClusterStatus.READY: 1>, True)
cluster.down()
cluster.up() # This function will create an exact copy of the retrieved Ray Cluster only if the Ray Cluster has been previously deleted.
These are the parameters the
get_cluster()
function accepts:cluster_name: str # Required
-> The name of the Ray Cluster.namespace: str # Default: "default"
-> The namespace of the Ray Cluster.is_appwrapper: bool # Default: False
-> When set toTrue
the function will attempt to retrieve an AppWrapper instead of a Ray Cluster.write_to_file: bool # Default: False
-> When set to True
the Ray Cluster/AppWrapper will be written to a file similar to how it is done in ClusterConfiguration
.list_all_queued()๏
The
list_all_queued()
function returns (and prints by default) a list of all currently queued-up Ray Clusters in a given namespace.It accepts the following parameters:
namespace: str # Required
-> The namespace you want to retrieve the list from.print_to_console: bool # Default: True
-> Allows the user to print the list to their console.appwrapper: bool # Default: False
-> When set to True
allows the user to list queued AppWrappers.list_all_clusters()๏
The
list_all_clusters()
function will return a list of detailed descriptions of Ray Clusters to the console by default.It accepts the following parameters:
namespace: str # Required
-> The namespace you want to retrieve the list from.print_to_console: bool # Default: True
-> A boolean that allows the user to print the list to their console.Note
The following methods require a Cluster
object to be
initialized. See Ray Cluster Configuration
cluster.up()๏
The
cluster.up()
function creates a Ray Cluster in the given namespace.cluster.down()๏
The
cluster.down()
function deletes the Ray Cluster in the given namespace.cluster.status()๏
The
cluster.status()
function prints out the status of the Ray Clusterโs state with a link to the Ray Dashboard.cluster.details()๏
The
cluster.details()
function prints out a detailed description of the Ray Clusterโs status, worker resources and a link to the Ray Dashboard.cluster.wait_ready()๏
The
cluster.wait_ready()
function waits for the requested cluster to be ready, up to an optional timeout and checks every 5 seconds.It accepts the following parameters:
timeout: Optional[int] # Default: None
-> Allows the user to define a timeout for the wait_ready()
function.dashboard_check: bool # Default: True
-> If enabled the wait_ready()
function will wait until the Ray Dashboard is ready too.