forked from wangbo/easyai
182 lines
6.3 KiB
JSON
182 lines
6.3 KiB
JSON
{
|
|
"status": "released",
|
|
"productVersion": "3.22.0.20261002.2",
|
|
"source": {
|
|
"backend": "e3f12240c4a186a55ed2bc9a5afcb71902004a55",
|
|
"backendBaseline": "179d4dae8c9400a773f7f9d92a397039c39ef572",
|
|
"web": "56e51ea55dcc281ade91bd0e6438c5fc6a617c25",
|
|
"webBaseline": "340c47f820a039d409ffcc4f464829acc973a171"
|
|
},
|
|
"images": {
|
|
"server-main": "sha256:6825def1b7bf252eee477b34d3ddc0317e691f0787ea3f300793c4d272a3b491",
|
|
"watchtower": "sha256:6afd62a208687bb4840b3b8131e1461dee7033989e14e28b6d69082839eaf410",
|
|
"updater": "sha256:bbaddb598618ceaaf6696f6c5fe19daf564d983039b70d36a4196cc4aaca385a",
|
|
"web": "sha256:a287db622d13a706725520d3a9864f986b8854630d198fce3373a8e7f1cfe3b0",
|
|
"ws-gateway": "sha256:a2b5fb67384c7f0eca7c7a768b5deacb4c0d2195dfbeb6e16ef40d6dc097bf25"
|
|
},
|
|
"watchtowerVersion": "1.22.3",
|
|
"acceptance": {
|
|
"oldWatchtower": {
|
|
"status": "passed",
|
|
"beforeVersion": "3.22.0.20261002.1",
|
|
"afterVersion": "3.22.0.20261002.2",
|
|
"uiElapsedSeconds": 61,
|
|
"details": [
|
|
"old backend jobApi=false",
|
|
"real browser confirmation",
|
|
"elapsed32s and restart message screenshot",
|
|
"refresh resumes original update",
|
|
"core images and health verified"
|
|
],
|
|
"evidenceDirectory": "online-update-progress-20261002/acceptance"
|
|
},
|
|
"newWatchtower": {
|
|
"status": "passed",
|
|
"beforeVersion": "3.22.0.20261002.1",
|
|
"afterVersion": "3.22.0.20261002.2",
|
|
"uiElapsedSeconds": 43,
|
|
"jobId": "wt-91612f117537604c18fc41bf214d06a8b0aeaa4956b2c42aad738d657c5f369a",
|
|
"details": [
|
|
"POST async update accepted and scan started",
|
|
"SSE endpoint observed through public browser",
|
|
"Mongo job stages persisted",
|
|
"history confirms completion after main restart",
|
|
"refresh resumes original task",
|
|
"core images and health verified"
|
|
],
|
|
"evidenceDirectory": "online-update-progress-20261002/acceptance"
|
|
},
|
|
"managedUpdater": {
|
|
"status": "passed",
|
|
"beforeVersion": "3.22.0.20261002.1",
|
|
"afterVersion": "3.22.0.20261002.2",
|
|
"uiElapsedSeconds": 53,
|
|
"jobId": "154b6781-dd24-434d-94a5-4bf59122c0bb",
|
|
"failureRecoveryJobId": "d0f02915-1cbe-4063-94c6-e9d749aaf2d7",
|
|
"failureRecoveryUiElapsedSeconds": 154,
|
|
"details": [
|
|
"all six stages persisted with timestamps",
|
|
"real browser confirmation and refresh recovery",
|
|
"main service restart queries recover",
|
|
"updater restart during intentional HTTP503 health failure resumes same task",
|
|
"failed candidate rolled back to A image ids and A version",
|
|
"new job then updates real formal B digests and healthy services"
|
|
],
|
|
"evidenceDirectory": "online-update-progress-20261002/acceptance",
|
|
"failureFixtureDigest": "sha256:deddc80bee5a4123dc62d1598a34660ad4f54b8f50f3968fbf4b1844b058e11f"
|
|
}
|
|
},
|
|
"production": {
|
|
"host": "101.200.186.210",
|
|
"mode": "legacy_watchtower",
|
|
"status": "passed",
|
|
"beforeVersion": "3.22.0.20260930.3",
|
|
"afterVersion": "3.22.0.20261002.2",
|
|
"backupPath": "/home/admin/easyai/data/deployment-backups/online-update-progress-20261002",
|
|
"iceConfigUnchangedSha256": "1427d181c5d405278e7b9b099379679a91d408108b6737c6cff2ed978f88acc1",
|
|
"health": {
|
|
"main": "ok",
|
|
"web": "ok",
|
|
"gateway": "ok",
|
|
"watchtower": "ok",
|
|
"coreRestarts": 0
|
|
},
|
|
"interfaces": {
|
|
"eventsWithUpdateToken": 401,
|
|
"eventsWithIndependentToken": 200,
|
|
"history": 200,
|
|
"statusBeforeFirstScan": 204,
|
|
"livez": 200,
|
|
"readyz": 200,
|
|
"startupz": 200,
|
|
"hostPortPublished": false
|
|
},
|
|
"publicLoginPage": "passed",
|
|
"updaterInstalled": false
|
|
},
|
|
"testBackup": "/root/easyai/update-backups/online-update-progress-20261002",
|
|
"validation": [
|
|
{
|
|
"check": "frontend real mounted components and full 30s HTTP regression",
|
|
"passed": true,
|
|
"durationSeconds": 49.42
|
|
},
|
|
{
|
|
"check": "MongoDB 4.4 and real HTTP/SSE task integration plus existing backend tests",
|
|
"passed": true,
|
|
"durationSeconds": 2.21
|
|
},
|
|
{
|
|
"check": "backend production compile",
|
|
"passed": true,
|
|
"durationSeconds": 21.02
|
|
},
|
|
{
|
|
"check": "frontend production build",
|
|
"passed": true,
|
|
"durationSeconds": 441.82
|
|
},
|
|
{
|
|
"check": "Bash and PowerShell security initialization and migration",
|
|
"passed": true
|
|
},
|
|
{
|
|
"check": "bash scripts/test-security-env.sh",
|
|
"exitCode": 0,
|
|
"durationSeconds": 0.54
|
|
},
|
|
{
|
|
"check": "bash scripts/test-update-env-migrations.sh",
|
|
"exitCode": 0,
|
|
"durationSeconds": 0.41
|
|
},
|
|
{
|
|
"check": "bash scripts/test-deployment-public-url.sh",
|
|
"exitCode": 0,
|
|
"durationSeconds": 2.03
|
|
},
|
|
{
|
|
"check": "pwsh -NoProfile -File scripts/Test-SecurityEnv.ps1",
|
|
"exitCode": 0,
|
|
"durationSeconds": 0.57
|
|
},
|
|
{
|
|
"check": "python3 scripts/test-start-ps1-env.py",
|
|
"exitCode": 0,
|
|
"durationSeconds": 0.02
|
|
},
|
|
{
|
|
"check": "updater 8 behavior tests",
|
|
"passed": true,
|
|
"durationSeconds": 0.9
|
|
},
|
|
{
|
|
"check": "updater production build",
|
|
"passed": true,
|
|
"durationSeconds": 1.28
|
|
}
|
|
],
|
|
"rollback": "Restore recorded immutable core image digests and Compose backup, preserve business volumes and data/update-state; synchronize Watchtower token configuration before restoring its image. Do not re-submit unresolved update jobs.",
|
|
"latestPromotion": {
|
|
"status": "passed",
|
|
"allDigestsMatchCandidate": true
|
|
},
|
|
"testRestore": {
|
|
"status": "passed",
|
|
"configFilesUnchanged": true,
|
|
"version": "3.22.0.20260930.3",
|
|
"businessVolumesAndUpdateStatePreserved": true
|
|
},
|
|
"runtimeBase": {
|
|
"server-main": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server@sha256:8493e5a4c82f6564d86925f4ab37061f6e6e3d9a6bb88db5fe5d25d3a7b7835b",
|
|
"dependenciesMatchFormalBaseline": true
|
|
},
|
|
"versionCatalog": {
|
|
"defaultAddress": "https://openapi.51easyai.com",
|
|
"observedVersion": "3.22.0.20260930.3",
|
|
"status": "awaiting_user_scope_confirmation",
|
|
"reason": "Version service is on a different production host from the explicitly requested 101.200.186.210"
|
|
},
|
|
"releasedAt": "2026-10-02T19:45:00+08:00"
|
|
}
|