wangbo
3af6655e86
fix(acceptance): 严格校验单节点诊断终态
...
修复视频容量阶梯失败后仍被标记为完成的问题,并将低并发视频任务量按槽位缩放,避免验收负载本身超过 admission 等待窗口。
增加任务终态总量校验,确保任一失败、排队或运行中任务都会使诊断返回失败;已执行 bash -n、ShellCheck -x 与 diff check。
2026-08-03 19:19:29 +08:00
wangbo
eccfe568ad
test(acceptance): 区分路由尝试与上游提交
...
额度原子抢占失败会留下 quota_race_rotated 尝试,但不会调用上游。验收报告新增 submitted 与轮转原因,并以真实提交数校验任务去重和同优先级负载分布,避免把安全轮转误判为重复提交。\n\n验证:bash -n scripts/acceptance/provider-burst.sh;shellcheck scripts/acceptance/provider-burst.sh;使用本地三 Worker 运行数据验证 25 次路由尝试中仅 24 次提交、重复远端任务和账务均为 0。
2026-08-03 18:21:50 +08:00
wangbo
c8d04ca731
fix(billing): 重排任务复用钱包预留
...
平台额度跨窗口重排时保留任务已有的钱包预留,后续 Worker 领取复用同一幂等键,避免重复 reserve/release 事务。\n\n补齐排队任务取消后的原子结算释放,并允许任务 attempt 持久化软负载、满载原因和选择原因等有界路由快照。\n\n验证:go test ./...;go vet ./...;钱包预留复用与排队取消 PostgreSQL 集成测试。
2026-08-03 18:09:47 +08:00
wangbo
13faf1d072
test(acceptance): 校准平台突发负载门禁
...
将长轮询视频的 RPM 与 TPM 额度调整为可稳定触达的窗口值,并以按并发容量归一化后的近似均衡替代脆弱的精确任务数断言。\n\n门禁继续要求高优先级平台并发、RPM、TPM 跑满,低优先级发生溢出,三类额度均不越界且队列、Worker、回调和租约最终清空。\n\n验证:bash -n scripts/acceptance/provider-burst.sh;shellcheck scripts/acceptance/provider-burst.sh。
2026-08-03 17:54:04 +08:00
wangbo
8362d6d27a
feat(routing): 完善平台满载避让与故障轮转
...
为未配置并发上限的平台增加基于运行和等待任务数的软负载,并按非满载、有效优先级、缓存亲和与负载稳定排序。\n\n平台模型 RPM、TPM 和并发额度竞争失败时只轮转候选,不触发冷却、禁用或降级;用户组额度保持不可绕过。补齐异步冷却排队恢复、满载原因、选择原因与低基数指标。\n\n验证:go test ./...;go vet ./...;PostgreSQL 原子额度、准入队列、Worker 容量回收及故障策略 HTTP acceptance。
2026-08-03 17:42:34 +08:00
chengcheng
b125599354
fix(oidc): 同步认证中心用户资料到本地用户
...
从已验证的 OIDC Claim 提取用户名、显示名称、邮箱、手机号和头像,并覆盖单租户、多租户及平台用户的 JIT 创建与重复登录同步。\n\n保留 metadata.manualProfile 标记下的人工资料,限制字段长度且仅接收已验证联系方式与 HTTPS 头像。已通过 auth、httpapi、store 测试及临时 PostgreSQL 集成验证。
2026-08-03 15:55:50 +08:00
chengcheng
3c8d9839a4
fix(web): 避免刷新时闪现未登录页面
...
统一认证会话需要异步恢复,首次渲染不能把尚未确认的状态当作未登录。新增 checking、authenticated、unauthenticated 三态鉴权,在检查期间显示中性加载状态并隐藏登录相关操作。
验证:前端 156 项测试通过;TypeScript 类型检查、lint、生产构建和浏览器刷新验收通过。
2026-08-03 15:55:49 +08:00
wangbo
b56769512f
feat(admin): 默认过滤实时负载禁用项
...
实时负载默认仅展示平台和模型均启用的来源,并增加全部状态、仅看禁用筛选及重置行为测试。
2026-08-03 15:43:49 +08:00
wangbo
ad8cdd525b
feat(identity): 支持用户和用户组批量管理
...
增加原子批量启用、禁用和删除接口及管理端多选操作,目标缺失时整批回滚。\n\n拆分管理端与 API Key 权限缓存并在弹窗保存后刷新候选;补齐失效规则一键清理样式、固定右侧操作列和 OpenAPI 契约。
2026-08-03 15:43:49 +08:00
wangbo
7376d6fab6
refactor(access): 统一分层白名单权限语义
...
取消跨主体专属占用,按租户、用户组、用户、当前 API Key 和 scope 分层求交,并在任务落库前统一校验候选。\n\n增加旧 allow 规则归档清理迁移、脱敏审计工具和回滚运行手册,补齐主体隔离、deny 优先及列表与运行时一致性测试。
2026-08-03 15:43:49 +08:00
wangbo
c9393af43a
test(acceptance): 在单窗口验证厂商额度峰值
...
厂商额度验收此前复用了多图与超大图容量素材,3 Worker 的下载和预处理使 24 个任务跨越多个固定分钟窗口,无法精确证明 RPM 与 TPM 上限。\n\n额度场景固定使用三张正常尺寸引用图并为每个任务增加唯一 URL 变体,使请求满足视频协议且能在单窗口完成;6、9 图和超大图转换继续由独立视频容量 profile 覆盖。\n\n验证:\n- go test ./cmd/acceptance-load ./internal/acceptanceworkload -count=1\n- go vet ./cmd/acceptance-load ./internal/acceptanceworkload\n- gofmt -l cmd/acceptance-load/main.go cmd/acceptance-load/main_test.go
2026-08-03 13:04:03 +08:00
wangbo
76bb730b13
fix(routing): 将 admission 排队计入平台负载
...
候选路由此前只统计 River 队列和历史尝试,未统计尚未生成 River Job 的异步 admission 等待任务,突发提交会集中绑定同一高优先级平台,导致其他平台容量闲置。\n\n将等待中的 gateway_task_admissions 纳入平台模型排队负载,并通过 task_id 去重保留原有统计语义,使候选路由可以在集群 admission 阶段按并发利用率分流。\n\n验证:\n- go test ./internal/store ./internal/runner -count=1\n- go vet ./internal/store ./internal/runner\n- gofmt -l internal/store/candidates.go
2026-08-03 12:33:49 +08:00
wangbo
b933d59783
fix(routing): 额度饱和时解除任务候选固定
...
已取得并发租约的任务继续保持候选绑定;仅当已绑定平台的 RPM 或 TPM 已满且存在可用候选时,允许任务在执行前原子迁移到下一平台,避免等待窗口重置。\n\n验证:\n- go test ./internal/runner -count=1\n- go vet ./internal/runner
2026-08-03 12:19:52 +08:00
wangbo
d740e9f676
fix(acceptance): 按隔离额度执行平台降级路由
...
让 acceptance 候选负载读取同一 Run ID 下的并发、RPM 和 TPM 计数器,并在单个平台模型额度不足时继续尝试下一候选,生产与 canary 额度作用域保持不变。\n\n补齐本地容量控制器对宁波和香港测试 Worker 的最小 RBAC,避免初次应用生产反亲和配置时发生滚动死锁,并将突发负载对齐到完整限流窗口。\n\n验证:\n- go test ./internal/runner ./internal/store -count=1\n- go vet ./internal/runner ./internal/store\n- bash -n scripts/acceptance/local-cluster.sh scripts/acceptance/provider-burst.sh scripts/acceptance/run-local-acceptance.sh\n- shellcheck -x scripts/acceptance/local-cluster.sh scripts/acceptance/provider-burst.sh scripts/acceptance/run-local-acceptance.sh\n- kubectl apply --dry-run=client -f deploy/kubernetes/local-acceptance/capacity-controller-rbac.yaml
2026-08-03 12:06:09 +08:00
wangbo
8485f14bc4
test(acceptance): 验证厂商三类额度与优先路由
...
为 provider-burst 固定三平台并发、RPM、TPM 和优先级组合,使用稳定 token 用量的本地视频负载验证同级按容量分流及低优先级溢出。\n\n报告升级为 v2,强制校验三类额度峰值精确命中上限、不越界、队列回收、三 Worker 分发以及重复提交和回调安全。\n\n验证:\n- env -u AI_GATEWAY_TEST_DATABASE_URL go test ./... -count=1\n- go vet ./...\n- bash -n scripts/acceptance/provider-burst.sh scripts/acceptance/run-local-acceptance.sh\n- shellcheck -x scripts/acceptance/provider-burst.sh scripts/acceptance/run-local-acceptance.sh
2026-08-03 11:48:54 +08:00
wangbo
aa4f8532bb
test(acceptance): 扩大视频容量突发样本
...
将单节点视频容量阶梯的任务数提高到每槽位 6 个且最低 64 个,确保自适应容量达到目标后仍有足够排队任务用于观测真实运行峰值。\n\n已执行 bash -n、ShellCheck 和生产验收脚本测试。
2026-08-03 11:06:28 +08:00
wangbo
0d33400e09
test(acceptance): 增加视频容量阶梯场景
...
新增 30 至 45 秒模拟上游等待的视频容量场景,使单 Worker 自适应控制在每级突发负载中获得连续占满窗口,同时保持提交、轮询、结果处理和回调全链路。\n\n未修改生产 Worker 和厂商限流逻辑。已执行完整 Go 测试、go vet、gofmt、bash -n、ShellCheck 和生产验收脚本测试。
2026-08-03 10:45:09 +08:00
wangbo
75b3ed4748
fix(acceptance): 对齐负载报告第二版契约
...
生产验收统一校验并合并 acceptance-load-report/v2,避免成功负载因旧版 schemaVersion 断言被误判失败。\n\n已执行 bash -n、ShellCheck 和 production acceptance 脚本测试。
2026-08-03 10:26:05 +08:00
wangbo
2636e93353
fix(acceptance): 按自适应容量执行单节点压测
...
修正单节点验收将 hard limit 等同空闲分配容量的问题,从冷启动容量 4 开始逐级加压,并要求实际分配容量和运行任务峰值均达到目标后才计入稳定并发。\n\n异常退出时同步清理模拟器和回调收集器资源。已执行 bash -n、ShellCheck 和 production acceptance 脚本测试。
2026-08-03 10:20:11 +08:00
wangbo
d8b86bb88c
fix(deploy): 合并香港容量环境清理
2026-08-03 10:11:09 +08:00
wangbo
0e292bb1d8
fix(deploy): 清理旧香港容量环境变量
...
单节点升级时显式删除旧 Deployment 模板中残留的香港副本环境变量,避免 ConfigMap 已清理后容量控制器仍访问退役站点。\n\n验证:bash -n;ShellCheck;cluster release helper 测试。
2026-08-03 10:10:56 +08:00
wangbo
699d004c5b
feat(deploy): 合并宁波单节点生产拓扑
2026-08-03 10:00:07 +08:00
wangbo
4ff85d96e0
feat(deploy): 切换宁波单节点生产拓扑
...
移除已停用的香港 API、Web、Worker 和边缘 Service 渲染结果,将 Worker 与容量控制器固定到宁波单实例,并在发布成功后清理旧香港资源。\n\n容量控制器忽略最大副本为零的站点,集群环境允许不再声明香港主机;单节点 production acceptance 不再依赖香港 Service、Deployment 或 SSH 回退。\n\n验证:Go 全量测试与 go vet;迁移安全检查;Kustomize 单节点渲染;ShellCheck;cluster release、production acceptance 和 manual release 测试。
2026-08-03 09:59:34 +08:00
wangbo
4fa1981bb8
fix(web): 按权限隐藏管理工作台入口
...
基于 /api/v1/me 返回的当前用户角色控制主导航,仅向具备 power 或 manager 权限的 operator、manager、admin 展示管理工作台。所有已登录页面统一加载当前用户身份,避免停留首页时无法正确判断权限。\n\n新增角色映射与导航渲染回归测试。已验证前端 152 项测试、前端构建、pnpm lint 和 git diff --cached --check。
2026-08-03 09:38:25 +08:00
wangbo
61a74445bc
chore(migration): 合并 Worker 负载迁移安全审查
2026-08-03 09:23:49 +08:00
wangbo
5e9a7888ae
chore(migration): 登记 Worker 负载迁移安全审查
...
基于宁波生产 PostgreSQL 18 的只读预检,gateway_worker_instances 当前为 96 行、180224 字节,常量默认值新增列不会触发表重写,回填和约束验证范围可控。\n\ngateway_concurrency_leases 仅增加可空列;记录迁移校验器允许的 non-null column addition,并保留迁移文件不可变。\n\n验证:node scripts/ci-validate-migrations.mjs ac8d6dcf452ac555eb344f76caf6965c2ea42a97;./tests/ci/migrations-test.sh
2026-08-03 09:23:34 +08:00
wangbo
dc2605fb39
fix(dev): 等待 PostgreSQL 容器就绪
...
数据库初始化脚本在容器停止时主动启动,并在执行 psql 前等待 PostgreSQL 就绪;若容器提前退出或超过等待时间则返回明确错误。
验证:bash -n、ShellCheck、git diff --check 与 pnpm db:create 通过。
2026-08-03 09:18:42 +08:00
wangbo
cc97e6649c
fix(access): 统一 API Key 模型权限与列表契约
...
将全局启用、用户组基线、API Key 专属或排除规则及 scope 按固定顺序求值,避免 Key 越过所属用户组权限,并让运行时候选与模型列表共用同一权限链。
新增 Key 级可分配模型与失效规则诊断接口、OpenAI 兼容 /v1/models 及 rich 列表迁移路径;前端权限弹窗改为按当前 Key 实时加载并支持清理失效规则。
验证:Go 全量测试与 go vet 通过;Web 22 个测试文件共 142 项通过;pnpm lint、pnpm openapi、pnpm build、Compose 配置、gofmt、ShellCheck 和 git diff --check 通过;独立 PostgreSQL 真实配置验收通过。
2026-08-03 09:17:15 +08:00
wangbo
c28bf74230
feat(worker): 实现集群限流与自适应负载
...
保留平台模型 RPM、TPM 和并发策略语义,增加 PostgreSQL 集群级租约、饱和候选重选和多平台自动负载,避免突发任务固定等待首个平台。\n\n新增 Worker 实时负载采样、自适应 active/heavy 容量、心跳与管理端指标,并扩展本地 acceptance runner,覆盖三 Worker、同模型三平台 2/4/6 并发和 48 个带图视频突发任务。\n\n验证:go test ./...、go vet ./...、PostgreSQL 跨 Store 集成测试、gofmt、bash -n、ShellCheck 及本地集群 provider-burst 验收通过;48/48 成功,无越限、重复提交、重复计费、重复回调或终态资源泄漏。
2026-08-03 00:13:46 +08:00
wangbo
9a01fd4657
fix(k3s): 修正磁盘调度 unit 启动命令
...
systemd 会展开 unit 命令中的百分号 specifier,导致原 oneshot 启动失败。改用 echo 写入调度器,并强制校验 unit 为 active;bash -n、ShellCheck、manual-release-test.sh 通过。
2026-08-02 10:41:16 +08:00
wangbo
e20688bbe2
fix(k3s): 持久化香港控制面磁盘调度缓解
...
原因:香港虚拟磁盘在低吞吐下仍出现高同步写延迟,触发 etcd slow apply、Handler timeout 和 PostgreSQL API Server 连通性异常。\n\n影响:新增仅针对香港根块设备的 mq-deadline 配置脚本,应用时不重启 K3s,并提供显式 rollback 恢复 none;运行手册明确该项仅为缓解,不能替代高性能云盘。\n\n验证:新香港节点同步写探针从 13.28ms 降至 6.25ms;bash -n、ShellCheck、manual-release-test.sh 通过。
2026-08-02 10:39:55 +08:00
wangbo
c55e52af11
fix(acceptance): 增强生产验收控制面容错
...
原因:资源前置检查中的一次瞬时 SSH 中断会直接终止 Run,失败收尾又可能因 partial 报告已存在而无法完成。\n\n影响:节点内存采集增加有界重试并区分传输故障;验收管理 GET 与 finish 支持香港本地入口安全回退,并对响应丢失后的 409 反查 Run 终态;已有 partial 报告会验证复用。\n\n验证:bash -n、ShellCheck、production-acceptance-script-test.sh、manual-release-test.sh 通过。
2026-08-02 10:13:35 +08:00
wangbo
ac8d6dcf45
fix(postgres): 放宽跨地域 WAL 连接抖动窗口
...
将生产 WAL sender/receiver timeout 从 CNPG 隐式 5 秒显式调整为 30 秒,避免短时控制面或 Pod 网络停顿反复拆除复制流并触发异步降级。保留 preferred 同步策略,防止副本不可达时冻结全部写入。\n\n影响:仅修改生产 CNPG 参数、发布门禁和运维说明,不改变应用镜像和迁移。仍需通过同步复制、六向链路与验收硬门禁。\n\n验证:kubectl kustomize、bash -n、ShellCheck、manual-release-test。
2026-08-02 00:10:25 +08:00
wangbo
a4046c2b81
perf(worker): 解耦准入调度与远端执行
...
原因:线上 P24 同构验收确认两台香港 Worker 的全局容量为 48,但跨地域逐行准入事务每轮只能形成 8 个活跃租约,队列最老等待超过 15 分钟。\n\n影响:新增可配置的异步准入 dispatcher 角色;生产两地 API 负责准入和过期回收,Worker 仅执行 River job。当前主库同站点 API 可低延迟填满容量,主库切换后另一地 API 通过既有数据库锁安全接管;未配置环境变量时保持原 Worker 一体化行为。\n\n验证:Go 全量测试、go vet、gofmt、真实 PostgreSQL 1000 任务双进程回归、前端 lint/test/build、Kubernetes server-side dry-run、Compose、ShellCheck、cluster/manual release tests 全部通过。
2026-08-01 23:24:30 +08:00
easyai
9c093974a1
fix(gateway): 修复 Qwen3.8 推理参数并增加上游自愈
...
统一 Qwen3.8 固定思考、推理档位、预算互斥与温度下限规则,并覆盖 Chat Completions 和原生 Responses 请求。
新增安全参数纠正、有限重试和并发安全的进程内 LRU 学习;补充共享行为向量、httptest 回归与真实模型验收用例。
验证:go test ./... -count=1 通过,gofmt 检查通过;真实 Qwen3.8 流式、非流式及缓存重学习验收通过。
2026-08-01 22:50:45 +08:00
wangbo
50a13de70b
fix(acceptance): 允许模拟器调度到专用 Worker
...
原因:新香港专用 Worker 节点带有 easyai.io/worker-only NoSchedule taint,现有模拟器只有节点选择器,导致线上验收滚动更新长期 Pending。\n\n影响:协议模拟器可在排除数据库与控制面节点的前提下调度到专用 Worker;正式 API、Worker 和流量门禁不变。\n\n验证:生产 API Server server-side dry-run 通过;manual-release-test 通过;git diff --check 通过。
2026-08-01 21:41:07 +08:00
wangbo
56a5176c92
perf(worker): 持久化准入快照提升队列吞吐
...
原因:线上 P24 验收显示 Worker 在每轮准入前逐条恢复媒体、重算候选和查询 attempts,跨地域查询导致 48 个执行槽长期只能使用约 8 至 16 个。\n\n影响:任务首次排队时保存鉴权后的 admission scope 快照,Worker 单次批量读取并只刷新动态总容量;显式重新选路保留完整慢路径。验收模拟器改到非数据库专用 Worker 节点,运行期 85% 作为立即中止硬门禁,80% 继续作为容量认证目标。\n\n验证:Go 全量测试、go vet、govulncheck、真实 PostgreSQL 迁移与跨 Store 集成测试、ShellCheck、发布及验收脚本、OpenAPI、前端 lint/test/build、pnpm audit high、Compose 与 Kubernetes 渲染均通过。
2026-08-01 21:25:54 +08:00
wangbo
c89c56ca65
perf(worker): 以有界微批次提升准入吞吐
...
原因:线上 P24 同构验收中,单任务同步复制提交与全局容量锁串行化,使两个 Worker 的 48 个执行槽只能维持约 10–14 个运行任务,最老等待超过 15 分钟。
影响:新增可配置的 1–32 条准入微批次,默认 8;租约、任务准入与唯一 River job 在一个有界事务内原子提交,并按确定顺序预锁任务和容量范围,避免整窗 48 条大事务和多 Dispatcher 死锁。并容忍 rebind 已被其他 Dispatcher 完成的幂等竞态。
验证:Go 全量测试、go vet、真实 PostgreSQL 跨 Store 集成测试、ShellCheck、迁移安全检查、OpenAPI、前端 lint/test/build、Compose/Kubernetes 渲染及人工发布脚本均通过。
2026-08-01 20:26:47 +08:00
wangbo
92e328a575
fix(acceptance): 隔离容量压测并稳定数据库连接
...
将协议模拟验收的供应商并发限额与 Worker 容量门禁分离,真实金丝雀继续保留生产限流。readyz 改用关键连接池并预热关键及 River 池,延长生产连接空闲周期,降低跨地域连接抖动。失败 Run 现在可以原子替换且失败报告记录任务数量,避免 validation 之间短暂放开正式流量。\n\n验证:Go 全量测试、go vet、PostgreSQL 集成测试、ShellCheck、迁移安全、发布脚本、pnpm lint/test/build、OpenAPI 无漂移均通过。
2026-08-01 19:29:08 +08:00
wangbo
89a0ff7e99
fix(release): 同步 API 运行 revision
...
生产发布滚动 API 时写入当前完整 release SHA,避免镜像 digest 已更新但运行 revision 仍指向上一版本。补充发布 helper 静态回归检查。\n\n验证:bash -n、ShellCheck、cluster release helper 测试通过。
2026-08-01 18:28:21 +08:00
wangbo
edcbbd6a87
fix(worker): 拆分准入事务并收敛验收失败状态
...
将批量准入改为每任务独立事务,避免 P24 压测时 48 条任务共享长事务造成 transactionid 锁潮与 Worker 槽位空转。失败验收在保持 validation 的同时清理未提交任务,并记录精确压力门禁原因。统一生产 0+2 Worker 拓扑、运行时 ConfigMap 与发布配置,补充镜像预检诊断和回归测试。\n\n验证:Go 全量测试、go vet、真实 PostgreSQL 48 任务集成测试、迁移安全检查、发布脚本测试、bash -n、ShellCheck、Compose 配置均通过。
2026-08-01 18:23:00 +08:00
wangbo
215b6b607f
fix(acceptance): 解除八任务准入瓶颈
...
线上 P24 验收证明 Worker 注册容量为 48,但异步 admission 始终只有 8 条活跃租约。将单事务调度窗口覆盖当前 2 x P32 的 64 槽,避免多 Worker 在同一 FIFO 小批次上竞争形成隐性全局上限。\n\nGemini 流式请求补充可回放 GetBody 与精确 Content-Length,使带幂等键的 POST 遇到 HTTP/2 可重试传输错误时可安全重放;同时提前部署验收回调收集器,保证旧 Run side effects 能在接管前收口。\n\n已通过 Go 全量测试、go vet、gofmt、Shell bash -n、ShellCheck、验收与人工发布脚本测试、迁移安全检查,以及独立 PostgreSQL 48 条 admission/租约/River job 原子集成测试。
2026-08-01 16:59:28 +08:00
wangbo
7623449e33
fix(acceptance): 复用集群 SSH 控制连接
...
线上验收在宁波 SSH 建连超时时于负载前失败。为集群脚本增加受限 ControlMaster 复用和仅建连阶段的 ConnectionAttempts,避免重放远程命令。\n\n生产快照导出增加三次只读重试、原子落盘和空 Pod 清理防护。已通过 bash -n、ShellCheck、production acceptance 脚本测试、人工发布脚本测试,并验证宁波真实 SSH 控制连接可复用。
2026-08-01 15:59:00 +08:00
wangbo
8ca3e2dbc2
fix(acceptance): 实时执行压力资源硬门禁
...
压力采样一旦发现节点内存、数据库连接、Pod RSS、租约或排队等待越线,立即联动停止负载,避免失败档继续堆积任务。\n\n同时保证连接池零值写入报告,并增加边界回归测试。已通过 bash -n、ShellCheck、production acceptance 脚本测试和人工发布脚本测试。
2026-08-01 15:44:57 +08:00
wangbo
3514c13b0d
fix(acceptance): 按实际节点聚合多 Worker 指标
...
同站点存在多个物理节点时,按每个 Ready Pod 的 nodeName 映射真实 SSH 主机采集 metrics,并隔离 ssh 标准输入,避免吞掉后续 Pod 目标。所有 Worker Pod 指标按容量最小/最大、连接池最小/最大和计数器总和聚合,不再随机漏采一个实例。\n\n运行时门禁根据已启用的第四节点计算 Ready 节点数,并跳过零副本站点,同时继续逐 Pod 校验 P24/P28/P32 容量、连接池和租约。\n\n验证:bash -n、ShellCheck、双节点 metrics 映射测试、生产只读双 Worker metrics 探针、manual-release-test。
2026-08-01 15:14:39 +08:00
wangbo
53fc79691a
fix(acceptance): 联动压力采样与负载停止
...
零副本 Worker 站点没有 metrics,应从聚合采样中跳过;有副本的站点采样失败仍保持硬失败。补充缺失字段诊断,避免只输出无上下文的采样失败。\n\n容量轮次和混合长稳压测现在持续监视压力采样进程;采样器提前退出时立即终止当前负载并走失败收口,避免在资源监控失效后继续造任务。\n\n验证:bash -n、ShellCheck、零副本站点测试、采样失败联动停止测试、manual-release-test。
2026-08-01 14:37:45 +08:00
wangbo
8749f38eb3
fix(acceptance): 完善跨版本验收状态收口
...
生产流量处于旧失败验收 Run 的 validation 状态时,允许新验收接管任意已验证的 Git 祖先 release,而非仅允许 release manifest 的直接 base;仍保留 Run 状态、镜像 digest、revision 与当前集群 release CAS 校验。\n\n允许 pending Run 在激活前异常时直接标记为 failed,避免验收工具在 CAS 或网络错误后遗留无法结束的 Run。新增祖先关系脚本测试及临时 PostgreSQL 集成验证。\n\n验证:Go 全量测试、go vet、临时 PostgreSQL 集成测试、bash -n、ShellCheck、manual-release-test。
2026-08-01 13:59:37 +08:00
wangbo
4d84210344
fix(release): 修正 Worker 滚动与失败传播
...
单站点 Worker 启用硬反亲和后,maxSurge=1 会让新 Pod 无法调度并造成滚动超时。将 Worker 改为先下线旧 Pod 再创建新 Pod,同时保持 API 的零中断滚动策略。\n\n发布辅助脚本为关键 kubectl 操作补充显式失败返回,避免函数位于条件表达式时 Bash 忽略 errexit,进而把失败发布误报为成功。新增回归测试模拟 rollout status 失败且旧 Pod 仍 Ready 的场景。\n\n验证:bash -n、ShellCheck、cluster-release-helper-test、manual-release-test、生产 API Server dry-run。
2026-08-01 13:43:33 +08:00
wangbo
80801b7bbb
fix(capacity): 允许显式禁用无节点站点
...
当 Worker Deployment 为零副本且站点没有 eligible Worker 节点时返回零容量状态,避免 min/max=0 的禁用站点令容量控制器持续 NotReady;非零副本仍保持失败关闭。\n\n验证:容量控制器单测、Go 全量测试、go vet、gofmt、迁移安全检查和人工发布脚本测试。
2026-08-01 13:02:55 +08:00
wangbo
773d310214
fix(cluster): 强制关键副本跨节点分散
...
避免同站点 Worker 与容量控制器在滚动发布时集中到同一节点,并让 Kubernetes 运行态清单变更进入可追溯的 API release。\n\n验证:bash -n、ShellCheck、manual-release-test、生产集群 server-side dry-run。
2026-08-01 12:33:19 +08:00