Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DigitalOcean] droplet integration #3832

Open
wants to merge 92 commits into
base: master
Choose a base branch
from

Conversation

asaiacai
Copy link
Contributor

@asaiacai asaiacai commented Aug 14, 2024

This adds digital ocean droplets to the sky.

Tested (run the relevant ones):

  • Code formatting: bash format.sh
  • All smoke tests: pytest tests/test_smoke.py --do

@moinnadeem
Copy link

@asaiacai I would be really interested in using this work -- do you know when you might be able to land this PR?

@asaiacai
Copy link
Contributor Author

asaiacai commented Aug 31, 2024 via email

@asaiacai asaiacai marked this pull request as ready for review September 11, 2024 00:07
@asaiacai
Copy link
Contributor Author

@Michaelvll i think this PR is finally ready, once you have a free moment! I've currently disabled tests for gpu droplets as they are still in early access, but I think I got the remaining tests to work on normal CPU droplets fine. Let me know if you find any issues.

@asaiacai
Copy link
Contributor Author

also this catalog update is required to pass the sky serve requests since I added cheaper 2vcpu instances.

skypilot-org/skypilot-catalog#83

@Michaelvll Michaelvll requested a review from cblmemo September 11, 2024 08:05
Copy link
Collaborator

@cblmemo cblmemo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this amazing work @asaiacai ! This would be very helpful. Left some discussions ;)

docs/source/getting-started/installation.rst Outdated Show resolved Hide resolved
sky/adaptors/do.py Show resolved Hide resolved
sky/clouds/do.py Outdated Show resolved Hide resolved
sky/clouds/do.py Outdated Show resolved Hide resolved
sky/clouds/do.py Outdated Show resolved Hide resolved
sky/templates/do-ray.yml.j2 Show resolved Hide resolved
tests/test_smoke.py Outdated Show resolved Hide resolved
tests/skyserve/update/bump_version_after.yaml Outdated Show resolved Hide resolved
sky/clouds/do.py Outdated Show resolved Hide resolved
sky/clouds/do.py Show resolved Hide resolved
asaiacai and others added 2 commits September 17, 2024 12:45
@strict-type
Copy link

Hi @asaiacai , I'm considering adding a new cloud provider to Sky and was reviewing the Google Doc linked in Sky's documentation. However, I couldn't find any guidance on setting up test files for this. I looked through the test folder and the GitHub Actions file, but I'm unclear about how cloud credentials are configured for tests in GitHub CI. Could you help me understand how Sky sets up the tests for CI? I didn't see any references to GitHub secrets in the actions file, so I feel like I'm missing some information.

cc: @cblmemo

@cblmemo
Copy link
Collaborator

cblmemo commented Nov 18, 2024

Hi @asaiacai , I'm considering adding a new cloud provider to Sky and was reviewing the Google Doc linked in Sky's documentation. However, I couldn't find any guidance on setting up test files for this. I looked through the test folder and the GitHub Actions file, but I'm unclear about how cloud credentials are configured for tests in GitHub CI. Could you help me understand how Sky sets up the tests for CI? I didn't see any references to GitHub secrets in the actions file, so I feel like I'm missing some information.

cc: @cblmemo

Hi @strict-type , not all tests is included in the github actions, and all tests in github actions does not requires cloud credentials. All tests require credentials is located in test_smoke.py, which needs to be ran locally on developer's laptop and leverage their local credentials.

@strict-type
Copy link

Hi @asaiacai , I'm considering adding a new cloud provider to Sky and was reviewing the Google Doc linked in Sky's documentation. However, I couldn't find any guidance on setting up test files for this. I looked through the test folder and the GitHub Actions file, but I'm unclear about how cloud credentials are configured for tests in GitHub CI. Could you help me understand how Sky sets up the tests for CI? I didn't see any references to GitHub secrets in the actions file, so I feel like I'm missing some information.
cc: @cblmemo

Hi @strict-type , not all tests is included in the github actions, and all tests in github actions does not requires cloud credentials. All tests require credentials is located in test_smoke.py, which needs to be ran locally on developer's laptop and leverage their local credentials.

Thank you for your response! Now, I've a better clarity on testing.

@asaiacai asaiacai requested a review from cblmemo November 21, 2024 16:17
@asaiacai
Copy link
Contributor Author

@cblmemo if you have a spare cycle

@cblmemo
Copy link
Collaborator

cblmemo commented Nov 24, 2024

@cblmemo if you have a spare cycle

Hi @asaiacai, It seems like the CI is failing. Could you help take a look at what is happening here?

Copy link
Collaborator

@cblmemo cblmemo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @asaiacai ! Mostly looks good to me. Left 2 nits. If the CI and smoke test passed, it should be ready to go!

sky/clouds/service_catalog/do_catalog.py Outdated Show resolved Hide resolved
sky/provision/do/utils.py Outdated Show resolved Hide resolved
@asaiacai
Copy link
Contributor Author

CI broken due to catalog. i pushed a fix here.
skypilot-org/skypilot-catalog#103

Copy link
Collaborator

@cblmemo cblmemo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @asaiacai ! LGTM. Lemme know if all smoke test is passed, and we can merge it!

sky/provision/do/utils.py Outdated Show resolved Hide resolved
sky/provision/do/utils.py Outdated Show resolved Hide resolved
sky/provision/do/utils.py Outdated Show resolved Hide resolved
'runpod': ['runpod>=1.5.1'],
'fluidstack': [], # No dependencies needed for fluidstack
'cudo': ['cudo-compute>=0.1.10'],
'do': ['pydo>=0.3.0', 'azure-core>=1.24.0', 'azure-common'],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can readd this to the new sky/setup_files/dependencies.py. Sorry for the merge conflict.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants