Skip to content

Commit 7d48a4b

Browse files
test: add cpu-32 runner diagnostic workflow
This workflow tests the cpu-32-hk runner by: - Checking buildctl installation timing - Verifying Vault certificate injection - Testing buildkitd connectivity - Providing 5 minutes of sleep for manual pod inspection Triggers on PR events (opened, synchronize, reopened) or push to test-cpu-32* branches.
1 parent 1930088 commit 7d48a4b

1 file changed

Lines changed: 142 additions & 0 deletions

File tree

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
#
2+
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
# This file is a part of the vllm-ascend project.
16+
#
17+
18+
name: Test CPU-32 Runner
19+
20+
on:
21+
pull_request:
22+
types:
23+
- opened
24+
- synchronize
25+
- reopened
26+
push:
27+
branches:
28+
- 'test-cpu-32*'
29+
30+
defaults:
31+
run:
32+
shell: bash -el {0}
33+
34+
jobs:
35+
test-cpu-32:
36+
runs-on: linux-amd64-cpu-32-hk
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@v7
40+
41+
- name: Print environment info
42+
run: |
43+
echo "=== System Information ==="
44+
uname -a
45+
echo ""
46+
echo "=== CPU Information ==="
47+
nproc
48+
lscpu | head -20
49+
echo ""
50+
echo "=== Memory Information ==="
51+
free -h
52+
echo ""
53+
echo "=== User and Groups ==="
54+
whoami
55+
id
56+
echo ""
57+
echo "=== Available tools ==="
58+
which buildctl || echo "buildctl not found"
59+
buildctl --version 2>/dev/null || echo "buildctl not available"
60+
echo ""
61+
echo "=== Environment Variables ==="
62+
env | grep -E "BUILDKIT|DOCKER_CONFIG" || echo "No BUILDKIT/DOCKER_CONFIG env vars"
63+
64+
- name: Check buildctl availability
65+
run: |
66+
echo "=== Checking buildctl at job start ==="
67+
which buildctl && echo "✅ buildctl found" || echo "❌ buildctl NOT found"
68+
buildctl --version 2>/dev/null || echo "buildctl --version failed"
69+
70+
# Wait for buildctl if not available
71+
if ! command -v buildctl &> /dev/null; then
72+
echo "buildctl not found at start, waiting..."
73+
for i in {1..60}; do
74+
if command -v buildctl &> /dev/null; then
75+
echo "✅ buildctl appeared after $i seconds"
76+
break
77+
fi
78+
[ $((i % 10)) -eq 0 ] && echo "Waiting... ($i/60 sec)"
79+
sleep 1
80+
done
81+
fi
82+
83+
# Verify buildctl is now available
84+
if command -v buildctl &> /dev/null; then
85+
echo "✅ buildctl is available"
86+
buildctl --version
87+
else
88+
echo "❌ buildctl still not available after 60 seconds"
89+
echo "This indicates a problem with the pod template or Vault injection"
90+
exit 1
91+
fi
92+
93+
- name: Test buildkitd connection
94+
run: |
95+
echo "=== Testing buildkitd connection ==="
96+
echo "BUILDKITD_ADDR: ${BUILDKITD_ADDR:-not set}"
97+
echo "DOCKER_CONFIG: ${DOCKER_CONFIG:-not set}"
98+
99+
if [ -n "$BUILDKITD_ADDR" ]; then
100+
echo "Attempting to connect to buildkitd..."
101+
buildctl du 2>&1 || echo "buildctl du command failed (may need certificates)"
102+
else
103+
echo "BUILDKITD_ADDR not set"
104+
fi
105+
106+
- name: List available certificates
107+
run: |
108+
echo "=== Looking for certificates ==="
109+
if [ -d "$HOME/.docker" ]; then
110+
echo "Files in $HOME/.docker:"
111+
ls -la "$HOME/.docker/"
112+
echo ""
113+
echo "File contents (first 100 chars):"
114+
for f in "$HOME/.docker"/*; do
115+
if [ -f "$f" ]; then
116+
echo "--- $(basename $f) ---"
117+
head -c 100 "$f"
118+
echo ""
119+
fi
120+
done
121+
else
122+
echo "$HOME/.docker does not exist"
123+
fi
124+
125+
- name: Keep pod running for debugging
126+
run: |
127+
echo "=== Pod will sleep for 5 minutes for debugging ==="
128+
echo "You can now:"
129+
echo " kubectl exec -it <pod-name> -n vllm-project -c runner -- bash"
130+
echo "To check:"
131+
echo " - which buildctl"
132+
echo " - ls -la ~/.docker/"
133+
echo " - env | grep BUILDKIT"
134+
echo ""
135+
sleep 300
136+
echo "=== Debug time complete ==="
137+
138+
- name: Final verification
139+
run: |
140+
echo "=== Final Verification ==="
141+
buildctl --version
142+
echo "✅ Test completed successfully!"

0 commit comments

Comments
 (0)