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

[Doc] [runtime env] Move runtime env section up one level, add inbound links #19863

Merged
merged 2 commits into from
Oct 29, 2021

Conversation

architkulkarni
Copy link
Contributor

This is the initial PR for the runtime env docs revision. The goal is to increase adoption by making it more prominent in the docs. There will be several followup PRs.

This PR moves the runtime env doc section up one level, so it now appears in the sidebar. The name "Dependency Management" is recognizable to people who haven't used Ray before.
Screen Shot 2021-10-28 at 5 01 17 PM
Prior to this, the section was under the "Advanced" section under the heading "Runtime Environments".

The actual content of the Runtime Environments section is unchanged in this PR. It will be revised in a future PR, along with adding more examples.

The Dependency Management section also includes some words about setup_commands; this can be expanded in a future PR.

This PR also adds several links to the Runtime Environments section from places in the docs where interested users might find themselves, including the Cluster launcher section, Task Resources and Actor Resources sections.

Checks

  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

cluster environment.

.. _runtime-environments:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The content below this line has only been moved from the previous location in this PR.

@rkooo567 rkooo567 self-assigned this Oct 29, 2021
=====================

Your Ray project may depend on environment variables, local files, and Python packages.
Ray makes managing these dependencies easy, even when working with a remote cluster.
Copy link
Contributor

Choose a reason for hiding this comment

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

Make the language neutral -- don't say "X makes something easy", say "X has Y functionality to do ABC"

Dependency Management
=====================

Your Ray project may depend on environment variables, local files, and Python packages.
Copy link
Contributor

Choose a reason for hiding this comment

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

Ray script or program?

Copy link
Contributor

Choose a reason for hiding this comment

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

application?

Copy link
Contributor

Choose a reason for hiding this comment

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

but yeah "project" is fluffy

Your Ray project may depend on environment variables, local files, and Python packages.
Ray makes managing these dependencies easy, even when working with a remote cluster.

You can specify dependencies dynamically at runtime using :ref:`Runtime Environments<runtime-environments>`. This is useful for quickly iterating on a project with changing dependencies and local code files, or for running jobs, tasks and actors with different environments all on the same Ray cluster.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you need to have a section for concepts. What is a Runtime Environment?

What is local code files?

@@ -0,0 +1,127 @@
.. _dependency_management:

Dependency Management
Copy link
Contributor

Choose a reason for hiding this comment

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

rename to "Handling dependencies"?

Copy link
Contributor

@richardliaw richardliaw left a comment

Choose a reason for hiding this comment

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

Maybe not in this PR, but by the time you are done, a good metric of success is that all questions about dependency management can be answered by linking to the Ray docs.

For example, https://stackoverflow.com/questions/69765007/how-does-ray-handle-package-dependencies

@richardliaw
Copy link
Contributor

Anyways, this is looking quite good!

Copy link
Contributor

@edoakes edoakes left a comment

Choose a reason for hiding this comment

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

This will go a long way! I think next we should add some more "guide"-style content to the section as Richard suggested (e.g., concepts, intended workflows). Happy to merge this as a starting point, give me the green light @architkulkarni once it's good to go.

@edoakes
Copy link
Contributor

edoakes commented Oct 29, 2021

serve test unrelated

@edoakes edoakes merged commit fdefd87 into ray-project:master Oct 29, 2021
You can specify dependencies dynamically at runtime using :ref:`Runtime Environments<runtime-environments>`. This is useful for quickly iterating on a project with changing dependencies and local code files, or for running jobs, tasks and actors with different environments all on the same Ray cluster.

Alternatively, you can prepare your Ray cluster's environment once, when your cluster nodes start up. This can be
accomplished using ``setup_commands`` in the Ray Cluster launcher; see the :ref:`documentation<cluster-configuration-setup-commands>` for details.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should have more comments on this part. Like how workers share the env (it inherits env var from ray start for example) or how files & deps are synced across cluster.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agree, we definitely need to include more here. For the second thing are you talking about ray rsync? And besides what you mentioned, are there other comments you can think of? If you provide some bullet points or a list of topics, I can flesh it out in the next PR.

@architkulkarni architkulkarni deleted the move-runtime-env-doc branch October 29, 2021 17:36
ericl pushed a commit that referenced this pull request Nov 19, 2021
Address followup comments from #19863
- Add short "Concepts" section
- Add more section headings to break up the text
- Add "Workflow: Local Files" example
- Add "Workflow: Library development" example
fishbone pushed a commit that referenced this pull request Nov 20, 2021
Address followup comments from #19863
- Add short "Concepts" section
- Add more section headings to break up the text
- Add "Workflow: Local Files" example
- Add "Workflow: Library development" example
wuisawesome pushed a commit that referenced this pull request Nov 20, 2021
Address followup comments from #19863
- Add short "Concepts" section
- Add more section headings to break up the text
- Add "Workflow: Local Files" example
- Add "Workflow: Library development" example
wuisawesome pushed a commit that referenced this pull request Nov 21, 2021
Address followup comments from #19863
- Add short "Concepts" section
- Add more section headings to break up the text
- Add "Workflow: Local Files" example
- Add "Workflow: Library development" example
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.

4 participants