Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/actions/test/integration/collect-logs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,44 @@ runs:
scp $SSH_OPTS $USER@$HV2_IP:/var/log/QEMU.log "serial-VM-QEMU-HV2.log" || true
scp $SSH_OPTS $USER@$HV2_IP:/var/log/CHV.log "serial-VM-CHV-HV2.log" || true
- name: Obtain network diagnostics from hypervisors
shell: bash
run: |
KEY=/opt/ssh_host_ed25519_key
SSH_OPTS="-i $KEY -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
USER="root"
for HV_NAME in HV1 HV2; do
IP="192.168.122.$([[ $HV_NAME == HV1 ]] && echo 2 || echo 3)"
ssh $SSH_OPTS $USER@$IP "
echo '=== ip addr ==='
ip addr
echo '=== ip route ==='
ip route
echo '=== bridge link ==='
bridge link 2>/dev/null || true
echo '=== arp -n ==='
arp -n 2>/dev/null || ip neigh || true
echo '=== iptables -L -n ==='
iptables -L -n 2>/dev/null || true
echo '=== iptables -t nat -L -n ==='
iptables -t nat -L -n 2>/dev/null || true
echo '=== virsh net-list ==='
virsh net-list --all 2>/dev/null || true
echo '=== virsh net-dumpxml default ==='
virsh net-dumpxml default 2>/dev/null || true
echo '=== dnsmasq leases ==='
cat /var/lib/libvirt/dnsmasq/*.leases 2>/dev/null || true
echo '=== systemctl status systemd-networkd ==='
systemctl status systemd-networkd --no-pager 2>/dev/null || true
echo '=== networkctl status ==='
networkctl status --no-pager 2>/dev/null || true
echo '=== ssh -V ==='
ssh -V 2>&1 || true
" > "network-diag-${HV_NAME}.log" 2>&1 || true
done
- name: Set permissions
shell: bash
run: |
Expand Down
31 changes: 29 additions & 2 deletions .github/actions/test/integration/test/cloudhypervisor/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,33 @@ runs:
IP=\$(virsh -c ch:///session domifaddr VM-CHV | awk '/ipv4/ {print \$4}' | cut -d'/' -f1)
if [ -z "\$IP" ]; then
echo "No IP address found for VM. Retrying..."
elif ssh \$SSH_OPTS "\$USER@\$IP" 'exit' ; then
elif (( i >= MAX_ITER - 2 )); then
# Show SSH errors on last 3 attempts for debugging
if ssh \$SSH_OPTS "\$USER@\$IP" 'exit'; then
echo "VM is up at IP: \$IP"
ssh \$SSH_OPTS "\$USER@\$IP" 'echo "Hello, World!" > /opt/hello.txt'
break
fi
elif ssh \$SSH_OPTS "\$USER@\$IP" 'exit' 2>/dev/null; then
echo "VM is up at IP: \$IP"
# create a dummy file for verification later
ssh \$SSH_OPTS "\$USER@\$IP" 'echo "Hello, World!" > /opt/hello.txt'
break
fi
if (( i == MAX_ITER )); then
echo "Timeout waiting for VM to respond to SSH."
echo "=== DIAGNOSTICS ==="
echo "--- virsh -c ch:///session domifaddr VM-CHV ---"
virsh -c ch:///session domifaddr VM-CHV || true
echo "--- ip addr show virbr0 ---"
ip addr show virbr0 || true
echo "--- ip route ---"
ip route || true
echo "--- arp -n ---"
arp -n 2>/dev/null || ip neigh || true
echo "--- ssh -v attempt ---"
ssh -v \$SSH_OPTS "\$USER@\$IP" 'exit' 2>&1 || true
echo "=== END DIAGNOSTICS ==="
exit 1
fi
echo "Waiting for VM to respond to SSH... (\$i/\$MAX_ITER)"
Expand Down Expand Up @@ -111,7 +130,7 @@ runs:

MAX_ITER=15
for ((i=1; i<=MAX_ITER; i++)); do
if ssh \$SSH_OPTS "\$USER@\$IP" 'exit' ; then
if ssh \$SSH_OPTS "\$USER@\$IP" 'exit' 2>/dev/null; then
echo "VM is up at IP: \$IP"
# verify the migration by checking the dummy file
if ssh \$SSH_OPTS "\$USER@\$IP" 'test -f /opt/hello.txt'; then
Expand All @@ -124,6 +143,14 @@ runs:
fi
if (( i == MAX_ITER )); then
echo "Timeout waiting for VM to respond to SSH."
echo "=== DIAGNOSTICS ==="
echo "--- ip addr show virbr0 ---"
ip addr show virbr0 || true
echo "--- ip route ---"
ip route || true
echo "--- ssh -v attempt ---"
ssh -v \$SSH_OPTS "\$USER@\$IP" 'exit' 2>&1 || true
echo "=== END DIAGNOSTICS ==="
exit 1
fi
echo "Waiting for VM to respond to SSH... (\$i/\$MAX_ITER)"
Expand Down
27 changes: 27 additions & 0 deletions .github/actions/test/integration/test/qemu/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ runs:
IP=\$(virsh domifaddr VM-QEMU | awk '/ipv4/ {print \$4}' | cut -d'/' -f1)
if [ -z "\$IP" ]; then
echo "No IP address found for VM. Retrying..."
elif (( i >= MAX_ITER - 2 )); then
# Show SSH errors on last 3 attempts for debugging
if ssh \$SSH_OPTS "\$USER@\$IP" 'exit'; then
echo "VM is up at IP: \$IP"
ssh \$SSH_OPTS "\$USER@\$IP" 'echo "Hello, World!" > /opt/hello.txt'
break
fi
elif ssh \$SSH_OPTS "\$USER@\$IP" 'exit' 2>/dev/null; then
echo "VM is up at IP: \$IP"
# create a dummy file for verification later
Expand All @@ -58,6 +65,18 @@ runs:
fi
if (( i == MAX_ITER )); then
echo "Timeout waiting for VM to respond to SSH."
echo "=== DIAGNOSTICS ==="
echo "--- virsh domifaddr VM-QEMU ---"
virsh domifaddr VM-QEMU || true
echo "--- ip addr show virbr0 ---"
ip addr show virbr0 || true
echo "--- ip route ---"
ip route || true
echo "--- arp -n ---"
arp -n 2>/dev/null || ip neigh || true
echo "--- ssh -v attempt ---"
ssh -v \$SSH_OPTS "\$USER@\$IP" 'exit' 2>&1 || true
echo "=== END DIAGNOSTICS ==="
exit 1
fi
echo "Waiting for VM to respond to SSH... (\$i/\$MAX_ITER)"
Expand Down Expand Up @@ -122,6 +141,14 @@ runs:
fi
if (( i == MAX_ITER )); then
echo "Timeout waiting for VM to respond to SSH."
echo "=== DIAGNOSTICS ==="
echo "--- ip addr show virbr0 ---"
ip addr show virbr0 || true
echo "--- ip route ---"
ip route || true
echo "--- ssh -v attempt ---"
ssh -v \$SSH_OPTS "\$USER@\$IP" 'exit' 2>&1 || true
echo "=== END DIAGNOSTICS ==="
exit 1
fi
echo "Waiting for VM to respond to SSH... (\$i/\$MAX_ITER)"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
build:
needs: [set_version]
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
uses: gardenlinux/gardenlinux/.github/workflows/build.yml@7b7c0db856bfe4b7e976215c03d87652c277bf0e
uses: gardenlinux/gardenlinux/.github/workflows/build.yml@5e66e8da34e90e9c257662f4a80142ebe11ca346
with:
version: ${{ needs.set_version.outputs.VERSION }}
# to set target to "release" or "nightly" we need proper KMS secrets
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
submodules: recursive
build:
needs: [checkout]
uses: gardenlinux/gardenlinux/.github/workflows/build.yml@7b7c0db856bfe4b7e976215c03d87652c277bf0e
uses: gardenlinux/gardenlinux/.github/workflows/build.yml@5e66e8da34e90e9c257662f4a80142ebe11ca346
with:
version: ${{ inputs.version || 'now' }}
# to set target to "release" or "nightly" we need proper KMS secrets
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
name: Run glcli to publish to OCI
needs: [build]
# use custom upload_oci.yml as we do not sign the images
# uses: gardenlinux/gardenlinux/.github/workflows/upload_oci.yml@7b7c0db856bfe4b7e976215c03d87652c277bf0e
# uses: gardenlinux/gardenlinux/.github/workflows/upload_oci.yml@5e66e8da34e90e9c257662f4a80142ebe11ca346
uses: ./.github/workflows/upload_oci.yml
with:
version: ${{ needs.build.outputs.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/upload_oci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
jobs:
generate_matrix_publish:
name: Generate flavors matrix to publish
uses: gardenlinux/gardenlinux/.github/workflows/build_flavors_matrix.yml@7b7c0db856bfe4b7e976215c03d87652c277bf0e
uses: gardenlinux/gardenlinux/.github/workflows/build_flavors_matrix.yml@5e66e8da34e90e9c257662f4a80142ebe11ca346
with:
flags: '${{ inputs.flavor_filter }} --no-arch --json-by-arch --build --test'
upload_gl_artifacts:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2150.6.0
2150.7.0
1 change: 1 addition & 0 deletions features/_scicommon/pkg.include
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
gnupg
openssh-client
2 changes: 1 addition & 1 deletion gardenlinux
Loading