anyscale 0.26.67__py3-none-any.whl → 0.26.69__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. anyscale/client/README.md +22 -0
  2. anyscale/client/openapi_client/__init__.py +16 -0
  3. anyscale/client/openapi_client/api/default_api.py +801 -19
  4. anyscale/client/openapi_client/models/__init__.py +16 -0
  5. anyscale/client/openapi_client/models/clusterdashboardnode_response.py +121 -0
  6. anyscale/client/openapi_client/models/lineage_artifact.py +383 -0
  7. anyscale/client/openapi_client/models/lineage_artifact_sort_field.py +101 -0
  8. anyscale/client/openapi_client/models/lineage_artifact_type.py +100 -0
  9. anyscale/client/openapi_client/models/lineage_direction.py +101 -0
  10. anyscale/client/openapi_client/models/lineage_graph.py +179 -0
  11. anyscale/client/openapi_client/models/lineage_graph_node.py +467 -0
  12. anyscale/client/openapi_client/models/lineage_node_type.py +100 -0
  13. anyscale/client/openapi_client/models/lineage_workload.py +383 -0
  14. anyscale/client/openapi_client/models/lineage_workload_sort_field.py +101 -0
  15. anyscale/client/openapi_client/models/lineage_workload_type.py +101 -0
  16. anyscale/client/openapi_client/models/lineageartifact_list_response.py +147 -0
  17. anyscale/client/openapi_client/models/lineageartifact_response.py +121 -0
  18. anyscale/client/openapi_client/models/lineagegraph_response.py +121 -0
  19. anyscale/client/openapi_client/models/lineageworkload_list_response.py +147 -0
  20. anyscale/client/openapi_client/models/lineageworkload_response.py +121 -0
  21. anyscale/commands/cloud_commands.py +15 -9
  22. anyscale/commands/command_examples.py +53 -0
  23. anyscale/commands/setup_k8s.py +521 -50
  24. anyscale/controllers/cloud_controller.py +13 -12
  25. anyscale/controllers/kubernetes_verifier.py +57 -11
  26. anyscale/version.py +1 -1
  27. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/METADATA +1 -1
  28. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/RECORD +33 -17
  29. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/WHEEL +0 -0
  30. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/entry_points.txt +0 -0
  31. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/licenses/LICENSE +0 -0
  32. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/licenses/NOTICE +0 -0
  33. {anyscale-0.26.67.dist-info → anyscale-0.26.69.dist-info}/top_level.txt +0 -0
@@ -137,14 +137,11 @@ def default_region(provider: str) -> str:
137
137
  show_default=True,
138
138
  )
139
139
  @click.option(
140
- "--cluster-name",
141
- help="Kubernetes cluster name (required for k8s stack).",
142
- required=False,
143
- type=str,
140
+ "--cluster-name", help="Kubernetes cluster name. (K8s)", required=False, type=str,
144
141
  )
145
142
  @click.option(
146
143
  "--namespace",
147
- help="Kubernetes namespace for Anyscale operator (for k8s stack).",
144
+ help="Kubernetes namespace for Anyscale operator. (K8s)",
148
145
  required=False,
149
146
  type=str,
150
147
  default="anyscale-operator",
@@ -166,13 +163,13 @@ def default_region(provider: str) -> str:
166
163
  "--anyscale-managed",
167
164
  is_flag=True,
168
165
  default=False,
169
- help="Let anyscale create all the resources.",
166
+ help="Let anyscale create all the resources. (VM)",
170
167
  )
171
168
  @click.option(
172
169
  "--enable-head-node-fault-tolerance",
173
170
  is_flag=True,
174
171
  default=False,
175
- help="Whether to enable head node fault tolerance for services.",
172
+ help="Whether to enable head node fault tolerance for services. (VM)",
176
173
  )
177
174
  @click.option(
178
175
  "--yes", "-y", is_flag=True, default=False, help="Skip asking for confirmation."
@@ -193,17 +190,24 @@ def default_region(provider: str) -> str:
193
190
  type=click.Choice([e.value for e in SharedStorageType], case_sensitive=False),
194
191
  default=SharedStorageType.OBJECT_STORAGE.value,
195
192
  show_default=True,
196
- help="The type of shared storage to use for the cloud. Use 'object-storage' for cloud bucket-based storage (e.g., S3, GCS), or 'nfs' for network file systems.",
193
+ help="The type of shared storage to use for the cloud. Use 'object-storage' for cloud bucket-based storage (e.g., S3, GCS), or 'nfs' for network file systems. (VM)",
197
194
  )
198
195
  @click.option(
199
196
  "--values-file",
200
- help="Path to save the generated Helm values file (for k8s stack, default: auto-generated with timestamp).",
197
+ help="Path to save the generated Helm values file (for k8s stack, default: auto-generated with timestamp). (K8s)",
201
198
  required=False,
202
199
  type=str,
203
200
  )
204
201
  @click.option(
205
202
  "--debug", is_flag=True, default=False, help="Enable debug logging.",
206
203
  )
