Initial commit — OpenClaw VM infrastructure
- ansible/: VM provisioning playbooks and roles - provision-vm.yml: create KVM VM from Ubuntu cloud image - install.yml: install OpenClaw on guest (upstream) - customize.yml: swappiness, virtiofs fstab, linger - roles/vm/: libvirt domain XML, cloud-init templates - inventory.yml + host_vars/zap.yml: zap instance config - backup-openclaw-vm.sh: daily rsync + MinIO upload - restore-openclaw-vm.sh: full redeploy from scratch - README.md: full operational documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
30
ansible/tests/entrypoint.sh
Executable file
30
ansible/tests/entrypoint.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PLAYBOOK_ARGS=(-e ci_test=true -e ansible_become=false --connection=local)
|
||||
|
||||
# --- Step 1: Convergence ---
|
||||
echo "===> Step 1: Convergence test"
|
||||
ansible-playbook playbook.yml "${PLAYBOOK_ARGS[@]}"
|
||||
echo "===> Convergence: PASSED"
|
||||
|
||||
# --- Step 2: Verification ---
|
||||
echo "===> Step 2: Verification"
|
||||
ansible-playbook tests/verify.yml "${PLAYBOOK_ARGS[@]}"
|
||||
echo "===> Verification: PASSED"
|
||||
|
||||
# --- Step 3: Idempotency ---
|
||||
echo "===> Step 3: Idempotency test"
|
||||
IDEMPOTENCY_OUT=$(ansible-playbook playbook.yml "${PLAYBOOK_ARGS[@]}" 2>&1)
|
||||
echo "$IDEMPOTENCY_OUT"
|
||||
|
||||
CHANGED=$(echo "$IDEMPOTENCY_OUT" | tail -n 5 | grep -oP 'changed=\K[0-9]+' | head -1)
|
||||
if [ "${CHANGED:-1}" -eq 0 ]; then
|
||||
echo "===> Idempotency: PASSED (0 changed)"
|
||||
else
|
||||
echo "===> Idempotency: FAILED (changed=$CHANGED)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "===> All tests passed"
|
||||
Reference in New Issue
Block a user