Open zpoint opened 2 weeks ago
Thanks @zpoint! I'm trying to run this yaml:
resources:
cloud: aws
file_mounts:
~/aws: ~/aws
workdir: ~/tmp-workdir
num_nodes: 1
run: |
echo "Hello, world!"
ls ~/aws
ls .
The task output should show me contents of my workdir and file_mount. Instead, I get:
├── Waiting for task resources on 1 node.
└── Job started. Streaming logs... (Ctrl-C to exit log streaming; job will not be killed)
(sky-3ba1-romilb, pid=2100) Hello, world!
(sky-3ba1-romilb, pid=2100) job-89ab894f
(sky-3ba1-romilb, pid=2100) job-89ab894f
✓ Managed job finished: 1 (status: SUCCEEDED).
Related to this: https://github.com/skypilot-org/skypilot/pull/4257#discussion_r1837141465?
I think https://github.com/skypilot-org/skypilot/pull/4257#issuecomment-2469050952 is still not resolved.
I ran sky jobs launch
with this YAML:
resources:
cloud: aws
file_mounts:
~/aws: ~/aws
workdir: ~/tmp-workdir
num_nodes: 1
run: |
echo "Hello, world!"
ls ~/aws
ls .
And I'm still getting
├── Waiting for task resources on 1 node.
└── Job started. Streaming logs... (Ctrl-C to exit log streaming; job will not be killed)
(sky-e0d7-romilb, pid=2076) Hello, world!
(sky-e0d7-romilb, pid=2076) job-24ad1167
(sky-e0d7-romilb, pid=2076) job-24ad1167
Instead of the actual contents of my workdir and mounted dir.
Feature for #3978
jobs: bucket
in~/.sky/config.yaml
.s3, gcs, azure, r2, ibm
skypilot-filemounts-{username}-{run_id}
._bucket_sub_path
(Support bothCOPY
andMOUNT
based on the_bucket_sub_path
, The user will only see the subpath instead of the whole bucket if a subpath is specified)_
means internal use only, remove_
to expose in the futurepytest -s tests/test_smoke.py::test_managed_jobs_storage
pytest -s tests/test_smoke.py::TestStorageWithCredentials::test_bucket_sub_path --gcp
_bucket_sub_path
works as expected.For managed jobs:
workdir -> {tmp-bucket-A}/workdir
file_mount -> {tmp-bucket-B}{i}
tmp_files -> {tmp-bucket-C}/tmp-files
workdir -> {intermediate-bucket}/job-{run_id}/workdir
file_mount -> {intermediate-bucket}/job-{run_id}/local-file-mounts/{i}
tmp_files -> {intermediate-bucket}/job-{run_id}/tmp-files
{intermediate-bucket}/job-{run_id}
bucket will be deleted automatically as before.Even using the same bucket, each job creates its own subdirectory based on the '{run-id}', and subdirectories of auto-created files will be cleaned up after the job is finished.
This allows users who don't have permission to create a bucket to manually specify a bucket name under
~/.sky/config.yaml
.Test plan
smoke test
custom test
Launch
Looks good
Tested (run the relevant ones):
bash format.sh
pytest tests/test_smoke.py
pytest tests/test_smoke.py::test_fill_in_the_name
conda deactivate; bash -i tests/backward_compatibility_tests.sh