Add China storage profile support for kitless assets - #7086
Conversation
Resolve the asset test conflict and include launcher cleanup and documentation fixes.
Preserve profile-aware OmniClient routing with concurrent cache locking.
Greptile SummaryThis PR adds China storage-profile support for kitless asset resolution and OmniClient routing while retaining
Confidence Score: 5/5The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issue identified. The selected profile is consistently reflected in asset-root resolution and OmniClient routing, explicit asset roots retain precedence, launcher initialization occurs before user asset operations, and the changed behavior has targeted failure-path coverage. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[ISAACSIM_ASSET_ROOT set?] -->|Yes| B[Use explicit asset root]
A -->|No| C[ISAACSIM_STORAGE_PROFILE selected?]
C -->|china| D[Use China Isaac 6.0 asset root]
C -->|No or unknown| E[Use Kit experience asset root]
D --> F[Configure OmniClient S3 and CDN routing]
B --> G[Asset helper or launched user code]
E --> G
F --> G
Reviews (1): Last reviewed commit: "Teach installation skill to configure Ch..." | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
The change adds opt-in China storage support by resolving kitless asset roots to the mirrored Isaac 6.0 paths and configuring OmniClient routing before asset access. The launcher, asset helpers, documentation, tests, changelog, and installation skill were updated consistently.
- Design and architecture: Profile selection, asset-root resolution, and OmniClient configuration are centralized in
isaaclab.utils.assets. The fixed_ISAAC_SIM_ASSET_RELEASEkeeps code paths aligned but requires coordinated maintenance with the documented availability manifest when the mirror release changes. - API: The additive
configure_storage_profile()API is documented for standalone OmniClient users. Existing behavior remains intact when no recognized profile is selected, andISAACSIM_ASSET_ROOTretains precedence over profile-based root resolution. - Implementation: The remote asset helper paths now configure routing before OmniClient operations, while
launch_simulationapplies it before user code and retains cleanup on configuration failure. Tests cover precedence, unknown profiles, idempotent configuration, client rejection, lazy imports, exported constants, and launcher ordering. A non-blocking residual tradeoff is that selecting the profile still configures OmniClient—and can fail—even whenISAACSIM_ASSET_ROOTsupplies the effective asset root.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
|
|
||
| .. note:: | ||
| The China service mirrors a subset of the global asset set, and that subset can change between releases. | ||
| Check the `Isaac 6.0 asset availability manifest |
There was a problem hiding this comment.
should we update this to 6.1 once it's available?
There was a problem hiding this comment.
Yes. We can do the update to 6.1 in another PR.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Type of change
Screenshots
Not applicable; this change has no visual UI.
Checklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists thereChange summary
Kitless Isaac Lab does not load
isaacsim.storage.native, so selectingISAACSIM_STORAGE_PROFILE=chinapreviously changed neither its asset root norOmniClient routing.
This change resolves Isaac Lab assets through the same public bucket paths used
by Isaac Sim and configures OmniClient to route reads through the profile CDN.
Launchers and asset helpers initialize the routing automatically, while
ISAACSIM_ASSET_ROOTremains higher priority. The release folder is centralizedso switching to 6.1 requires one source-line change.
The documentation covers Linux, Windows, standalone OmniClient use, and links
the public Isaac 6.0 asset availability manifest. The implementation remains
pinned to the 6.0 asset folder for this PR; the release constant and manifest
link can be updated together when the 6.1 mirror is available.
The installation skill follows the same documentation without embedding
release-specific storage details, so that later update does not require another
skill change.
Validation