======================================== WINC-1512 Task 1 - Complete Verification ======================================== [2025-12-28 21:11:20] Timestamp: 20251228-211120 [2025-12-28 21:11:20] Log file: /tmp/winc-1512-verification/verification-20251228-211120.log [2025-12-28 21:11:20] Script directory: /Users/weinliu/git_redhat/openshift-tests-private/test/extended/testdata/winc ======================================== Step 1: Checking Prerequisites ======================================== ✅ KUBECONFIG set to: /tmp/jenkins-kubeconfig ✅ oc command found: /opt/homebrew/bin/oc ======================================== Step 2: Verifying Cluster Access ======================================== [2025-12-28 21:11:20] Testing cluster connection... ✅ Connected as: system:admin ✅ Cluster: Kubernetes control plane is running at https://api.weinliu-5684.qe.devcluster.openshift.com:6443 ✅ OpenShift version: 4.19.0-0.nightly-2025-12-25-152228 ✅ Platform: AWS ======================================== Step 3: Verifying WMCO Installation ======================================== [2025-12-28 21:11:24] Checking namespace: openshift-windows-machine-config-operator ✅ WMCO namespace exists [2025-12-28 21:11:25] Checking WMCO pods... NAME READY STATUS RESTARTS AGE windows-machine-config-operator-79545c488b-fb4w6 1/1 Running 0 10h ✅ WMCO pod is Ready ======================================== Step 4: Checking Existing Node Pool ======================================== [2025-12-28 21:11:27] Looking for existing windows-node-pool ConfigMap... ✅ Node pool ConfigMap exists [2025-12-28 21:11:28] Current ConfigMap contents: apiVersion: v1 data: 10.0.1.100: "status: available\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \nallocated-at: \nlast-updated: 2025-12-28T12:00:38Z" 10.0.1.101: "status: dirty\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \nallocated-at: \nlast-updated: 2025-12-28T12:00:39Z" available-nodes: "2" in-use-nodes: "0" pool-size: "2" pool-version: "1.0" kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"10.0.1.100":"status: available\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \"\"\nallocated-at: \"\"\nlast-updated: \"2025-12-28T12:00:33Z\"\n","10.0.1.101":"status: available\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \"\"\nallocated-at: \"\"\nlast-updated: \"2025-12-28T12:00:33Z\"\n","available-nodes":"2","in-use-nodes":"0","pool-size":"2","pool-version":"1.0"},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"app":"windows-node-pool-manager","managed-by":"openshift-tests"},"name":"windows-node-pool","namespace":"openshift-windows-machine-config-operator"}} creationTimestamp: "2025-12-28T12:00:35Z" labels: app: windows-node-pool-manager managed-by: openshift-tests name: windows-node-pool namespace: openshift-windows-machine-config-operator resourceVersion: "202690" uid: 6f1b014f-495b-47b6-9023-f672bcb76a74 [2025-12-28 21:11:31] Pool statistics: [2025-12-28 21:11:31] Total pool size: 2 [2025-12-28 21:11:31] Available nodes: 2 [2025-12-28 21:11:31] In-use nodes: 0 ======================================== Step 5: Checking Windows Nodes ======================================== [2025-12-28 21:11:31] Looking for Windows nodes in cluster... ✅ Found Windows nodes: node/ip-10-0-0-221.us-east-2.compute.internal node/ip-10-0-21-245.us-east-2.compute.internal node/ip-10-0-26-162.us-east-2.compute.internal [2025-12-28 21:11:32] Node details: NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-10-0-0-221.us-east-2.compute.internal Ready worker 10h v1.32.8 10.0.0.221 Windows Server 2022 Datacenter 10.0.20348.4529 containerd://1.7.26 ip-10-0-21-245.us-east-2.compute.internal Ready worker 10h v1.32.8 10.0.21.245 Windows Server 2022 Datacenter 10.0.20348.4529 containerd://1.7.26 ip-10-0-26-162.us-east-2.compute.internal Ready worker 35m v1.32.8 10.0.26.162 Windows Server 2022 Datacenter 10.0.20348.4529 containerd://1.7.26 ======================================== Step 6: Running Phase 1 - Basic Functionality Tests ======================================== [2025-12-28 21:11:33] Executing test-node-pool.sh... ========================================= Node Pool Management Test ========================================= Step 1: Cleaning up existing node pool ConfigMap configmap "windows-node-pool" deleted ℹ️ Deleted existing ConfigMap Step 2: Creating test node pool ConfigMap with 2 nodes configmap/windows-node-pool created ✅ Created test node pool ConfigMap Step 3: Verifying ConfigMap creation ✅ ConfigMap exists ℹ️ ConfigMap contents: data: 10.0.1.100: | status: available username: capi address-type: ip platform: aws test-id: "" allocated-at: "" last-updated: "2025-12-28T12:11:35Z" 10.0.1.101: | status: available username: capi address-type: ip platform: aws test-id: "" allocated-at: "" last-updated: "2025-12-28T12:11:35Z" available-nodes: "2" in-use-nodes: "0" pool-size: "2" pool-version: "1.0" kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"10.0.1.100":"status: available\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \"\"\nallocated-at: \"\"\nlast-updated: \"2025-12-28T12:11:35Z\"\n","10.0.1.101":"status: available\nusername: capi\naddress-type: ip\nplatform: aws\ntest-id: \"\"\nallocated-at: \"\"\nlast-updated: \"2025-12-28T12:11:35Z\"\n","available-nodes":"2","in-use-nodes":"0","pool-size":"2","pool-version":"1.0"},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"app":"windows-node-pool-manager","managed-by":"openshift-tests"},"name":"windows-node-pool","namespace":"openshift-windows-machine-config-operator"}} creationTimestamp: "2025-12-28T12:11:37Z" labels: app: windows-node-pool-manager managed-by: openshift-tests name: windows-node-pool namespace: openshift-windows-machine-config-operator resourceVersion: "206015" uid: 82656108-0711-4c9e-aba9-ba7aa88b1244 Step 4: Testing node allocation ℹ️ Allocating node 10.0.1.100 for test test-42484 configmap/windows-node-pool patched ✅ Node allocated successfully ✅ Node status verified: in-use, test-id: test-42484 Step 5: Testing node release ℹ️ Releasing node 10.0.1.100 back to pool configmap/windows-node-pool patched ✅ Node released successfully ✅ Node status verified: available Step 6: Testing marking node as dirty ℹ️ Marking node 10.0.1.101 as dirty configmap/windows-node-pool patched ✅ Node marked as dirty successfully ✅ Node status verified: dirty Step 7: Final node pool statistics ========================================= Total nodes: 2 Available nodes: 1 In-use nodes: 0 Dirty nodes: 1 ========================================= Step 8: Cleanup (optional) ℹ️ Non-interactive mode: keeping ConfigMap for inspection ℹ️ Test ConfigMap kept for manual inspection ℹ️ To delete manually: oc delete configmap windows-node-pool -n openshift-windows-machine-config-operator ========================================= ✅ All tests passed! ========================================= ✅ Phase 1: Basic functionality tests PASSED ======================================== Step 7: Running Phase 2-3 - Edge Case Tests ======================================== [2025-12-28 21:11:45] Executing test-node-pool-edge-cases.sh... ============================================== Node Pool Edge Case Tests / ============================================== 🧪 Running: Test 1: Handle missing ConfigMap / ConfigMap ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted ✅ ConfigMap correctly not found 🧪 Running: Test 2: Handle empty ConfigMap / ConfigMap configmap/windows-node-pool created ✅ Empty ConfigMap detected correctly ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 3: Handle malformed node entry /  configmap/windows-node-pool created ✅ Malformed entries handled gracefully, valid entries still readable ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 4: Handle no available nodes /  configmap/windows-node-pool created ✅ No available nodes scenario detected correctly ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 5: Handle platform mismatch /  configmap/windows-node-pool created ✅ Platform filtering works correctly (no AWS nodes found) ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 6: Simulate concurrent modification /  configmap/windows-node-pool created ℹ️ Current ResourceVersion: 206178 configmap/windows-node-pool patched ℹ️ New ResourceVersion: 206192 ✅ ResourceVersion changed after modification (concurrency detection will work) ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 7: Handle missing required fields /  configmap/windows-node-pool created ✅ Entries with missing fields present in ConfigMap ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 8: Handle large node pool /  configmap/windows-node-pool created ✅ Large pool handled correctly (51 nodes) ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 9: Handle special characters in addresses /  configmap/windows-node-pool created ✅ Special characters in addresses handled correctly ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted 🧪 Running: Test 10: Validate status transitions /  configmap/windows-node-pool created configmap/windows-node-pool patched configmap/windows-node-pool patched configmap/windows-node-pool patched ✅ Status transitions work correctly: available -> in-use -> dirty -> available ℹ️ Cleaning up test resources /  configmap "windows-node-pool" deleted ============================================== Test Summary / ============================================== Tests Passed / : 10 Tests Failed / : 0 Total Tests / : 10 ============================================== ✅ All edge case tests passed! / ! ==============================================  ℹ️ Cleaning up test resources /  ✅ Phase 2-3: Edge case tests PASSED ======================================== Step 8: Verifying Phase 4 - Code Quality ======================================== [2025-12-28 21:12:46] Checking for Chinese comments in utils.go... ✅ No Chinese comments found in utils.go [2025-12-28 21:12:46] Checking for proper function documentation... ⚠️ Some functions may lack documentation [2025-12-28 21:12:46] Checking for error message consistency... ⚠️ Some error messages may start with uppercase return fmt.Errorf("FATAL: Windows Load balancer isn't working properly") return "", fmt.Errorf("WMCO version string not found in operator logs") ======================================== Step 9: Performance Benchmarking ======================================== [2025-12-28 21:12:46] Testing ConfigMap read performance... [2025-12-28 21:12:47] ConfigMap read time: 1057ms [2025-12-28 21:12:47] Testing ConfigMap update performance... [2025-12-28 21:12:48] ConfigMap update time: 1047ms ⚠️ Performance may be slow (read: 1057ms, update: 1047ms) ======================================== Step 10: Test Summary ======================================== ✅ All verification steps completed successfully! [2025-12-28 21:12:48] [2025-12-28 21:12:48] Summary: [2025-12-28 21:12:48] - Cluster: Kubernetes control plane is running at https://api.weinliu-5684.qe.devcluster.openshift.com:6443 [2025-12-28 21:12:48] - Platform: AWS [2025-12-28 21:12:48] - OpenShift version: 4.19.0-0.nightly-2025-12-25-152228 [2025-12-28 21:12:48] - WMCO status: True [2025-12-28 21:12:48] - Phase 1 (Basic tests): PASSED [2025-12-28 21:12:48] - Phase 2-3 (Edge cases): PASSED [2025-12-28 21:12:48] - Phase 4 (Code quality): VERIFIED [2025-12-28 21:12:48] - Performance: Read 1057ms, Update 1047ms [2025-12-28 21:12:48] [2025-12-28 21:12:48] Full log saved to: /tmp/winc-1512-verification/verification-20251228-211120.log ✅ Summary saved to: /tmp/winc-1512-verification/summary-20251228-211120.txt ======================================== Cleanup ======================================== [2025-12-28 21:12:48] Test verification complete. ConfigMap will be preserved for Task 2 testing. ======================================== Verification Complete! ======================================== ✅ Task 1 verification successful! [2025-12-28 21:12:48] [2025-12-28 21:12:48] Next steps: [2025-12-28 21:12:48] 1. Review logs: /tmp/winc-1512-verification/verification-20251228-211120.log [2025-12-28 21:12:48] 2. Attach logs to JIRA WINC-1512 [2025-12-28 21:12:48] 3. Proceed with Task 2 integration