anyscale 0.26.67__py3-none-any.whl → 0.26.68__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 (30) hide show
  1. anyscale/client/README.md +20 -0
  2. anyscale/client/openapi_client/__init__.py +15 -0
  3. anyscale/client/openapi_client/api/default_api.py +656 -0
  4. anyscale/client/openapi_client/models/__init__.py +15 -0
  5. anyscale/client/openapi_client/models/lineage_artifact.py +383 -0
  6. anyscale/client/openapi_client/models/lineage_artifact_sort_field.py +101 -0
  7. anyscale/client/openapi_client/models/lineage_artifact_type.py +100 -0
  8. anyscale/client/openapi_client/models/lineage_direction.py +101 -0
  9. anyscale/client/openapi_client/models/lineage_graph.py +179 -0
  10. anyscale/client/openapi_client/models/lineage_graph_node.py +439 -0
  11. anyscale/client/openapi_client/models/lineage_node_type.py +100 -0
  12. anyscale/client/openapi_client/models/lineage_workload.py +355 -0
  13. anyscale/client/openapi_client/models/lineage_workload_sort_field.py +101 -0
  14. anyscale/client/openapi_client/models/lineage_workload_type.py +101 -0
  15. anyscale/client/openapi_client/models/lineageartifact_list_response.py +147 -0
  16. anyscale/client/openapi_client/models/lineageartifact_response.py +121 -0
  17. anyscale/client/openapi_client/models/lineagegraph_response.py +121 -0
  18. anyscale/client/openapi_client/models/lineageworkload_list_response.py +147 -0
  19. anyscale/client/openapi_client/models/lineageworkload_response.py +121 -0
  20. anyscale/commands/setup_k8s.py +460 -40
  21. anyscale/controllers/cloud_controller.py +10 -10
  22. anyscale/controllers/kubernetes_verifier.py +57 -11
  23. anyscale/version.py +1 -1
  24. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/METADATA +1 -1
  25. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/RECORD +30 -15
  26. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/WHEEL +0 -0
  27. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/entry_points.txt +0 -0
  28. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/licenses/LICENSE +0 -0
  29. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/licenses/NOTICE +0 -0
  30. {anyscale-0.26.67.dist-info → anyscale-0.26.68.dist-info}/top_level.txt +0 -0
@@ -789,20 +789,59 @@ class OperatorVerifier:
789
789
 
790
790
  def _fetch_config_data(self, local_port: int) -> OperatorConfigData:
791
791
  """Fetch config data from operator."""
792
- response = requests.get(
793
- f"http://localhost:{local_port}{OPERATOR_CONFIG_ENDPOINT}",
794
- timeout=HTTP_REQUEST_TIMEOUT,
795
- )
792
+ max_retries = 6
793
+ retry_delay = 5
796
794
 
797
- config_data = None
798
- config_error = None
795
+ for attempt in range(max_retries):
796
+ response = requests.get(
797
+ f"http://localhost:{local_port}{OPERATOR_CONFIG_ENDPOINT}",
798
+ timeout=HTTP_REQUEST_TIMEOUT,
799
+ )
799
800
 
800
- if response.status_code == 200:
801
- try:
802
- config_data = response.json()
803
- except json.JSONDecodeError as e:
804
- config_error = str(e)
801
+ config_data = None
802
+ config_error = None
803
+
804
+ if response.status_code == 200:
805
+ try:
806
+ config_data = response.json()
807
+
808
+ # Check if iamIdentity is present in the config
809
+ # This is necessary because the operator may not have the iamIdentity field
810
+ # immediately available after startup while it is being bootstrapped (connecting to KCP, storing registry secrets, etc.)
811
+ if config_data and "iamIdentity" in config_data:
812
+ return OperatorConfigData(
813
+ status_code=response.status_code,
814
+ response_text=response.text,
815
+ config_data=config_data,
816
+ config_error=config_error,
817
+ )
818
+
819
+ # If iamIdentity is missing and we have retries left, wait and retry
820
+ if attempt < max_retries - 1:
821
+ self.log.info(
822
+ f"Operator config endpoint returned 200 but iamIdentity not found. "
823
+ f"Retrying in {retry_delay} seconds... (attempt {attempt + 1}/{max_retries})"
824
+ )
825
+ time.sleep(retry_delay)
826
+ continue
827
+ else:
828
+ # Last attempt and still no iamIdentity, return what we have
829
+ self.log.warning(
830
+ f"iamIdentity not found after {max_retries} attempts"
831
+ )
832
+
833
+ except json.JSONDecodeError as e:
834
+ config_error = str(e)
835
+ else:
836
+ # Non-200 status code, return immediately without retrying
837
+ return OperatorConfigData(
838
+ status_code=response.status_code,
839
+ response_text=response.text,
840
+ config_data=config_data,
841
+ config_error=config_error,
842
+ )
805
843
 
