Skip to content

Align Isaac Lab with Asset Region Profiles - #7549

Open
sheikh-nv wants to merge 5 commits into
isaac-sim:developfrom
sheikh-nv:dev/asset-region-profiles
Open

Align Isaac Lab with Asset Region Profiles#7549
sheikh-nv wants to merge 5 commits into
isaac-sim:developfrom
sheikh-nv:dev/asset-region-profiles

Conversation

@sheikh-nv

@sheikh-nv sheikh-nv commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Description

Aligns Isaac Lab with Isaac Sim's Asset Region Profiles terminology and configuration. The installation guide now has a top-level Asset Region Profiles section immediately after Asset caching, with us and china selection, precedence, switchback, kitless initialization, and manifest guidance.

The implementation uses ISAACSIM_ASSET_REGION_PROFILE, adds an explicit us profile and configure_asset_region_profile(), and replaces the development-only ISAACSIM_STORAGE_PROFILE selector. The installation skill and focused tests are updated with the same behavior.

This is a follow-up to #7467. No additional dependencies are required.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation update

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Screenshots

Rendered installation documentation was verified locally.

Checklist

Docker and GPU tests run on demand. Push the commits you want tested, then
comment run-ci on the pull request.

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package (do not edit CHANGELOG.rst or bump extension.toml — CI handles that)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

Validation

  • uv run isaaclab -f passed.
  • Python compilation, changelog validation, and diff checks passed.
  • All 21 repository skill checks passed.
  • Focused no-network checks passed for the new selector and profile resolution.
  • Full tests and documentation builds are covered by the PR checks.

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Sep 3, 2026
@sheikh-nv
sheikh-nv marked this pull request as ready for review September 3, 2026 22:09
@sheikh-nv
sheikh-nv requested a review from a team September 3, 2026 22:09
@greptile-apps

greptile-apps Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR introduces US and China Asset Region Profiles, renames the profile selector, and synchronizes installation documentation, agent-skill guidance, tests, and changelog material.

  • Adds an explicit US asset root and the configure_asset_region_profile() public initializer.
  • Moves regional-profile guidance into a top-level installation section.
  • Updates focused asset-resolution and OmniClient-configuration tests.

Confidence Score: 4/5

The released profile selector must retain a compatibility fallback before merging; the duplicated US root should also be aligned with the shipped experience configuration.

Existing China-profile installations using the released environment variable are now silently routed through the default service, while explicit US selection uses a separately maintained root that already differs from the shipped experiences.

Files Needing Attention: source/isaaclab/isaaclab/utils/assets.py, source/isaaclab/test/utils/test_assets.py

Important Files Changed

Filename Overview
source/isaaclab/isaaclab/utils/assets.py Adds regional profile resolution and an alias initializer, but silently drops a released selector and duplicates a US root that differs from shipped experience configuration.
source/isaaclab/test/utils/test_assets.py Updates profile tests and adds US coverage, although the US assertion cannot detect drift from the canonical experience root.
docs/source/setup/installation/index.rst Adds comprehensive Asset Region Profile selection, precedence, switchback, kitless initialization, and manifest guidance.
skills/user/install-isaac-lab/reference.md Synchronizes installation-skill preflight and regional-profile instructions with the new documentation.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  Env[Profile environment variables] --> Select[_selected_storage_profile]
  Select --> Root[_resolve_asset_root]
  Select --> Client[OmniClient routing]
  Root --> Constants[Asset path constants]
  Client --> Fetch[Regional asset retrieval]
  Constants --> Fetch
Loading

Reviews (1): Last reviewed commit: "Remove legacy storage profile fallback" | Re-trigger Greptile

Comment thread source/isaaclab/isaaclab/utils/assets.py
Comment thread source/isaaclab/isaaclab/utils/assets.py

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

The PR consistently introduces Asset Region Profile terminology, an explicit us profile, and the new initializer across implementation, tests, documentation, and install skills. However, it removes support for the previously documented ISAACSIM_STORAGE_PROFILE selector without a deprecation path, causing existing China-profile configurations to silently stop taking effect.

  • Design and architecture: The named-profile table supports profiles with optional OmniClient routing and cleanly models the endpoint-less us profile. The main compatibility gap is that profile selection now reads only the new environment variable rather than accommodating the existing producer path during migration.
  • API: configure_storage_profile() remains supported through the new configure_asset_region_profile() entry point, but the documented ISAACSIM_STORAGE_PROFILE environment interface is removed immediately. It should remain as a deprecated fallback with a warning, and the changelog should include migration guidance.
  • Implementation: Asset-root precedence, lazy OmniClient import, one-shot China routing configuration, the us path, documentation anchors, and focused tests are internally consistent. The tests replace the old selector entirely and therefore do not cover compatibility for existing environments that still export it.

Minor fixes needed. Posted 1 actionable finding inline.

Automated review; human maintainers own approval decisions.

Comment thread source/isaaclab/isaaclab/utils/assets.py
Comment thread source/isaaclab/isaaclab/utils/assets.py

@AntoineRichard AntoineRichard left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Besides Kelly comments this looks good. Approving to unblock when it's ready

@kellyguo11

Copy link
Copy Markdown
Contributor

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants