skypilot-nightly 1.0.0.dev20241020__tar.gz → 1.0.0.dev20241021__tar.gz

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 (302) hide show
  1. {skypilot_nightly-1.0.0.dev20241020/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20241021}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/azure.py +0 -1
  4. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/gcp.py +3 -0
  5. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/lambda_cloud.py +9 -5
  6. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/oci.py +36 -37
  7. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/oci_catalog.py +22 -0
  8. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/utils/oci_utils.py +11 -1
  9. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/docker_utils.py +12 -7
  10. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/paperspace/utils.py +2 -0
  11. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/resources.py +11 -12
  12. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/serve_utils.py +22 -12
  13. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/lambda-ray.yml.j2 +20 -0
  14. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/oci-ray.yml.j2 +12 -2
  15. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/command_runner.py +3 -1
  16. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  17. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/LICENSE +0 -0
  18. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/MANIFEST.in +0 -0
  19. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/README.md +0 -0
  20. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/pyproject.toml +0 -0
  21. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/setup.cfg +0 -0
  22. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/setup.py +0 -0
  23. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/__init__.py +0 -0
  24. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/aws.py +0 -0
  25. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/azure.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/cloudflare.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/common.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/cudo.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/docker.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/gcp.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/ibm.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/kubernetes.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/oci.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/runpod.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/adaptors/vsphere.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/admin_policy.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/authentication.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/__init__.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/backend.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/backend_utils.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/cloud_vm_ray_backend.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/docker_utils.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/local_docker_backend.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/backends/wheel_utils.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/benchmark/__init__.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/benchmark/benchmark_state.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/benchmark/benchmark_utils.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/check.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/cli.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/cloud_stores.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/__init__.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/aws.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/cloud.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/cloud_registry.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/cudo.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/fluidstack.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/ibm.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/kubernetes.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/paperspace.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/runpod.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/scp.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/__init__.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/common.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/config.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/constants.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/utils/__init__.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/utils/aws_utils.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/utils/gcp_utils.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/utils/scp_utils.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/clouds/vsphere.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/core.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/dag.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/__init__.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/data_transfer.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/data_utils.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/mounting_utils.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/storage.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/data/storage_utils.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/exceptions.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/execution.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/global_user_state.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/__init__.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/constants.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/controller.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/core.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/dashboard/dashboard.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/dashboard/static/favicon.ico +0 -0
  109. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/dashboard/templates/index.html +0 -0
  110. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/recovery_strategy.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/state.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/jobs/utils.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/optimizer.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/__init__.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/aws/__init__.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/aws/config.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/aws/instance.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/aws/utils.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/azure/__init__.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/azure/azure-config-template.json +0 -0
  121. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/azure/azure-vm-template.json +0 -0
  122. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/azure/config.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/azure/instance.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/common.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/constants.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/__init__.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/config.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/cudo_machine_type.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/cudo_utils.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/cudo_wrapper.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/cudo/instance.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/fluidstack/__init__.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/fluidstack/config.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/fluidstack/instance.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/__init__.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/config.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/constants.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/instance.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/instance_utils.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/gcp/mig_utils.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/instance_setup.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/__init__.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/config.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/instance.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
  147. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
  148. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/network.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/network_utils.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/kubernetes/utils.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/lambda_cloud/__init__.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/lambda_cloud/config.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/lambda_cloud/instance.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/logging.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/metadata_utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/paperspace/__init__.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/paperspace/config.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/paperspace/constants.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/paperspace/instance.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/provisioner.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/runpod/__init__.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/runpod/config.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/runpod/instance.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/runpod/utils.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/__init__.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/__init__.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/custom_script.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/id_generator.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/service_manager.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/common/vim_utils.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/config.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/instance.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/provision/vsphere/vsphere_utils.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/__init__.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/autoscalers.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/constants.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/controller.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/core.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/load_balancer.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/load_balancing_policies.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/replica_managers.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/serve_state.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/service.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/serve/service_spec.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/setup_files/MANIFEST.in +0 -0
  193. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/setup_files/setup.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/sky_logging.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/LICENSE +0 -0
  196. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/__init__.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/attempt_skylet.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/autostop_lib.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/configs.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/constants.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/events.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/job_lib.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/log_lib.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/log_lib.pyi +0 -0
  205. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/__init__.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/command_runner.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/ibm/__init__.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/ibm/node_provider.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/ibm/utils.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/oci/__init__.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/oci/node_provider.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/oci/query_helper.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/oci/utils.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/scp/__init__.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/scp/config.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/providers/scp/node_provider.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  220. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/cli.py.patch +0 -0
  221. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  222. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  223. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  224. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/updater.py.patch +0 -0
  225. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/ray_patches/worker.py.patch +0 -0
  226. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/skylet.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skylet/subprocess_daemon.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/skypilot_config.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/status_lib.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/task.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/aws-ray.yml.j2 +0 -0
  232. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/azure-ray.yml.j2 +0 -0
  233. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/cudo-ray.yml.j2 +0 -0
  234. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  235. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/gcp-ray.yml.j2 +0 -0
  236. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/ibm-ray.yml.j2 +0 -0
  237. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/jobs-controller.yaml.j2 +0 -0
  238. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  239. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  240. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  241. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  242. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  243. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/local-ray.yml.j2 +0 -0
  244. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/paperspace-ray.yml.j2 +0 -0
  245. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/runpod-ray.yml.j2 +0 -0
  246. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/scp-ray.yml.j2 +0 -0
  247. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  248. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/templates/vsphere-ray.yml.j2 +0 -0
  249. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/usage/__init__.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/usage/constants.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/usage/usage_lib.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/__init__.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/accelerator_registry.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/admin_policy_utils.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/cli_utils/__init__.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/cli_utils/status_utils.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/cluster_yaml_utils.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/command_runner.pyi +0 -0
  259. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/common_utils.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/controller_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/dag_utils.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/db_utils.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/env_options.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/__init__.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/create_cluster.sh +0 -0
  266. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  267. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  268. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  270. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  272. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  273. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  274. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/kubernetes_enums.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/log_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/resources_utils.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/rich_utils.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/schemas.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/subprocess_utils.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/timeline.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/ux_utils.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/sky/utils/validator.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
  285. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  286. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  287. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/skypilot_nightly.egg-info/requires.txt +0 -0
  288. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/skypilot_nightly.egg-info/top_level.txt +0 -0
  289. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_api.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_cli.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_config.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_global_user_state.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_jobs.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_jobs_and_serve.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_list_accelerators.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_optimizer_dryruns.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_optimizer_random_dag.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_serve_autoscaler.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_smoke.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_storage.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_wheels.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20241020 → skypilot_nightly-1.0.0.dev20241021}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241020