844
+ # Return the last response (this will have config_data but no iamIdentity)
806
845
  return OperatorConfigData(
807
846
  status_code=response.status_code,
808
847
  response_text=response.text,
@@ -1375,6 +1414,13 @@ class KubernetesCloudDeploymentVerifier:
1375
1414
  ):
1376
1415
  cloud_deployment.file_storage = FileStorage(**cloud_deployment.file_storage)
1377
1416
 
1417
+ if cloud_deployment.kubernetes_config is not None and isinstance(
1418
+ cloud_deployment.kubernetes_config, dict
1419
+ ):
1420
+ cloud_deployment.kubernetes_config = OpenAPIKubernetesConfig(
1421
+ **cloud_deployment.kubernetes_config
1422
+ )
1423
+
1378
1424
  try:
1379
1425
  return self._run_verification_steps(cloud_deployment)
1380
1426
 
anyscale/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.26.67"
1
+ __version__ = "0.26.68"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: anyscale
3
- Version: 0.26.67
3
+ Version: 0.26.68
4
4
  Summary: Command Line Interface for Anyscale
5
5
  Author: Anyscale Inc.
6
6
  License: AS License
@@ -28,7 +28,7 @@ anyscale/snapshot.py,sha256=UGJT5C1s_4xmQxjWODK5DFpGxHRBX5jOCdSCqXESH8E,1685
28
28
  anyscale/tables.py,sha256=TV4F2uLnwehvbkAfaP7iuLlT2wLIo6ORH2LVdRGXW5g,2840
29
29
  anyscale/telemetry.py,sha256=U90C2Vgx48z9PMTI6EbzHFbP3jWnDUutbIfMPBb8-SI,14711
30
30
  anyscale/util.py,sha256=3jfGH2CyDmXrSg-3owSF7F8FnqKbLJ-aHUbepyCKuqQ,42903
31
- anyscale/version.py,sha256=4mkZX01-EDXdRnvNIK0wtKyNwhcnPvBpwO-aAxb3rCk,24
31
+ anyscale/version.py,sha256=lpQs-Szxlm150B9mnwXj1al8clhb5Zo-ZL5AiFSuzk8,24
32
32
  anyscale/workspace_utils.py,sha256=OViE88CnIF5ruVxd3kazQ0Mf2BxqtMq6wx-XQ5A2cp8,1204
33
33
  anyscale/_private/anyscale_client/README.md,sha256=kSfI2Jfw5RHZWYtu0di3XtdSCx0d2pSwKMfjmDvw7Tg,3770
34
34
  anyscale/_private/anyscale_client/__init__.py,sha256=807Blx3RHQeS8BmKZcsOQQ4dYoKlCnpm6Bdsif2CrHg,337
@@ -106,7 +106,7 @@ anyscale/background/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
106
106
  anyscale/background/job_runner.py,sha256=LTuv9JOahyv6C9i7DLQAONgQF6--FfYZEmJrKy-sUG8,2687
107
107
  anyscale/client/.gitignore,sha256=JZyvYEtT2DCSK9V5Joi6lQofhMik4PXiJRCWsg7SvqI,807
