@@ -1248,146 +1248,6 @@ jobs:
12481248 echo "[INFO] Show patched ModulePullOverride:"
12491249 kubectl get mpo virtualization -o yaml
12501250
1251- - name : Wait for Virtualization to be ready after upgrade
1252- run : |
1253- d8_queue_list() {
1254- d8 s queue list | grep -Po '([0-9]+)(?= active)' || echo "Failed to retrieve list queue"
1255- }
1256-
1257- debug_output() {
1258- local NODES
1259-
1260- echo "[ERROR] Virtualization module upgrade failed"
1261- echo "[DEBUG] Show describe virtualization module"
1262- echo "::group::describe virtualization module"
1263- kubectl describe modules virtualization || true
1264- echo "::endgroup::"
1265- echo "[DEBUG] Show namespace d8-virtualization"
1266- kubectl get ns d8-virtualization || true
1267- echo "[DEBUG] Show pods in namespace d8-virtualization"
1268- kubectl -n d8-virtualization get pods || true
1269- echo "[DEBUG] Show pvc in namespace d8-virtualization"
1270- kubectl get pvc -n d8-virtualization || true
1271- echo "[DEBUG] Show cluster StorageClasses"
1272- kubectl get storageclasses || true
1273- echo "[DEBUG] Show cluster nodes"
1274- kubectl get node
1275- echo "[DEBUG] Show queue (first 25 lines)"
1276- d8 s queue list | head -n 25 || echo "[WARNING] Failed to retrieve list queue"
1277- echo "[DEBUG] Show deckhouse logs"
1278- echo "::group::deckhouse logs"
1279- d8 s logs | tail -n 100
1280- echo "::endgroup::"
1281- }
1282-
1283- d8_queue() {
1284- local count=90
1285- local queue_count
1286-
1287- for i in $(seq 1 $count) ; do
1288- queue_count=$(d8_queue_list)
1289- if [ -n "$queue_count" ] && [ "$queue_count" = "0" ]; then
1290- echo "[SUCCESS] Queue is clear"
1291- return 0
1292- fi
1293-
1294- echo "[INFO] Wait until queues are empty ${i}/${count}"
1295- if (( i % 5 == 0 )); then
1296- echo "[INFO] Show queue list"
1297- d8 s queue list | head -n25 || echo "[WARNING] Failed to retrieve list queue"
1298- echo " "
1299- fi
1300-
1301- if (( i % 10 == 0 )); then
1302- echo "[INFO] deckhouse logs"
1303- echo "::group::deckhouse logs"
1304- d8 s logs | tail -n 100
1305- echo "::endgroup::"
1306- echo " "
1307- fi
1308- sleep 10
1309- done
1310- }
1311-
1312- virtualization_ready() {
1313- local count=90
1314- local virtualization_status
1315-
1316- for i in $(seq 1 $count) ; do
1317- virtualization_status=$(kubectl get modules virtualization -o jsonpath='{.status.phase}')
1318- if [ "$virtualization_status" == "Ready" ]; then
1319- echo "[SUCCESS] Virtualization module is ready after upgrade to ${{ env.NEW_RELEASE }}"
1320- kubectl get modules virtualization
1321- kubectl -n d8-virtualization get pods
1322- kubectl get vmclass || echo "[WARNING] no vmclasses found"
1323- return 0
1324- fi
1325-
1326- echo "[INFO] Waiting 10s for Virtualization module to be ready (attempt $i/$count)"
1327-
1328- if (( i % 5 == 0 )); then
1329- echo " "
1330- echo "[DEBUG] Show additional info"
1331- kubectl get ns d8-virtualization || echo "[WARNING] Namespace virtualization is not ready"
1332- echo " "
1333- kubectl -n d8-virtualization get pods || echo "[WARNING] Pods in namespace virtualization is not ready"
1334- kubectl get pvc -n d8-virtualization || echo "[WARNING] PVC in namespace virtualization is not ready"
1335- echo " "
1336- fi
1337- sleep 10
1338- done
1339-
1340- debug_output
1341- exit 1
1342- }
1343-
1344- virt_handler_ready() {
1345- local count=180
1346- local virt_handler_ready
1347- local workers
1348- local time_wait=10
1349-
1350- workers=$(kubectl get nodes -o name | grep worker | wc -l || true)
1351- workers=$((workers))
1352-
1353- for i in $(seq 1 $count); do
1354- virt_handler_ready=$(kubectl -n d8-virtualization get pods | grep "virt-handler.*Running" | wc -l || true)
1355-
1356- if [[ $virt_handler_ready -ge $workers ]]; then
1357- echo "[SUCCESS] virt-handlers pods are ready"
1358- return 0
1359- fi
1360-
1361- echo "[INFO] virt-handler pods $virt_handler_ready/$workers "
1362- echo "[INFO] Wait ${time_wait}s virt-handler pods are ready (attempt $i/$count)"
1363- if (( i % 5 == 0 )); then
1364- echo "[DEBUG] Show pods in namespace d8-virtualization"
1365- echo "::group::virtualization pods"
1366- kubectl -n d8-virtualization get pods || echo "No pods in virtualization namespace found"
1367- echo "::endgroup::"
1368- echo "[DEBUG] Show cluster nodes"
1369- echo "::group::cluster nodes"
1370- kubectl get node
1371- echo "::endgroup::"
1372- fi
1373- sleep ${time_wait}
1374- done
1375-
1376- debug_output
1377- exit 1
1378- }
1379-
1380- echo " "
1381- echo "[INFO] Waiting for Virtualization module to be ready after upgrade to ${{ env.NEW_RELEASE }}"
1382- d8_queue
1383-
1384- virtualization_ready
1385-
1386- echo "[INFO] Checking Virtualization module deployments"
1387- kubectl -n d8-virtualization wait --for=condition=Available deploy --all --timeout 900s
1388- echo "[INFO] Checking virt-handler pods"
1389- virt_handler_ready
1390-
13911251 - name : Setup crane and registry auth
13921252 uses : deckhouse/modules-actions/setup@v2
13931253 with :
@@ -1397,8 +1257,8 @@ jobs:
13971257
13981258 - name : Verify image digests in pods after upgrade
13991259 run : |
1400- MODULE_IMAGE="${{ vars.DEV_REGISTRY }}/${{ vars. DEV_MODULE_SOURCE }}/virtualization:${{ env.NEW_RELEASE }}"
1401- echo "[INFO] Extracting images_digests.json from ${MODULE_IMAGE }"
1260+ MODULE_IMAGE="${{ vars.DEV_MODULE_SOURCE }}/virtualization:${{ env.NEW_RELEASE }}"
1261+ echo "[INFO] Extracting images_digests.json from virtualization:${{ env.NEW_RELEASE } }"
14021262 images_hash=$(crane export "${MODULE_IMAGE}" - | tar -Oxf - images_digests.json)
14031263 echo "[INFO] Expected image digests:"
14041264 echo "::group::images_digests.json"
0 commit comments