3
+ Version: 1.0.0.dev20241021
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = 'c6ae536d8dfedc3bbcf427a81480382b9d5f4c29'
8
+ _SKYPILOT_COMMIT_SHA = '3c3bcee5cfe720a96ab67f4049a557a79e7f077f'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20241020'
38
+ __version__ = '1.0.0.dev20241021'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -329,7 +329,6 @@ class Azure(clouds.Cloud):
329
329
  runcmd:
330
330
  - sed -i 's/#Banner none/Banner none/' /etc/ssh/sshd_config
331
331
  - echo '\\nif [ ! -f "/tmp/__restarted" ]; then\\n sudo systemctl restart ssh\\n sleep 2\\n touch /tmp/__restarted\\nfi' >> /home/skypilot:ssh_user/.bashrc
332
- - usermod -aG docker skypilot:ssh_user
333
332
  write_files:
334
333
  - path: /etc/apt/apt.conf.d/20auto-upgrades
335
334
  content: |
@@ -477,6 +477,9 @@ class GCP(clouds.Cloud):
477
477
  'runtime_version']
478
478
  resources_vars['tpu_node_name'] = r.accelerator_args.get(
479
479
  'tpu_name')
480
+ # TPU VMs require privileged mode for docker containers to
481
+ # access TPU devices.
482
+ resources_vars['docker_run_options'] = ['--privileged']
480
483
  else:
