37 lines
1.9 KiB
Bash
Executable File
37 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
# Only this release. Default reversible quiesce; --remove-new-objects is permanent.
|
|
set -eu
|
|
BASE=/home/www/qwen-vllm/dify-integration-20261009
|
|
ID=7c3ca77d77cac063d6b98310e59d2a73b896a0f5171ba002d41eccab1c067a59
|
|
MODE=${1:---quiesce}
|
|
case "$MODE" in --quiesce|--restore|--remove-new-objects) ;; *) echo 'usage: ROLLBACK.sh [--quiesce|--restore|--remove-new-objects]' >&2; exit 2;; esac
|
|
python3 - "$BASE" <<'PY'
|
|
import json,pathlib,sys
|
|
r=json.loads((pathlib.Path(sys.argv[1])/'resources.private.json').read_text())
|
|
expected={'app_id':'ea0d7293-3d89-425d-a236-015fac7e2470','key_id':'ecfb7628-1369-41fa-b132-d24074af8470','asr_model_id':'e55a7374-a43e-4b86-9323-005a2a72458b','asr_credential_id':'01a11f7e-a148-7b9c-82c7-ffc1425b40ee','asr_default_id':'56ca4093-61fa-446b-ad77-b10deb9daaa4'}
|
|
assert all(r.get(k)==v for k,v in expected.items()),'RESOURCE_IDENTITY_MISMATCH'
|
|
print('EXACT_NEW_RESOURCES_VERIFIED')
|
|
PY
|
|
ACTUAL=$(docker inspect --format '{{.Id}}' followup-asr-bridge-20261009)
|
|
[ "$ACTUAL" = "$ID" ] || { echo 'BRIDGE_IDENTITY_MISMATCH' >&2; exit 3; }
|
|
[ "$(docker inspect --format '{{index .Config.Labels "com.zyt.release"}}' "$ID")" = followup-dify-20261009 ] || exit 4
|
|
if [ "$MODE" = --restore ]; then
|
|
docker start "$ID"
|
|
for n in 1 2 3 4 5 6 7 8 9 10; do
|
|
if docker exec "$ID" python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/health',timeout=4).read()"; then break; fi
|
|
sleep 1
|
|
done
|
|
docker exec "$ID" python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/health',timeout=4).read()"
|
|
python3 "$BASE/host_operator.py" enable
|
|
echo RESTORED_NEW_ASR_APP_AND_BRIDGE
|
|
elif [ "$MODE" = --quiesce ]; then
|
|
python3 "$BASE/host_operator.py" disable
|
|
docker stop --time 10 "$ID"
|
|
echo NEW_ASR_APP_AND_BRIDGE_QUIESCED
|
|
else
|
|
python3 "$BASE/host_operator.py" remove
|
|
docker stop --time 10 "$ID"
|
|
docker rm "$ID"
|
|
echo NEW_APP_MODEL_DEFAULT_BRIDGE_REMOVED_SHARED_RESOURCES_PRESERVED
|
|
fi
|