fix: various CVE updates, mcp url fix, ffmpeg builds#762
Conversation
📝 WalkthroughWalkthroughThe PR adds explicit base URL support to sync and async SDK factories, rebuilds and injects FFmpeg/VLM Python wheels into the training image, hardens a customizer runtime image, and updates dependency constraints and pins. ChangesSDK base URL routing
Multimedia wheels and runtime images
Dependency constraint updates
Sequence Diagram(s)sequenceDiagram
participant Caller
participant SDKFactory
participant NeMoPlatform
participant URLPreparation
Caller->>SDKFactory: create SDK with base_url
SDKFactory->>NeMoPlatform: construct with explicit base_url
SDKFactory->>URLPreparation: configure without service routing
URLPreparation-->>Caller: preserve explicit host and port
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/nmp_common/src/nmp/common/sdk_factory.py (1)
136-166: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winKeep base URL fallback and routing decisions consistent.
With
base_url="", Lines 162 and 257 fall back to the configured URL, while Lines 166 and 261 disable service routing. Use the samebase_url is not Nonepredicate for both operations, or reject empty URLs explicitly.Also applies to: 226-261
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/nmp_common/src/nmp/common/sdk_factory.py` around lines 136 - 166, Update get_platform_sdk and the corresponding async SDK factory to use consistent base_url handling: either preserve an explicitly supplied empty string for URL construction while disabling service routing, or reject empty URLs before both decisions. Align the fallback expression and _create_url_router use_service_routing predicate so both paths apply the same base_url presence semantics.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@packages/nmp_common/src/nmp/common/sdk_factory.py`:
- Around line 136-166: Update get_platform_sdk and the corresponding async SDK
factory to use consistent base_url handling: either preserve an explicitly
supplied empty string for URL construction while disabling service routing, or
reject empty URLs before both decisions. Align the fallback expression and
_create_url_router use_service_routing predicate so both paths apply the same
base_url presence semantics.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: d4d1eae1-7634-4af9-a090-ae596deaafe9
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (12)
docker-bake.hcldocker/Dockerfile.nmp-customizer-tasksdocker/Dockerfile.nmp-rl-trainingdocker/automodel/Dockerfile.nmp-automodel-basedocker/base/Dockerfile.python-wheelspackages/nemo_platform/pyproject.tomlpackages/nmp_common/src/nmp/common/sdk_factory.pypackages/nmp_common/tests/sdk_factory/test_sdk.pyplugins/nemo-guardrails/pyproject.tomlpyproject.tomlservices/core/entities/src/nmp/core/entities/mcp/server.pyservices/core/mcp/tests/integration/smoke_test.py
|
Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>
801d4c2 to
6650a5b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docker/Dockerfile.nmp-customizer-tasks`:
- Around line 84-88: Update the apt-get install command in the Dockerfile’s CVE
cleanup RUN step to include --no-install-recommends alongside --only-upgrade,
while preserving the existing openssl and libssl3t64 packages and cleanup
behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 5e956ee6-0807-442e-8ade-84e0eca52413
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (14)
.github/wheel-constraints/nemo-platform-services.txtdocker-bake.hcldocker/Dockerfile.nmp-customizer-tasksdocker/Dockerfile.nmp-rl-trainingdocker/automodel/Dockerfile.nmp-automodel-basedocker/base/Dockerfile.python-wheelspackages/nemo_platform/pyproject.tomlpackages/nmp_common/src/nmp/common/sdk_factory.pypackages/nmp_common/tests/sdk_factory/test_sdk.pyplugins/nemo-guardrails/pyproject.tomlpyproject.tomlservices/core/entities/src/nmp/core/entities/mcp/server.pyservices/core/mcp/tests/integration/smoke_test.pythird_party/requirements-main.txt
🚧 Files skipped from review as they are similar to previous changes (9)
- docker/automodel/Dockerfile.nmp-automodel-base
- plugins/nemo-guardrails/pyproject.toml
- packages/nemo_platform/pyproject.toml
- services/core/entities/src/nmp/core/entities/mcp/server.py
- docker/Dockerfile.nmp-rl-training
- pyproject.toml
- services/core/mcp/tests/integration/smoke_test.py
- docker/base/Dockerfile.python-wheels
- packages/nmp_common/src/nmp/common/sdk_factory.py
Summary by CodeRabbit
New Features
Bug Fixes
Tests
Chores