[Fix] Cherry-pick docker install extension-startup fix (prebundle deletion, pin-pink)#6436
Conversation
Cherry-pick of 3a315a0. Docker installs deleted packaging from Isaac Sim's omni.isaac.core_archive prebundle (dangling the symlink farm shared with omni.services.pip_archive; 13 extension startup failures) and pinned pin-pink too old for Isaac Sim 6.x (isaacsim.robot_motion.pink needs pink>=3.3). Backport adaptations: this branch predates the isaac-sim#6009 dependency centralization, so the packaging<24 relaxation and the pin-pink==3.3.0 bump land in source/isaaclab/setup.py, source/isaaclab_rl/setup.py and tools/wheel_builder/res/python_packages.toml instead of the root pyproject.toml, and the install CLI keeps its hardcoded _PINK_IK_STACK (the pyproject-derived stack and its tests are not ported). Fixes nvbugs 6410989.
Greptile SummaryThis PR fixes Docker install dependency handling for Isaac Sim prebundles and Pink IK. The main changes are:
Confidence Score: 4/5The changed install path needs a fix for existing incompatible Pink installs.
source/isaaclab/isaaclab/cli/commands/install.py Important Files Changed
Reviews (1): Last reviewed commit: "Cherry-pick #6329 docker install fixes t..." | Re-trigger Greptile |
| # ``cmeel.pth`` hook. DAQP provides the QP solver selected by the Pink IK controller. | ||
| _PINK_IK_STACK = ("pin", "pin-pink==3.1.0", "daqp==0.8.5") | ||
| # pin-pink: Isaac Sim 6.x needs >=3.3, 3.4+ breaks pink_ik; daqp >0.8.5 changes behavior. | ||
| _PINK_IK_STACK = ("pin", "pin-pink==3.3.0", "daqp==0.8.5") |
There was a problem hiding this comment.
Existing Pink Version Survives
When an environment already has pin-pink 3.4 or newer, the install probe can still pass because it only checks pinocchio, daqp, and qpsolvers. In that state ./isaaclab.sh -i skips the force reinstall, leaves the incompatible Pink API in place, and the Pink IK controller can still fail at runtime even though this stack pin is meant to keep installs on 3.3.0.
# Description Documentation jobs are failing because of broken links from upstream documentation: was: ``` https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_ur_dnn_policy/index.html ``` is: ``` https://nvidia-isaac-ros.github.io/reference_workflows/isaac_for_manipulation/packages/isaac_ros_manipulation_dnn_policy/index.html ``` Fixes # (issue) <!-- As a practice, it is recommended to open an issue to have discussions on the proposed pull request. This makes it easier for the community to keep track of what is being developed or added, and if a given feature is demanded by more than one party. --> ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (existing functionality will not work without user modification) - Documentation update ## Screenshots Please attach before and after screenshots of the change if applicable. <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task --> (cherry picked from commit 1f92203)
Description
Cherry-pick of #6329 onto
release/3.0.0-beta2— the follow-up to #6295 for NVBug 6410989 (continuation of NVBug 6343978): Docker streaming works but the log floods with 438[Error]lines and 14 Isaac Sim extensions fail to load. uv installs are unaffected.1. Summary
packaging<24bound inisaaclab_rl— it forced pip to downgradepackagingand delete it from theomni.isaac.core_archiveprebundle, dangling the per-file symlink farmomni.services.pip_archiveshares with it (13 extension startup failures).pin-pink3.1.0→3.3.0at every pin site —isaacsim.robot_motion.pinkneedspink.exceptions.NoSolutionFound(pink ≥ 3.3.0); pink 3.4+ stays excluded (pink_ik task-API break, Fix pink ik dep pinning #5846). The wheel spec'spin-pink>=2.3.6also becomes==3.3.0(it currently resolves to 4.x).__init__.py; other new dangling links only warn.2. Backport adaptations vs #6329
This branch predates the #6009 dependency centralization, so:
source/isaaclab/setup.py,source/isaaclab_rl/setup.py, andtools/wheel_builder/res/python_packages.tomlinstead of the rootpyproject.toml._PINK_IK_STACK(bumped to 3.3.0); the pyproject-derived stack from [Fix] Stop docker installs breaking Isaac Sim extension startup (prebundle deletion, pin-pink) #6329 and its tests are not ported — the derivation wouldKeyErrorhere since the rootpyproject.tomlhas no pin entries on this branch.import pytestadded totest_install_prebundle.py(develop had it from an intermediate commit not on this branch).3. Heads-up: the invariant can surface latent arm64 breakage
On develop, the first nightly image build containing #6329 failed its arm64 leg because the invariant caught a real prebundle breakage (Pillow deleted from
omni.kit.pip_archive). If this release branch's arm64 docker build has a similar latent issue, the invariant will turn a silently-broken image into a failed build — that is by design, but worth knowing before merging.4. Test plan
source/isaaclab/test/cli/— 141 passed locally (prebundle invariant tests included).