You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This test validates that CLM correctly handles adapter dependency relationships when processing a clusters resource request. Specifically, it verifies the dependency relationship where the cl-deployment adapter depends on the cl-job adapter completion. The test continuously polls and validates throughout the workflow period to ensure: (1) cl-deployment's Applied condition remains False until cl-job's Available condition reaches True, enforcing the dependency precondition; (2) during cl-job execution, cl-deployment's Available condition stays Unknown (never False), confirming the adapter waits correctly without attempting execution; (3) successful completion with cl-deployment's Available eventually transitioning to True. This validation demonstrates that the workflow engine properly enforces adapter dependencies and ensures dependent adapters wait for prerequisites before executing.
242
+
This test validates that CLM correctly handles adapter dependency relationships when processing a clusters resource request. Specifically, it verifies the dependency relationship where the cl-deployment adapter depends on the cl-job adapter completion. The test validates the final converged state: both cl-job and cl-deployment reach Applied=True, Available=True, and Health=True. Dependency ordering is enforced by the workflow engine and validated at the unit/integration test level; the E2E test confirms the end-to-end outcome.
256
243
257
244
---
258
245
@@ -291,47 +278,20 @@ curl -X POST ${API_URL}/api/hyperfleet/v1/clusters \
291
278
**Expected Result:**
292
279
- API returns successful response
293
280
294
-
#### Step 2: Verify cl-deployment initial state and dependency waiting behavior
295
-
296
-
**Action:**
297
-
- Poll adapter statuses to capture cl-deployment's initial waiting state:
298
-
```bash
299
-
curl -X GET ${API_URL}/api/hyperfleet/v1/clusters/{cluster_id}/statuses
300
-
```
301
-
302
-
**Expected Result:**
303
-
At the initial state (when cl-deployment first appears in statuses):
304
-
- Response returns HTTP 200 (OK) status code
305
-
- The `cl-deployment` adapter is present with initial waiting state:
306
-
-`Applied` condition has `status: "False"` (deployment hasn't been applied yet, waiting for cl-job dependency)
307
-
-`Available` condition has `status: "Unknown"` (deployment hasn't been applied yet)
308
-
-`Health` condition has `status: "True"` (adapter itself is healthy, just waiting)
309
-
310
-
#### Step 3: Verify dependency relationship and condition transitions throughout entire workflow
281
+
#### Step 2: Verify cl-job and cl-deployment both reach final state
311
282
312
283
**Action:**
313
-
-Continuously poll adapter statuses from the initial state until cl-deployment completes:
284
+
-Poll adapter statuses until both adapters reach their final state:
314
285
```bash
315
286
curl -X GET ${API_URL}/api/hyperfleet/v1/clusters/{cluster_id}/statuses
316
287
```
317
288
318
289
**Expected Result:**
319
-
Throughout the entire period (from initial state until cl-deployment completes), validate the following on each poll:
- While `cl-job` adapter's `Available` condition has NOT reached `status: "True"`:
323
-
- The `cl-deployment` adapter's `Applied` condition must remain `status: "False"`
324
-
- The `cl-deployment` adapter's `Available` condition must remain `status: "Unknown"` (never `status: "False"`)
325
-
- This validates that cl-deployment waits for cl-job to complete without attempting to apply resources
326
-
327
-
**Validation 2 - Success condition:**
328
-
- Once `cl-job` adapter's `Available` reaches `status: "True"`, cl-deployment can proceed with execution
329
-
- Once `cl-deployment` completes execution, its `Available` condition eventually becomes `status: "True"`
330
-
- This confirms the complete dependency workflow succeeded
290
+
- Both `cl-job` and `cl-deployment` adapters are present in the statuses response
291
+
- Each adapter has all three conditions with `status: "True"`: `Applied`, `Available`, `Health`
292
+
- This confirms the dependency workflow completed successfully end-to-end
331
293
332
-
**Note:** After cl-job completes, cl-deployment's `Available` condition may temporarily be `False` (e.g., `MinimumReplicasUnavailable` during deployment startup) before becoming `True`, which is expected behavior and not validated.
0 commit comments