Files
quickcart/scripts/deploy-bad-release.sh
AIOps Lab 6097003147
All checks were successful
Build and Deploy QuickCart / build-and-deploy (push) Successful in 39s
Initial workshop snapshot
2026-06-10 09:34:38 +00:00

34 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Deploy a "bad release" of payment-service that introduces a 70% failure rate.
# Usage: ./scripts/deploy-bad-release.sh [FAILURE_RATE]
#
# This simulates a faulty deployment that Dynatrace should detect.
# Changes the failure rate instantly via API — no pod restarts.
set -euo pipefail
FAILURE_RATE="${1:-0.7}"
NAMESPACE="workshop"
export KUBECONFIG="${KUBECONFIG:-/etc/rancher/k3s/k3s.yaml}"
echo "=== Deploying bad release ==="
echo " Failure rate: ${FAILURE_RATE} (${FAILURE_RATE}00% of requests will fail)"
echo ""
PODS=$(kubectl get pods -n "${NAMESPACE}" -l app=payment-service -o jsonpath='{.items[*].status.podIP}')
for IP in $PODS; do
echo ">>> Setting failure rate on pod ${IP}..."
wget -q -O- --post-data="{\"rate\":${FAILURE_RATE}}" --header='Content-Type: application/json' "http://${IP}:3002/admin/failure-rate"
echo ""
done
echo ""
echo "=== Bad release deployed! ==="
echo " payment-service is now failing ~${FAILURE_RATE}00% of requests"
echo " Errors will cascade to order-service and frontend"
echo ""
echo " To rollback: ./scripts/rollback.sh"
echo " Check logs: kubectl logs -n workshop -l app=payment-service --tail=20"