204
+ @click.option(
205
+ "--operator-chart",
206
+ help="Path to operator chart (skips helm repo add/update). (K8s)",
207
+ required=False,
208
+ type=str,
209
+ hidden=True,
210
+ )
207
211
  def setup_cloud( # noqa: PLR0913
208
212
  provider: str,
209
213
  region: str,
@@ -220,6 +224,7 @@ def setup_cloud( # noqa: PLR0913
220
224
  shared_storage: str,
221
225
  values_file: Optional[str],
222
226
  debug: bool,
227
+ operator_chart: Optional[str],
223
228
  ) -> None:
224
229
  # TODO (congding): remove `anyscale_managed` in the future, now keeping it for compatibility
225
230
 
@@ -241,6 +246,7 @@ def setup_cloud( # noqa: PLR0913
241
246
  yes=yes,
242
247
  values_file=values_file,
243
248
  debug=debug,
249
+ operator_chart=operator_chart,
244
250
  )
245
251
  return
246
252
 
@@ -538,6 +538,59 @@ $ anyscale project get-default --cloud my-cloud-id --json
538
538
  """
539
539
 
540
540
 
541
+ CLOUD_SETUP_K8S_AWS_EXAMPLE = """\
542
+ # Set up a Kubernetes cloud on AWS EKS
543
+ $ anyscale cloud setup --provider aws --region us-west-2 --name my-k8s-cloud \\
544
+ --stack k8s --cluster-name my-eks-cluster --namespace anyscale-operator \\
545
+ --debug --yes
546
+ Output
547
+ (anyscale +1.0s) Setting up Kubernetes cloud 'my-k8s-cloud' on AWS
548
+ (anyscale +1.5s) Required CLI tools are installed (kubectl, helm, aws)
549
+ (anyscale +2.3s) Using namespace: anyscale-operator
550
+ (anyscale +5.2s) Cluster discovered: arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster
551
+ (anyscale +8.4s) Setting up AWS infrastructure...
552
+ (anyscale +1m12.3s) CloudFormation stack created
553
+ (anyscale +1m15.7s) Cloud registered with ID: cld_abc123
554
+ (anyscale +1m18.2s) Adding Anyscale Helm repository...
555
+ (anyscale +1m20.5s) Installing Anyscale operator...
556
+ (anyscale +1m25.8s) Generated Helm values file: anyscale-helm-values-aws-anyscale-operator-20241015_175602.yaml
557
+ (anyscale +2m45.3s) Helm installation completed successfully
558
+ (anyscale +2m45.4s) Kubernetes cloud 'my-k8s-cloud' setup completed successfully!
559
+ """
560
+
561
+ CLOUD_SETUP_K8S_GCP_EXAMPLE = """\
562
+ # Set up a Kubernetes cloud on GCP GKE
563
+ $ anyscale cloud setup --provider gcp --region us-central1 --name my-gke-cloud \\
564
+ --stack k8s --cluster-name my-gke-cluster --namespace anyscale-operator \\
565
+ --project-id my-project-123 --yes
566
+ Output
567
+ (anyscale +1.0s) Setting up Kubernetes cloud 'my-gke-cloud' on GCP
568
+ (anyscale +1.5s) Required CLI tools are installed (kubectl, helm, gcloud, gsutil)
569
+ (anyscale +2.3s) Using namespace: anyscale-operator
570
+ (anyscale +5.8s) Cluster discovered: gke_my-project-123_us-central1_my-gke-cluster
571
+ (anyscale +9.2s) Setting up GCP infrastructure...
572
+ (anyscale +15.4s) Created GCS bucket: anyscale-k8s-my-gke-cloud-a1b2c3d4
573
+ (anyscale +18.7s) Created service account: anyscale-operator-e5f6g7h8@my-project-123.iam.gserviceaccount.com
574
+ (anyscale +25.3s) GCP resources created successfully
575
+ (anyscale +28.1s) Cloud registered with ID: cld_xyz789
576
+ (anyscale +30.5s) Installing Anyscale operator...
577
+ (anyscale +35.8s) Generated Helm values file: anyscale-helm-values-gcp-anyscale-operator-20241015_180215.yaml
578
+ (anyscale +1m55.2s) Helm installation completed successfully
579
+ (anyscale +1m55.3s) Kubernetes cloud 'my-gke-cloud' setup completed successfully!
580
+ """
581
+
582
+ CLOUD_SETUP_K8S_CUSTOM_VALUES_EXAMPLE = """\
583
+ # Set up a Kubernetes cloud with a custom Helm values file path
584
+ $ anyscale cloud setup --provider aws --region us-west-2 --name my-k8s-cloud \\
585
+ --stack k8s --cluster-name my-eks-cluster \\
586
+ --values-file /path/to/custom-values.yaml --yes
587
+ Output
588
+ (anyscale +1.0s) Setting up Kubernetes cloud 'my-k8s-cloud' on AWS
589
+ ...
590
+ (anyscale +1m25.8s) Generated Helm values file: /path/to/custom-values.yaml
591
+ ...
592
+ """
593
+
541
594
  CLOUD_ADD_COLLABORATORS_EXAMPLE = """\
542
595
  $ anyscale cloud add-collaborators --cloud cloud_name --users-file collaborators.yaml
543
596
  (anyscale +1.3s) Successfully added 2 collaborators to cloud cloud_name.