108
108
  anyscale/client/.openapi-generator-ignore,sha256=pu2PTide7pJtJ-DFLzDy0cTYQJRlrB-8RRH3zGLeUds,1040
109
- anyscale/client/README.md,sha256=qCVY-Th4K0QhR-tPgXsHF5-mjgTWupf2nHSsYWe73pk,130129
109
+ anyscale/client/README.md,sha256=yVThjY7_FVCDVT5NRRJ-05L9BheiL0Kr01CVnSie_6I,131991
110
110
  anyscale/client/git_push.sh,sha256=EDCZOTTiLxbtPHmiU63qC99rGH67B7dhdPZdNUKivF0,1827
111
111
  anyscale/client/requirements.txt,sha256=dkVKYUStC5h_g_87SH7pRdhXCj7ySozAJMGAFEzGgFc,126
112
112
  anyscale/client/setup.cfg,sha256=l7bdKSIedeBhhoDtupsBwx1xPrlBf2yYeTH7a8kMga4,28
@@ -114,14 +114,14 @@ anyscale/client/setup.py,sha256=tSxqw1kAL1B9adnrnOarjnQfSbwGmnTr_kg8ZXhlm5A,1109
114
114
  anyscale/client/test-requirements.txt,sha256=sTjmDTj5W9fh1ZAeo8UT2EBdeGDBNttj_PHiPBXg1D4,111
115
115
  anyscale/client/tox.ini,sha256=M6L3UmvAdvU65LsoAF-Oi7oRjwZlCJZn8I7ofdXn5Ok,156
116
116
  anyscale/client/.openapi-generator/VERSION,sha256=J0RzX-4u4jfin1kviKtmncjUePyjHm2kyvmkobOrt_E,5
117
- anyscale/client/openapi_client/__init__.py,sha256=b-c1lof23LY0MYsuBNLux_e1KPw87ueD5ltlQPOLnlg,58726
117
+ anyscale/client/openapi_client/__init__.py,sha256=mOXEUcUD_s5VokuYaTXHOhFQKSvsFWVZ7kxmmJp5SMo,59881
118
118
  anyscale/client/openapi_client/api_client.py,sha256=d8Un6j2Ny2vlS2qBXPVFj6_ql0k36DFahpWt_28TfCk,25563
119
119
  anyscale/client/openapi_client/configuration.py,sha256=Dd5XrlHwv-wxnf0C35PG_-HBQoY3Yaz6hKrmkZz-m0E,12363
120
120
  anyscale/client/openapi_client/exceptions.py,sha256=3egwsXQG2j_vARbqgBxUO1xSltAhpfiHTYVP7VXTvU0,3792
121
121
  anyscale/client/openapi_client/rest.py,sha256=Ehj37v7GHW6SXV067Hze5HE42ayKaGi6a6ZlkR7u3Lg,12501
122
122
  anyscale/client/openapi_client/api/__init__.py,sha256=i8u7BI2xX1GrXTL3hN0pKpYIlnT-D_uDxH2ElOfYG1I,141
123
- anyscale/client/openapi_client/api/default_api.py,sha256=bRwzeBTOW5dCQAcGa41eMFu9KEUiW5j64j3DqDtJWGI,2117163
124
- anyscale/client/openapi_client/models/__init__.py,sha256=C-fwaLsEv15SLgFnX8KGiFZndsVFApWVwVjLc7hXaRA,58236
123
+ anyscale/client/openapi_client/api/default_api.py,sha256=JGRjn6bzNkl2ysAD-cNlfloEioWDI3KXzZdROJjUU_U,2151488
124
+ anyscale/client/openapi_client/models/__init__.py,sha256=M51ftYXV7OZ-7DiL_hWnQXKH18zDvIjwYA4vgB0YFx4,59391
125
125
  anyscale/client/openapi_client/models/access_config.py,sha256=b2mA0qtuTA5PFbp6C61Jc_T2zUMaojM1v32IhZo0MfY,3648
