-
Notifications
You must be signed in to change notification settings - Fork 910
Node handler integration with Node Version Orchestrator #5425
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
Closed
rishabhmalikMS
wants to merge
16
commits into
master
from
users/rishabhmalikMS/nodeHandlerOrchestrator
Closed
Node handler integration with Node Version Orchestrator #5425
rishabhmalikMS
wants to merge
16
commits into
master
from
users/rishabhmalikMS/nodeHandlerOrchestrator
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…or node strategy and response data models for each strategy result
…github.com/microsoft/azure-pipelines-agent into users/rishabhmalikMS/NodehandlerStrategies
…estrator with node handler
… added later with cusom node strategy code functionality
…rishabhmalikMS/nodeHandlerOrchestrator
…ode handler | Removed fields SelectedNodeVersion, SelectionReason & SelectionWarning from nodeContext as per previous PR suggession
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
This PR is closed as we are covering this integration work in PR #5422 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
This PR integrates the Node.js version selection strategy framework with the NodeHandler to enable feature flag-controlled testing of the new orchestration pattern. This builds on the previously established strategy framework and provides the foundation for Node.js version handling across both host and container environments.
Related Work: This is part 2 of the Node.js strategy modernization effort, following the strategy framework implementation in PR #5422 and preceding the comprehensive test restoration and container integration phases.
AB#2339020
AB#2339021
AB#2339022
Description
Integrated the NodeVersionOrchestrator with NodeHandler to enable Node.js version selection:
NodeHandler.cs Changes:
GetNodeLocationWithStrategy()method that creates context and calls orchestratorAGENT_USE_NODE_STRATEGYto control strategy selection (Name of feature flag is likely to be updated)[Strategy]prefix for clear traceabilityNodeVersionOrchestrator.cs Updates:
CustomNodeStrategyfrom default strategy registration (to be handled in separate PR)[Container]vs[Host]) for better debuggingKey Integration Points:
Updates from Previous PR comments
Risk Assessment (Low / Medium / High)
Low Risk - Changes are protected by feature flag (false by default). All existing NodeHandler logic remains unchanged and continues to serve as the primary code path. The strategy is only invoked when explicitly enabled, allowing for controlled testing and gradual rollout.
Unit Tests Added or Updated (Yes / No)
No unit tests modified in this integration PR #5421 5421. Existing comprehensive test specifications established in previous PR will be activated and expanded in the subsequent test restoration PR to validate equivalence between legacy and new strategies.
Additional Testing Performed
List manual or automated tests performed beyond unit tests (e.g., integration, scenario, regression).
Change Behind Feature Flag (Yes / No)
Yes - Controlled by
AGENT_USE_NODE_STRATEGY(default: false). This enables safe testing and gradual rollout without affecting existing functionality. Legacy NodeHandler logic remains the default execution path.Tech Design / Approach
Documentation Changes Required (Yes/No)
Indicate whether related documentation needs to be updated.
Logging Added/Updated (Yes/No)
[Strategy]prefix for strategy execution tracing[Container]/[Host]prefixes in orchestrator for execution context clarityTelemetry Added/Updated (Yes/No)
Rollback Scenario and Process (Yes/No)
Dependency Impact Assessed and Regression Tested (Yes/No)