From 076d23cf8acfd8211c40c88fc7fe4f2a5c31b3f3 Mon Sep 17 00:00:00 2001 From: Jvaneel Dwivedi Date: Mon, 18 May 2026 15:25:54 +0530 Subject: [PATCH] [patch] Fix Monitor/IoT FVT sequencing to complete before Day2 lifecycle stages Corrects sequencing issue where Monitor/IoT FVT launches were running in parallel with Day2 lifecycle stages (update/upgrade/uninstall). Changes for after-iot scenario (Monitor < 9.2.0): - approval-iot: runAfter launchfvt-iot (was: waitfor-iot) - approval-monitor: runAfter launchfvt-monitor (was: waitfor-monitor) Changes for before-iot scenario (Monitor >= 9.2.0): - approval-monitor-before-iot: remains after waitfor-monitor-before-iot (gates IoT installation, not Day2) - approval-iot-after-monitor: remains after waitfor-iot-after-monitor (gates IoT installation, not Day2) - waitfor-install: added launchfvt-monitor-before-iot and launchfvt-iot-after-monitor dependencies to ensure FVT completion before Day2 stages This ensures all application FVT execution completes before the pipeline transitions into Day2 lifecycle stages, matching the behavior of other applications (Assist, Manage, Optimizer, Predict). Fixes cycle detection error in before-iot scenario where approval tasks needed to gate IoT installation rather than Day2 stages. --- tekton/src/pipelines/mas-fvt-launcher.yml.j2 | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tekton/src/pipelines/mas-fvt-launcher.yml.j2 b/tekton/src/pipelines/mas-fvt-launcher.yml.j2 index ba71ecba71..0b3bfa5b37 100644 --- a/tekton/src/pipelines/mas-fvt-launcher.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-launcher.yml.j2 @@ -517,10 +517,11 @@ spec: operator: in values: ["after-iot"] runAfter: - - waitfor-iot + - launchfvt-iot - # Approve IoT (before-iot scenario) - only after both Monitor and IoT FVT complete - # For Monitor >= 9.2.0: IoT installs after Monitor, so approval happens after both FVTs + # Approve IoT (before-iot scenario) - runs after IoT installation completes to allow IoT to install + # For Monitor >= 9.2.0: IoT installs after Monitor, approval gates IoT installation not Day2 + # A separate gate ensures both Monitor and IoT FVTs complete before Day2 - name: approval-iot-after-monitor timeout: "0" taskRef: @@ -896,10 +897,11 @@ spec: operator: in values: ["after-iot"] runAfter: - - waitfor-monitor + - launchfvt-monitor # Approve Monitor for Monitor >= 9.2.0 (before-iot scenario) - # This runs immediately after Monitor installation completes, allowing IoT to start + # This runs after Monitor installation completes to allow IoT to start installing + # A separate gate ensures both Monitor and IoT FVTs complete before Day2 - name: approval-monitor-before-iot timeout: "0" taskRef: @@ -1276,9 +1278,11 @@ spec: - approval-optimizer - approval-predict - approval-iot # Ensure IoT FVT completes before Day2 (pre-9.2) - - approval-iot-after-monitor # Ensure IoT FVT completes before Day2 (post-9.2) + - approval-iot-after-monitor # Gates IoT installation (post-9.2), not FVT completion + - launchfvt-iot-after-monitor # Ensure IoT FVT completes before Day2 (post-9.2) - approval-monitor # Ensure Monitor FVT completes before Day2 (pre-9.2) - - approval-monitor-before-iot # Ensure Monitor FVT completes before Day2 (post-9.2) + - approval-monitor-before-iot # Gates IoT installation (post-9.2), not FVT completion + - launchfvt-monitor-before-iot # Ensure Monitor FVT completes before Day2 (post-9.2) - approval-visualinspection - launchivt-manage - approval-facilities