126
126
  anyscale/client/openapi_client/models/actor_status.py,sha256=6xyX_aIqURj2raBdY9DmBxsdDACFrqqYvElGiM6YG2E,2813
127
127
  anyscale/client/openapi_client/models/admin_create_user.py,sha256=9DPr8D0lKgoEZ3Z2kGsAd8L7ocFCiP6woOGLVs8SRb8,7251
@@ -481,6 +481,21 @@ anyscale/client/openapi_client/models/kubernetes_manager_registration_response.p
481
481
  anyscale/client/openapi_client/models/kubernetesmanagerregistrationresponse_response.py,sha256=8UH867yGDAOgZrfXdkRzVkfTLViyTRQIZFBFd0vghu0,3825
482
482
  anyscale/client/openapi_client/models/lb_resource.py,sha256=UAjfCjXZAvAn64WSltl-VWw1WyjMrCi73A1jtY2F4To,3739
483
483
  anyscale/client/openapi_client/models/lbresource_response.py,sha256=AgJpUmMDDuF6ohHI2LbPoXICUKeBKWskgjaOcr59t8E,3528
484
+ anyscale/client/openapi_client/models/lineage_artifact.py,sha256=1ACZuH2FaYMW3XFGAX-IyupnvwngguaTeRfA3hTeoSE,12118
485
+ anyscale/client/openapi_client/models/lineage_artifact_sort_field.py,sha256=pOicxc4zT9fjSKG58AAiacJzo335d5y2SUdShrSm8dI,2922
486
+ anyscale/client/openapi_client/models/lineage_artifact_type.py,sha256=rZV5nndrPi0P75fpsg6ZnGRDUxwk0OFWNef22840Kl0,2854
487
+ anyscale/client/openapi_client/models/lineage_direction.py,sha256=tvIjSwnt4MSxuczUBI_KlI7gHiMCB76skHSdx_N8oIc,2848
488
+ anyscale/client/openapi_client/models/lineage_graph.py,sha256=yn34T-j0-PWdvIMCTemoOLyGZ5UQgu2HYnimmODd_Ys,5216
489
+ anyscale/client/openapi_client/models/lineage_graph_node.py,sha256=KWGpK42UCjEhe7bhR79CIJmuZdRL3NP4pwC0ig7Fs6E,13946
490
+ anyscale/client/openapi_client/models/lineage_node_type.py,sha256=bi8gje1x01FtL0l1PzN76aQbBCeOkLWk_e2YXd3jdwY,2850
491
+ anyscale/client/openapi_client/models/lineage_workload.py,sha256=F_iwZlFliVRPROmTwQZ_kwrzJ4kevnXfTY6q40ro3dk,11115
492
+ anyscale/client/openapi_client/models/lineage_workload_sort_field.py,sha256=u5seM0kQtRVrEAhbQ38MlMvGYbIBTwUB52Yc7pyr7n0,2922
493
+ anyscale/client/openapi_client/models/lineage_workload_type.py,sha256=kjZlfsIo6rRarGpnahuZEX1zM-qyqe3drQb1QO3xkZI,2914
494
+ anyscale/client/openapi_client/models/lineageartifact_list_response.py,sha256=t4QnqXbEkoADCzpm4q23EP9VPQueTLWKmDUJ6msKZZE,4422
495
+ anyscale/client/openapi_client/models/lineageartifact_response.py,sha256=VEkgCnS8A65Ia6opIQLeAVYPakrI5M0tNVRq-VZ8BQc,3583
496
+ anyscale/client/openapi_client/models/lineagegraph_response.py,sha256=YwM0XPkLdrWL5hTKYT1FzMTPvOJDJHAQaWqHmkXmHzk,3550
497
+ anyscale/client/openapi_client/models/lineageworkload_list_response.py,sha256=q6aoNXijJ7oggjGym0YkWtm_L55FCCUp4M86PbZLOGI,4422
498
+ anyscale/client/openapi_client/models/lineageworkload_response.py,sha256=ORICo_b71QEmKnT4EapJ02unA0AFf8y0_0JjNG9ROOA,3583
484
499
  anyscale/client/openapi_client/models/list_databricks_connections.py,sha256=XRCO-FYXXWEcQ7qm1gL4uu7XP_1HSiwAx-AoNB4AtJA,3749
