From 4d6d0a85468c4bd094a7c9bcd49f16498226ce0e Mon Sep 17 00:00:00 2001 From: hectorzhao Date: Sun, 28 Jun 2026 22:36:00 +0800 Subject: [PATCH] record s44 deployment status --- IMPLEMENTATION_STATUS.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/IMPLEMENTATION_STATUS.md b/IMPLEMENTATION_STATUS.md index bfbb9dd..57eec51 100644 --- a/IMPLEMENTATION_STATUS.md +++ b/IMPLEMENTATION_STATUS.md @@ -5,10 +5,10 @@ ## 当前状态 - 当前任务:需求修改/二期变更:客户网关匹配口径固化与 release artifact 脚本 -- 本次变更摘要:已按“业务前缀优先于主叫前缀,精确规则优先于空业务前缀兜底”更新设计文档、Runbook、客户网关编辑页提示、后端客户网关匹配唯一性校验、A 侧 Lua 热路径仓库脚本,并新增 `scripts/build-release-artifact.mjs` 固化 release artifact 生成规范。 -- 总体状态:S30 已完成;本地 KVM 开发环境 V2 闭环原冻结 release 为 `s28-v2-20260621220924`;B 二期冻结基线为 `s42-phase2-business-prefix-20260624140000`,当前已切换到 Bug 修复 release `s43-bugfix-cdr-quality-rbac-20260624184854`;切换前已生成并校验 MySQL/Redis 备份 `/data/backups/mysql/20260624T104812Z` 与 `/data/backups/redis/20260624T104812Z`;B preflight 通过,API ready 返回 ok,HTTPS 首页加载新前端资产;A 仍加载业务前缀 Lua SHA `0b7ee595cdcad2f38a670dd8ff3553387820039e`,OpenSIPS 配置 SHA-256 仍为 `ae1544e9a39d2db114e6981babac042c2ab6d399d59ba597a52b85d597aa5aa5`;T 未变更;当前仍未导入真实 80 万手机号段;阿里云迁移前需按 S30 Runbook 重新演练 -- 最后更新:2026-06-28 22:09 +08:00 -- 当前阻塞:无阻塞。遗留问题:本次未连接 A/B/T、未部署到服务器、未执行数据库 schema 或服务变更;A 侧 Lua 仅更新仓库文件,发布前需备份 A OpenSIPS/Lua、执行 `opensips -C -f` 并做 A/B/T 实呼验收;本地 Windows 未安装 Lua/luac,Lua 语法未做解释器级检查;真实 80 万手机号段尚未导入;OpenSIPS dialog 残留根因仍待单独分析;真实 B 服务器浏览器登录态逐页按钮、真实录音文件播放和 Nginx/X-Accel 链路仍需用户测试复核。 +- 本次变更摘要:已按“业务前缀优先于主叫前缀,精确规则优先于空业务前缀兜底”更新需求、代码和测试用例;新增并修复 Linux release artifact 脚本;已提交 Git 并部署到 A/B/T 本地联调环境。 +- 总体状态:S30 已完成;本地 KVM 开发环境 V2 闭环原冻结 release 为 `s28-v2-20260621220924`;B 二期冻结基线为 `s42-phase2-business-prefix-20260624140000`,当前已切换到 release `s44-phase2-gateway-match-20260628225000`;切换前已生成并校验 MySQL/Redis 备份 `/data/backups/mysql/20260628T143121Z` 与 `/data/backups/redis/20260628T143122Z`;B preflight 通过,API ready 返回 ok,HTTPS 首页加载前端资产 `index-BBq8iMHt.js`;A 已加载二期 Lua 热路径 SHA1 `aff9995dbda2a2425e95a3e25b5d7ce194348ce7`,OpenSIPS 配置 SHA-256 为 `f163fa37f7aaa492e12ed496cb82f07d9b0f1030a6ed297855a22d2c4bf1c8a5`;T 服务 active,并已完成 1 通 S40 最小呼叫验收;当前仍未导入真实 80 万手机号段;阿里云迁移前需按 S30 Runbook 重新演练 +- 最后更新:2026-06-28 22:34 +08:00 +- 当前阻塞:无阻塞。遗留问题:本次未执行数据库 schema 变更;真实 80 万手机号段尚未导入;OpenSIPS dialog 残留根因仍待单独分析;真实 B 服务器浏览器登录态逐页按钮、真实录音文件播放和 Nginx/X-Accel 链路仍需用户测试复核;S40 呼叫时脚本内置 UAS 端口提示已占用,但现有 UAS 正常接起且通话/CDR/计费成功。 - 当前环境:A/B/T 为本地 KVM 开发服务器,通过 Tailscale 联调;开发完成后再迁移阿里云 - 私密访问资料:`.codex-private/SERVER_ACCESS.md`,只在实际连接时读取,禁止回显 @@ -90,6 +90,18 @@ ## 交接记录 +### 2026-06-28 22:34 - 需求修改/二期变更:提交并部署客户网关匹配规则 + +- 状态:已完成 +- 操作服务器:A、B、T、本地 +- 完成内容:提交客户网关匹配规则、测试用例和 release artifact 脚本;在 B 生成 Linux release artifact `s44-phase2-gateway-match-20260628225000.tar.gz`,SHA256 `f7c1264c5aaac62e35890d783641139aacb54821045521d6c669c41737e9d5e2`;B current 已切换到 `/opt/lisglosips/releases/s44-phase2-gateway-match-20260628225000`;A 已替换 `/etc/opensips/lisglosips_hotpath.lua`,加载 Redis Lua SHA1 `aff9995dbda2a2425e95a3e25b5d7ce194348ce7` 并更新 `opensips.cfg`;T 服务保持 active 并完成最小呼叫。 +- 修改文件:`IMPLEMENTATION_STATUS.md`、`SOFTSWITCH_PLATFORM_DESIGN_V2.md`、`docs/PHASE2_BUSINESS_PREFIX_GATEWAY_MIGRATION_RUNBOOK.md`、`docs/TEST_PLAN_AND_CASES.md`、`docs/TEST_RESULTS_STEP1_BASELINE_20260628.md`、`apps/api/src/modules/customer-gateways/customer-gateways.service.ts`、`apps/api/src/modules/customer-gateways/customer-gateways.e2e.spec.ts`、`apps/web/src/pages/CustomerGatewaysPage.jsx`、`apps/web/src/pages/BusinessPrefixesPage.jsx`、`apps/web/src/pages/UsersPage.jsx`、`apps/web/src/pages/RolesPage.jsx`、`infra/server-a/s28/lisglosips_hotpath.lua`、`scripts/build-release-artifact.mjs`、`package.json`、`vitest.config.ts`、Argon2id wasm 发布文件。 +- Git 提交:`175166a fix phase2 gateway matching and release artifact`、`ef7874f fix release artifact packaging on linux`、`08c755f clean release artifact manifest status`。 +- 执行的关键命令:本地 `eslint`、`tsc -b`、全量 `vitest run`、Web `vite build`、release artifact `--check`;B `pnpm build`、`pnpm release:artifact -- --release-id s44-phase2-gateway-match-20260628225000 --skip-build`、`sha256sum -c`、release 解包、服务重启、preflight;A 备份 Lua/cfg、计算 SHA1、`lisglosips-redis-hotpath-load.service`、`opensips -C -f /etc/opensips/opensips.cfg`、重启 OpenSIPS;T S40 单通呼叫。 +- 验证结果:本地 lint/typecheck/全量测试通过,Vitest 25 文件 90 用例通过;B preflight ok,API ready ok,Nginx 首页引用 `index-BBq8iMHt.js`;A OpenSIPS `opensips -C` 通过且 active;T 呼叫 `s40-01-1782657231921-z1w146wc@lisglosips-t` 返回 200 OK/200 BYE;B `raw_cdrs` 新增 `raw_9b630cf678c24390bb27f3c3527f8051`,CDR worker 生成 `rated_29711c328edc44ecba8f4471bb6c8714`,客户费用和供应商成本均为 `0.012000`。 +- 回滚方式:B 执行 `sudo /opt/lisglosips/current/infra/server-b/s30/lisglosips-release-rollback.sh /opt/lisglosips/releases/s43-bugfix-cdr-quality-rbac-20260624184854`;A 恢复 `/var/backups/lisglosips-phase2/s44-20260628T225000/opensips.cfg` 与 `lisglosips_hotpath.lua`,执行 `opensips -C -f /etc/opensips/opensips.cfg` 后重启 OpenSIPS;MySQL/Redis 备份点为 `/data/backups/mysql/20260628T143121Z` 与 `/data/backups/redis/20260628T143122Z`。 +- 未解决问题:未导入真实 80 万手机号段;S40 脚本自带 UAS 端口提示已占用但现有 UAS 正常接起;浏览器逐页权限按钮和真实录音播放仍需用户人工复测。 + ### 2026-06-28 22:09 - 需求修改/二期变更:客户网关匹配口径固化与 release artifact 脚本 - 状态:已完成本地代码与文档修改,未发布服务器