[minor] Add support for Monitor 9.2.0+ standalone installation without IoT dependency#2129
Closed
jvaneel-dwivedi wants to merge 51 commits intomonthlyupdatefrom
Closed
[minor] Add support for Monitor 9.2.0+ standalone installation without IoT dependency#2129jvaneel-dwivedi wants to merge 51 commits intomonthlyupdatefrom
jvaneel-dwivedi wants to merge 51 commits intomonthlyupdatefrom
Conversation
whitfiea
requested changes
Mar 27, 2026
Member
whitfiea
left a comment
There was a problem hiding this comment.
this PR shouldn't contain the catalog changes
3f229cf to
00f67d3
Compare
Prevents FVT from waiting indefinitely when install pipeline has failed. Adds check-install-status task that verifies sync-install STATUS=Success before proceeding with app FVT waits. Fails fast (5 min) instead of timing out after 30+ minutes. - Added check-install-status task after approval-suite-verify - Task waits for sync-install configmap STATUS=Success - Max wait time: 5 retries × 60 seconds = 5 minutes - Updated waitfor-manage to run after check-install-status - Only runs when sync_with_install=true Modified: tekton/src/pipelines/mas-fvt-launcher.yml.j2
Removed git merge conflict markers that were causing YAML parsing error. The conflict was in the waitfor-iot-before-monitor task's when clause. Kept the correct version with proper spacing in values array: - Added space after comma in values list - Included all necessary IoT wait scenarios - Removed duplicate/conflicting when clause definitions This fixes the kubectl apply error: 'error converting YAML to JSON: yaml: line 405: could not find expected ':' Modified: tekton/src/pipelines/mas-fvt-launcher.yml.j2
The approval-iot task was creating a cycle: - approval-iot depends on launchfvt-iot - launchfvt-iot depends on waitfor-iot-after-monitor - waitfor-iot-after-monitor depends on approval-monitor - approval-monitor depends on launchfvt-monitor - (potential cycle if monitor waits for iot) Fixed by: - Changed approval-iot runAfter from launchfvt-iot to waitfor-iot-* tasks - Added launchfvt_iot condition to approval-iot when clause - This breaks the cycle while maintaining correct execution order The approval-iot task now runs after IoT installation is confirmed (via waitfor tasks) rather than after the FVT launch, which is the correct behavior. Modified: tekton/src/pipelines/mas-fvt-launcher.yml.j2
The circular dependency was: - approval-iot → launchfvt-iot → waitfor-iot-after-monitor → approval-monitor → launchfvt-monitor → waitfor-monitor-after-iot → approval-iot (CYCLE!) Fixed by changing waitfor-monitor-after-iot runAfter from: - approval-manage - approval-iot To: - approval-manage - waitfor-iot-before-monitor This breaks the cycle while maintaining correct execution order: - Monitor (after-iot) waits for IoT installation to be confirmed - But doesn't create circular dependency with IoT approval Validated locally with test.sh - pipeline created successfully. Modified: tekton/src/pipelines/mas-fvt-launcher.yml.j2
- waitfor-iot now depends on approval-manage (Manage must be installed first) - waitfor-monitor now depends on waitfor-iot (waits for IoT installation to complete) - This ensures both Monitor and IoT are installed before their FVTs run - Both FVTs can then run in parallel after all installations complete Installation order: Manage -> Monitor -> IoT FVT execution: Both Monitor and IoT FVTs start after IoT installation completes
00f67d3 to
05c2d3f
Compare
Contributor
|
closing this PR, as #2114 already merged. |
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
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.
This commit introduces flexible installation ordering for Monitor and IoT applications,
allowing Monitor 9.2.0+ to be installed independently or before IoT, while maintaining
backward compatibility for Monitor < 9.2.0 which requires IoT as a dependency.
Key Changes:
Python CLI (python/src/mas/cli/install/)
mas_monitor_install_orderparameter to control installation sequenceTekton Pipelines (tekton/src/)
mas_monitor_install_orderparameter to control installation flowafter-iot: Legacy behavior for Monitor < 9.2.0 (Monitor installs after IoT)before-iot: New behavior for Monitor >= 9.2.0 (Monitor installs before or without IoT)waitfor-monitor-before-iotlaunchfvt-monitor-before-iotapproval-monitor-before-iotwaitfor-iot-after-monitorapproval-iot-after-monitorDocumentation (docs/guides/install.md)
Testing