485
500
  anyscale/client/openapi_client/models/list_machine_pools_response.py,sha256=lH_AGSraAalhusdwbb31uSCNBobNIdTA8mTVPkA_X7Y,3842
486
501
  anyscale/client/openapi_client/models/list_machines_response.py,sha256=8aS1GNXSzf_j9MaKoRjWxJ-7xQoe1_4wS5oX3qUZEi0,3607
@@ -859,7 +874,7 @@ anyscale/commands/schedule_commands.py,sha256=Bw2aKp_w6xcuRSVVi9FLdUjRVCr8_v4Tt2
859
874
  anyscale/commands/service_account_commands.py,sha256=JlppTmcaDofJn7TYqd3PW4hDGykdEN56fr0PT3qgBIg,3271
860
875
  anyscale/commands/service_commands.py,sha256=DBrPkW7JH3kCsr038aQStm7AF1u-n80sLjwc2Hjifks,34014
861
876
  anyscale/commands/session_commands_hidden.py,sha256=APEypnUB1yV2Rr6wdSFWy1vQbAnn-lOn0rU2enF5JdM,6200
862
- anyscale/commands/setup_k8s.py,sha256=__Z7p8mISxK2AntvrUUzQ5RRQVnnPQJmu8vejY8x0wU,40821
877
+ anyscale/commands/setup_k8s.py,sha256=MGiCtRrkMEDcQa0C7Sc_3YZKzwaABuAk82k3URGXz8Q,58248
863
878
  anyscale/commands/user_commands.py,sha256=C-i1dGpdhboywN_2XgPS2BekKx2y6LZq8c8gvS0S-tY,1259
864
879
  anyscale/commands/util.py,sha256=fIob29G1jZ4VU9PKVSJnT6hqX7wAqsS4L9sApsMZcNs,8585
865
880
  anyscale/commands/workspace_commands.py,sha256=5JoF5xftkwkxHidp8xyj9POrlZE_WxwSKtZGnKCbDV4,18597
@@ -879,7 +894,7 @@ anyscale/connect_utils/start_interactive_session.py,sha256=m-RCH0e_bQBF6dAOskbP9
879
894
  anyscale/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
880
895
  anyscale/controllers/auth_controller.py,sha256=hDY2sPvUP8pvh8PnlDYH5rCHjQes2v3b_KBVjMbrzeE,5127
881
896
  anyscale/controllers/base_controller.py,sha256=1QFJoScFUV7YTzpKarhwPOc1SvI-xqX3TZmwxKonW6I,1998
882
- anyscale/controllers/cloud_controller.py,sha256=r1jDAKG-rZmKVDCqR2SuLpZcl8lXanI-Ij7BOqLDCys,201999
897
+ anyscale/controllers/cloud_controller.py,sha256=1mZIQ4OVIu0mQ4ibKVw8pJskiNzf0ZdDnc4FIGBS8IE,202079
883
898
  anyscale/controllers/cloud_file_storage_utils.py,sha256=ifaqClEybTgxhqGWHYoH1vrlbxwjRuO-De_3666R2O4,6987
884
899
  anyscale/controllers/cloud_functional_verification_controller.py,sha256=uro10r981CTlt2zlisUCmNYljbrYBiWzh7vrqrcur3I,33475
885
900
  anyscale/controllers/cluster_controller.py,sha256=Sb5wVjrjpycg5iqmENAVtZ4iy9Kr6kM97_ck-KH85LM,28745
@@ -889,7 +904,7 @@ anyscale/controllers/config_controller.py,sha256=VsfdARHxo4tMLfeiYkTNOMGW3sIcNhV
889
904
  anyscale/controllers/experimental_integrations_controller.py,sha256=_22_hAQCJIMg3E10s8xajoFF6Lf1HqVlAdAVt0Rh2DY,3889