481
484
  # Convert to GCP names:
482
485
  # https://cloud.google.com/compute/docs/gpus
@@ -37,10 +37,6 @@ class Lambda(clouds.Cloud):
37
37
  _CLOUD_UNSUPPORTED_FEATURES = {
38
38
  clouds.CloudImplementationFeatures.STOP: 'Lambda cloud does not support stopping VMs.',
39
39
  clouds.CloudImplementationFeatures.CLONE_DISK_FROM_CLUSTER: f'Migrating disk is currently not supported on {_REPR}.',
40
- clouds.CloudImplementationFeatures.DOCKER_IMAGE: (
41
- f'Docker image is currently not supported on {_REPR}. '
42
- 'You can try running docker command inside the `run` section in task.yaml.'
43
- ),
44
40
  clouds.CloudImplementationFeatures.SPOT_INSTANCE: f'Spot instances are not supported in {_REPR}.',
45
41
  clouds.CloudImplementationFeatures.IMAGE_ID: f'Specifying image ID is not supported in {_REPR}.',
46
42
  clouds.CloudImplementationFeatures.CUSTOM_DISK_TIER: f'Custom disk tiers are not supported in {_REPR}.',
@@ -173,12 +169,20 @@ class Lambda(clouds.Cloud):
173
169
  else:
174
170
  custom_resources = None
175
171
 
176
- return {
172
+ resources_vars = {
177
173
  'instance_type': resources.instance_type,
178
174
  'custom_resources': custom_resources,
179
175
  'region': region.name,
180
176
  }
181
177
 
178
+ if acc_dict is not None:
179
+ # Lambda cloud's docker runtime information does not contain
180
+ # 'nvidia-container-runtime', causing no GPU option is added to
181
+ # the docker run command. We patch this by adding it here.
182
+ resources_vars['docker_run_options'] = ['--gpus all']
183
+
184
+ return resources_vars
185
+
182
186
  def _get_feasible_launchable_resources(
183
187
  self, resources: 'resources_lib.Resources'
184
188
  ) -> 'resources_utils.FeasibleResources':
@@ -17,6 +17,8 @@ History:
17
17
  make_deploy_resources_variables(): Bug fix for specify the image_id as
18
18
  the ocid of the image in the task.yaml file, in this case the image_id
19
19
  for the node config should be set to the ocid instead of a dict.
20
+ - Hysun He (hysun.he@oracle.com) @ Oct 13, 2024:
21
+ Support more OS types additional to ubuntu for OCI resources.
20
22
  """
21
23
  import json
22
24
  import logging
@@ -295,10 +297,21 @@ class OCI(clouds.Cloud):
295
297
  cpus=None if cpus is None else float(cpus),
296
298
  disk_tier=resources.disk_tier)
297
299
 
300
+ image_str = self._get_image_str(image_id=resources.image_id,
301
+ instance_type=resources.instance_type,
302
+ region=region.name)
303
+
304
+ # pylint: disable=import-outside-toplevel
305
+ from sky.clouds.service_catalog import oci_catalog
306
+ os_type = oci_catalog.get_image_os_from_tag(tag=image_str,
307
+ region=region.name)
308
+ logger.debug(f'OS type for the image {image_str} is {os_type}')
309
+
298
310
  return {
299
311
  'instance_type': instance_type,
300
312
  'custom_resources': custom_resources,
301
313
  'region': region.name,
314
+ 'os_type': os_type,
302
315
  'cpus': str(cpus),
303
316
  'memory': resources.memory,
304
317
  'disk_size': resources.disk_size,
@@ -501,59 +514,45 @@ class OCI(clouds.Cloud):
501
514
  region_name: str,
502
515
  instance_type: str,
503
516
  ) -> str:
504
- if image_id is None:
505
- return self._get_default_image(region_name=region_name,
506
- instance_type=instance_type)
507
- if None in image_id:
508
- image_id_str = image_id[None]
509
- else:
510
- assert region_name in image_id, image_id
511
- image_id_str = image_id[region_name]
517
+ image_id_str = self._get_image_str(image_id=image_id,
518
+ instance_type=instance_type,
519
+ region=region_name)
520
+
512
521
  if image_id_str.startswith('skypilot:'):
513
522
  image_id_str = service_catalog.get_image_id_from_tag(image_id_str,
514
523
  region_name,
515
524
  clouds='oci')
516
- if image_id_str is None:
517
- logger.critical(
518
- '! Real image_id not found! - {region_name}:{image_id}')
519
- # Raise ResourcesUnavailableError to make sure the failover
520
- # in CloudVMRayBackend will be correctly triggered.
521
- # TODO(zhwu): This is a information leakage to the cloud
522
- # implementor, we need to find a better way to handle this.
523
- raise exceptions.ResourcesUnavailableError(
524
- '! ERR: No image found in catalog for region '
525
- f'{region_name}. Try setting a valid image_id.')
525
+
526
+ # Image_id should be impossible be None, except for the case when
527
+ # user specify an image tag which does not exist in the image.csv
528
+ # catalog file which only possible in "test" / "evaluation" phase.
529
+ # Therefore, we use assert here.
530
+ assert image_id_str is not None
526
531
 
527
532
  logger.debug(f'Got real image_id {image_id_str}')
528
533
  return image_id_str
529
534
 
530
- def _get_default_image(self, region_name: str, instance_type: str) -> str:
535
+ def _get_image_str(self, image_id: Optional[Dict[Optional[str], str]],
536
+ instance_type: str, region: str):
537
+ if image_id is None:
538
+ image_str = self._get_default_image_tag(instance_type)
539
+ elif None in image_id:
540
+ image_str = image_id[None]
541
+ else:
542
+ assert region in image_id, image_id
543
+ image_str = image_id[region]
544
+ return image_str
545
+
546
+ def _get_default_image_tag(self, instance_type: str) -> str:
531
547
  acc = self.get_accelerators_from_instance_type(instance_type)
532
548
 
533
549
  if acc is None:
534
550
  image_tag = oci_utils.oci_config.get_default_image_tag()
535
- image_id_str = service_catalog.get_image_id_from_tag(image_tag,
536
- region_name,
537
- clouds='oci')
538
551
  else:
539
552
  assert len(acc) == 1, acc
540
553
  image_tag = oci_utils.oci_config.get_default_gpu_image_tag()
541
- image_id_str = service_catalog.get_image_id_from_tag(image_tag,
542
- region_name,
543
- clouds='oci')
544
554
 
545
- if image_id_str is not None:
546
- logger.debug(
547
- f'Got default image_id {image_id_str} from tag {image_tag}')
548
- return image_id_str
549
-
550
- # Raise ResourcesUnavailableError to make sure the failover in
551
- # CloudVMRayBackend will be correctly triggered.
552
- # TODO(zhwu): This is a information leakage to the cloud implementor,
553
- # we need to find a better way to handle this.
554
- raise exceptions.ResourcesUnavailableError(
555
- 'ERR: No image found in catalog for region '
556
- f'{region_name}. Try update your default image_id settings.')
555
+ return image_tag
557
556
 
558
557
  def get_vpu_from_disktier(
559
558
  self, cpus: Optional[float],
@@ -7,6 +7,8 @@ History:
7
7
  - Hysun He (hysun.he@oracle.com) @ Apr, 2023: Initial implementation
8
8
  - Hysun He (hysun.he@oracle.com) @ Jun, 2023: Reduce retry times by
9
9
  excluding those unsubscribed regions.
10
+ - Hysun He (hysun.he@oracle.com) @ Oct 14, 2024: Bug fix for validation
11
+ of the Marketplace images
10
12
  """
11
13
 
12
14
  import logging
@@ -206,4 +208,24 @@ def get_image_id_from_tag(tag: str, region: Optional[str]) -> Optional[str]:
206
208
 
207
209
  def is_image_tag_valid(tag: str, region: Optional[str]) -> bool:
208
210
  """Returns whether the image tag is valid."""
211
+ # Oct.14, 2024 by Hysun He: Marketplace images are region neutral, so don't
212
+ # check with region for the Marketplace images.
213
+ df = _image_df[_image_df['Tag'].str.fullmatch(tag)]
214
+ if df.empty:
215
+ return False
216
+ app_catalog_listing_id = df['AppCatalogListingId'].iloc[0]
217
+ if app_catalog_listing_id:
218
+ return True
209
219
  return common.is_image_tag_valid_impl(_image_df, tag, region)
220
+
221
+
222
+ def get_image_os_from_tag(tag: str, region: Optional[str]) -> Optional[str]:
223
+ del region
224
+ df = _image_df[_image_df['Tag'].str.fullmatch(tag)]
225
+ if df.empty:
226
+ os_type = oci_utils.oci_config.get_default_image_os()
227
+ else:
228
+ os_type = df['OS'].iloc[0]
229
+
230
+ logger.debug(f'Operation system for the image {tag} is {os_type}')
231
+ return os_type
@@ -1,7 +1,9 @@
1
1
  """OCI Configuration.
2
2
  History:
3
- - Zhanghao Wu @ Oct 2023: Formatting and refactoring
4
3
  - Hysun He (hysun.he@oracle.com) @ Apr, 2023: Initial implementation
4
+ - Zhanghao Wu @ Oct 2023: Formatting and refactoring
5
+ - Hysun He (hysun.he@oracle.com) @ Oct, 2024: Add default image OS
6
+ configuration.
5
7
  """
6
8
  import logging
7
9
  import os
@@ -121,5 +123,13 @@ class OCIConfig:
121
123
  return skypilot_config.get_nested(
122
124
  ('oci', 'default', 'oci_config_profile'), 'DEFAULT')
123
125
 
126
+ @classmethod
127
+ def get_default_image_os(cls) -> str:
128
+ # Get the default image OS. Instead of hardcoding, we give a choice to
129
+ # set the default image OS type in the sky's user-config file. (if not
130
+ # specified, use the hardcode one at last)
131
+ return skypilot_config.get_nested(('oci', 'default', 'image_os_type'),
132
+ 'ubuntu')
133
+
124
134
 
125
135
  oci_config = OCIConfig()
@@ -253,12 +253,13 @@ class DockerInitializer:
253
253
  # issue with nvidia container toolkit:
254
254
  # https://github.com/NVIDIA/nvidia-container-toolkit/issues/48
255
255
  self._run(
256
- '[ -f /etc/docker/daemon.json ] || '
256
+ '{ which jq || sudo apt update && sudo apt install -y jq; } && '
257
+ '{ [ -f /etc/docker/daemon.json ] || '
257
258
  'echo "{}" | sudo tee /etc/docker/daemon.json;'
258
259
  'sudo jq \'.["exec-opts"] = ["native.cgroupdriver=cgroupfs"]\' '
259
260
  '/etc/docker/daemon.json > /tmp/daemon.json;'
260
261
  'sudo mv /tmp/daemon.json /etc/docker/daemon.json;'
261
- 'sudo systemctl restart docker')
262
+ 'sudo systemctl restart docker; } || true')
262
263
  user_docker_run_options = self.docker_config.get('run_options', [])
263
264
  start_command = docker_start_cmds(
264
265
  specific_image,
@@ -335,7 +336,11 @@ class DockerInitializer:
335
336
 
336
337
  def _check_docker_installed(self):
337
338
  no_exist = 'NoExist'
339
+ # SkyPilot: Add the current user to the docker group first (if needed),
340
+ # before checking if docker is installed to avoid permission issues.
338
341
  cleaned_output = self._run(
342
+ 'id -nG $USER | grep -qw docker || '
343
+ 'sudo usermod -aG docker $USER > /dev/null 2>&1;'
339
344
  f'command -v {self.docker_cmd} || echo {no_exist!r}')
340
345
  if no_exist in cleaned_output or 'docker' not in cleaned_output:
341
346
  logger.error(
@@ -424,8 +429,8 @@ class DockerInitializer:
424
429
  def _check_container_exited(self) -> bool:
425
430
  if self.initialized:
426
431
  return True
427
- output = (self._run(check_docker_running_cmd(self.container_name,
428
- self.docker_cmd),
429
- wait_for_docker_daemon=True))
430
- return 'false' in output.lower(
431
- ) and 'no such object' not in output.lower()
432
+ output = self._run(check_docker_running_cmd(self.container_name,
433
+ self.docker_cmd),
434
+ wait_for_docker_daemon=True)
435
+ return ('false' in output.lower() and
436
+ 'no such object' not in output.lower())
@@ -132,6 +132,8 @@ class PaperspaceCloudClient:
132
132
  'apt-get update \n'
133
133
  'apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \n' # pylint: disable=line-too-long
134
134
  'fi \n'
135
+ # TODO(tian): Maybe remove this as well since we are now adding
136
+ # users to docker group in the DockerInitializer. Need to test.
135
137
  'usermod -aG docker paperspace \n'
136
138
  f'echo "{public_key}" >> /home/paperspace/.ssh/authorized_keys \n')
137
139
  try:
@@ -842,12 +842,6 @@ class Resources:
842
842
 
843
843
  if self.extract_docker_image() is not None:
844
844
  # TODO(tian): validate the docker image exists / of reasonable size
845
- if self.accelerators is not None:
846
- for acc in self.accelerators.keys():
847
- if acc.lower().startswith('tpu'):
848
- with ux_utils.print_exception_no_traceback():
849
- raise ValueError(
850
- 'Docker image is not supported for TPU VM.')
851
845
  if self.cloud is not None:
852
846
  self.cloud.check_features_are_supported(
853
847
  self, {clouds.CloudImplementationFeatures.DOCKER_IMAGE})
@@ -1032,6 +1026,12 @@ class Resources:
1032
1026
  self.accelerators is not None):
1033
1027
  initial_setup_commands = [constants.DISABLE_GPU_ECC_COMMAND]
1034
1028
 
1029
+ docker_image = self.extract_docker_image()
1030
+
1031
+ # Cloud specific variables
1032
+ cloud_specific_variables = self.cloud.make_deploy_resources_variables(
1033
+ self, cluster_name, region, zones, dryrun)
1034
+
1035
1035
  # Docker run options
1036
1036
  docker_run_options = skypilot_config.get_nested(
1037
1037
  ('docker', 'run_options'),
@@ -1039,18 +1039,17 @@ class Resources:
1039
1039
  override_configs=self.cluster_config_overrides)
1040
1040
  if isinstance(docker_run_options, str):
1041
1041
  docker_run_options = [docker_run_options]
1042
+ # Special accelerator runtime might require additional docker run
1043
+ # options. e.g., for TPU, we need --privileged.
1044
+ if 'docker_run_options' in cloud_specific_variables:
1045
+ docker_run_options.extend(
1046
+ cloud_specific_variables['docker_run_options'])
1042
1047
  if docker_run_options and isinstance(self.cloud, clouds.Kubernetes):
1043
1048
  logger.warning(
1044
1049
  f'{colorama.Style.DIM}Docker run options are specified, '
1045
1050
  'but ignored for Kubernetes: '
1046
1051
  f'{" ".join(docker_run_options)}'
1047
1052
  f'{colorama.Style.RESET_ALL}')
1048
-
1049
- docker_image = self.extract_docker_image()
1050
-
1051
- # Cloud specific variables
1052
- cloud_specific_variables = self.cloud.make_deploy_resources_variables(
1053
- self, cluster_name, region, zones, dryrun)
1054
1053
  return dict(
1055
1054
  cloud_specific_variables,
1056
1055
  **{
@@ -246,9 +246,11 @@ def set_service_status_and_active_versions_from_replica(
246
246
  update_mode: UpdateMode) -> None:
247
247
  record = serve_state.get_service_from_name(service_name)
248
248
  if record is None:
249
- raise ValueError('The service is up-ed in an old version and does not '
250
- 'support update. Please `sky serve down` '
251
- 'it first and relaunch the service.')
249
+ with ux_utils.print_exception_no_traceback():
250
+ raise ValueError(
251
+ 'The service is up-ed in an old version and does not '
252
+ 'support update. Please `sky serve down` '
253
+ 'it first and relaunch the service.')
252
254
  if record['status'] == serve_state.ServiceStatus.SHUTTING_DOWN:
253
255
  # When the service is shutting down, there is a period of time which the
254
256
  # controller still responds to the request, and the replica is not
@@ -289,7 +291,8 @@ def update_service_status() -> None:
289
291
  def update_service_encoded(service_name: str, version: int, mode: str) -> str:
290
292
  service_status = _get_service_status(service_name)
291
293
  if service_status is None:
292
- raise ValueError(f'Service {service_name!r} does not exist.')
294
+ with ux_utils.print_exception_no_traceback():
295
+ raise ValueError(f'Service {service_name!r} does not exist.')
293
296
  controller_port = service_status['controller_port']
294
297
  resp = requests.post(
295
298
  _CONTROLLER_URL.format(CONTROLLER_PORT=controller_port) +
@@ -299,15 +302,21 @@ def update_service_encoded(service_name: str, version: int, mode: str) -> str:
299
302
  'mode': mode,
300
303
  })
301
304
  if resp.status_code == 404:
302
- raise ValueError('The service is up-ed in an old version and does not '
303
- 'support update. Please `sky serve down` '
304
- 'it first and relaunch the service. ')
305
+ with ux_utils.print_exception_no_traceback():
306
+ raise ValueError(
307
+ 'The service is up-ed in an old version and does not '
308
+ 'support update. Please `sky serve down` '
309
+ 'it first and relaunch the service. ')
305
310
  elif resp.status_code == 400:
306
- raise ValueError(f'Client error during service update: {resp.text}')
311
+ with ux_utils.print_exception_no_traceback():
312
+ raise ValueError(f'Client error during service update: {resp.text}')
307
313
  elif resp.status_code == 500:
308
- raise RuntimeError(f'Server error during service update: {resp.text}')
314
+ with ux_utils.print_exception_no_traceback():
315
+ raise RuntimeError(
316
+ f'Server error during service update: {resp.text}')
309
317
  elif resp.status_code != 200:
310
- raise ValueError(f'Failed to update service: {resp.text}')
318
+ with ux_utils.print_exception_no_traceback():
319
+ raise ValueError(f'Failed to update service: {resp.text}')
311
320
 
312
321
  service_msg = resp.json()['message']
313
322
  return common_utils.encode_payload(service_msg)
@@ -674,8 +683,9 @@ def stream_replica_logs(service_name: str, replica_id: int,
674
683
  for info in replica_info:
675
684
  if info.replica_id == replica_id:
676
685
  return info.status
677
- raise ValueError(
678
- _FAILED_TO_FIND_REPLICA_MSG.format(replica_id=replica_id))
686
+ with ux_utils.print_exception_no_traceback():
687
+ raise ValueError(
688
+ _FAILED_TO_FIND_REPLICA_MSG.format(replica_id=replica_id))
679
689
 
680
690
  finish_stream = (
681
691
  lambda: _get_replica_status() != serve_state.ReplicaStatus.PROVISIONING)
@@ -5,6 +5,26 @@ max_workers: {{num_nodes - 1}}
5
5
  upscaling_speed: {{num_nodes - 1}}
6
6
  idle_timeout_minutes: 60
7
7
 
8
+ {%- if docker_image is not none %}
9
+ docker:
10
+ image: {{docker_image}}
11
+ container_name: {{docker_container_name}}
12
+ run_options:
13
+ - --ulimit nofile=1048576:1048576
14
+ {%- for run_option in docker_run_options %}
15
+ - {{run_option}}
16
+ {%- endfor %}
17
+ {%- if docker_login_config is not none %}
18
+ docker_login_config:
19
+ username: |-
20
+ {{docker_login_config.username}}
21
+ password: |-
22
+ {{docker_login_config.password}}
23
+ server: |-
24
+ {{docker_login_config.server}}
25
+ {%- endif %}
26
+ {%- endif %}
27
+
8
28
  provider:
9
29
  type: external
10
30
  module: sky.provision.lambda
@@ -16,7 +16,11 @@ provider:
16
16
  disable_launch_config_check: true
17
17
 
18
18
  auth:
19
+ {% if os_type == "ubuntu" %}
19
20
  ssh_user: ubuntu
21
+ {% else %}
22
+ ssh_user: opc
23
+ {% endif %}
20
24
  ssh_private_key: {{ssh_private_key}}
21
25
 
22
26
  available_node_types:
@@ -85,14 +89,20 @@ setup_commands:
85
89
  # Line 'sudo grep ..': set the number of threads per process to unlimited to avoid ray job submit stucking issue when the number of running ray jobs increase.
86
90
  # Line 'mkdir -p ..': disable host key check
87
91
  # Line 'python3 -c ..': patch the buggy ray files and enable `-o allow_other` option for `goofys`
88
- - sudo systemctl stop unattended-upgrades || true;
92
+ - echo "setup commands runs at $(date)" > /tmp/provision.tmp.out || true;
93
+ {%- if os_type == "ubuntu" %}
94
+ sudo systemctl stop unattended-upgrades || true;
89
95
  sudo systemctl disable unattended-upgrades || true;
90
96
  sudo sed -i 's/Unattended-Upgrade "1"/Unattended-Upgrade "0"/g' /etc/apt/apt.conf.d/20auto-upgrades || true;
91
97
  sudo kill -9 `sudo lsof /var/lib/dpkg/lock-frontend | awk '{print $2}' | tail -n 1` || true;
92
98
  sudo pkill -9 apt-get;
93
99
  sudo pkill -9 dpkg;
94
100
  sudo dpkg --configure -a;
95
- ([ `sudo lshw -class display | grep "NVIDIA Corporation" | wc -l` -gt 0 ]) && (sudo which nvidia-smi > /dev/null || ( sudo apt-get install nvidia-driver-530-open -y && sudo apt-get install nvidia-driver-525-server -y ) || true);
101
+ {%- else %}
102
+ sudo /usr/libexec/oci-growfs -y || true;
103
+ sudo systemctl stop firewalld || true;
104
+ sudo systemctl disable firewalld || true;
105
+ {%- endif %}
96
106
  mkdir -p ~/.ssh; touch ~/.ssh/config;
97
107
  {{ conda_installation_commands }}
98
108
  {{ ray_skypilot_installation_commands }}
@@ -502,8 +502,10 @@ class SSHCommandRunner(CommandRunner):
502
502
  if self.ssh_control_name is not None:
503
503
  control_path = _ssh_control_path(self.ssh_control_name)
504
504
  if control_path is not None:
505
+ # Suppress the `Exit request sent.` output for this comamnd
506
+ # which would interrupt the CLI spinner.
505
507
  cmd = (f'ssh -O exit -S {control_path}/%C '
506
- f'{self.ssh_user}@{self.ip}')
508
+ f'{self.ssh_user}@{self.ip} > /dev/null 2>&1')
507
509
  logger.debug(f'Closing cached connection {control_path!r} with '
508
510
  f'cmd: {cmd}')
509
511
  log_lib.run_with_log(cmd,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241020
3
+ Version: 1.0.0.dev20241021
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0