890
905
  anyscale/controllers/job_controller.py,sha256=sNQGzSLtp6e8PSbrmMrW_dp3pYytS8KCGcE-YjaNz5I,25425
891
906
  anyscale/controllers/jobs_bg_controller.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
892
- anyscale/controllers/kubernetes_verifier.py,sha256=BGqq65wsF9YfFJva7HJ8DhHoubkoGskEyX_0cRVBOLc,59022
907
+ anyscale/controllers/kubernetes_verifier.py,sha256=0mGeE8i8ptWdGwVDOFFWuxMzqXpYNVZeDixbSUuKx2k,61300
893
908
  anyscale/controllers/list_controller.py,sha256=oaOS6oo2TKPpXhGjs_laxuIVKinv3FwYfHt1CIzeTuU,11621
894
909
  anyscale/controllers/logs_controller.py,sha256=x5GBUVdPYhbWRA3RfMQZJi3hBS2i35RkgzROfmY47h4,17647
895
910
  anyscale/controllers/machine_controller.py,sha256=WauNi7Spzt2TFZrIN4PwULzgJZBVDFlytzFqpDQ106w,1188
@@ -1174,10 +1189,10 @@ anyscale/workspace/__init__.py,sha256=Innbm5ZhCyADEVBiYSo_vbpKwUNcMzVSAfxIGKOYe6
1174
1189
  anyscale/workspace/commands.py,sha256=b1sqNseoPj-1VXznqQOLe0V_a663bOTvJX-TaOMJa1Y,14590
1175
1190
  anyscale/workspace/models.py,sha256=uiMqoJRQNRgTcOIIsysSrtlHMtnI7paUWS34EN626Cg,10016
1176
1191
  anyscale/workspace/_private/workspace_sdk.py,sha256=2CMeYfJt0UtIFCocDn1ukw1iI5esKHdopLe6duEs-qE,27599
1177
- anyscale-0.26.67.dist-info/licenses/LICENSE,sha256=UOPu974Wzsna6frFv1mu4VrZgNdZT7lbcNPzo5ue3qs,3494
1178
- anyscale-0.26.67.dist-info/licenses/NOTICE,sha256=gHqDhSnUYlRXX-mDOL5FtE7774oiKyV_HO80qM3r9Xo,196
1179
- anyscale-0.26.67.dist-info/METADATA,sha256=v2m-ZcONwTUVJvL4Mr3fsNVacBDKtjHY6mgJX-ppWEw,3231
1180
- anyscale-0.26.67.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1181
- anyscale-0.26.67.dist-info/entry_points.txt,sha256=NqO18sCZn6zG6J0S38itjcN00s7aE3C3v3k5lMAfCLk,51
1182
- anyscale-0.26.67.dist-info/top_level.txt,sha256=g3NVNS8Oh0NZwbFFgeX696C5MZZkS5dqV2NqcsbDRJE,9
1183
- anyscale-0.26.67.dist-info/RECORD,,
1192
+ anyscale-0.26.68.dist-info/licenses/LICENSE,sha256=UOPu974Wzsna6frFv1mu4VrZgNdZT7lbcNPzo5ue3qs,3494
1193
+ anyscale-0.26.68.dist-info/licenses/NOTICE,sha256=gHqDhSnUYlRXX-mDOL5FtE7774oiKyV_HO80qM3r9Xo,196
1194
+ anyscale-0.26.68.dist-info/METADATA,sha256=HkQPlzY48CjPRep1GyHX3OdjWnHzBKpNKXPFZQhxxN4,3231
1195
+ anyscale-0.26.68.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1196
+ anyscale-0.26.68.dist-info/entry_points.txt,sha256=NqO18sCZn6zG6J0S38itjcN00s7aE3C3v3k5lMAfCLk,51
1197
+ anyscale-0.26.68.dist-info/top_level.txt,sha256=g3NVNS8Oh0NZwbFFgeX696C5MZZkS5dqV2NqcsbDRJE,9
1198
+ anyscale-0.26.68.dist-info/RECORD,,