restartNetwork reports a ResourceUnavailableException as an unexpected error (530), unlike restartVPC (534)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
阅读 RestartNetworkCmd.execute(),并将其异常处理与 RestartVPCCmd.execute()进行比较;issue 将后者指定为参考。检查 NetworkService.restartNetwork() 声明的异常,并按照报告中描述的对应错误映射进行追踪。完成标准是:对于两个重启命令,相同的故障会产生一致的 API 错误代码和预期的日志级别。
由索引模型根据 Issue 内容生成。
描述
problem
A restartNetwork that fails with a ResourceUnavailableException is reported as an unexpected error, while the same failure from restartVPC is not.
RestartNetworkCmd.execute() doesn't catch the checked exceptions that NetworkService.restartNetwork() declares, so they reach ApiAsyncJobDispatcher. The dispatcher logs anything that isn't a ServerApiException at ERROR as Unexpected exception while executing ... RestartNetworkCmd, with a stack trace, and fails the job with error code 530.
RestartVPCCmd.execute() catches the same exceptions and maps them to ServerApiException: ResourceUnavailableException gives 534 at WARN, ConcurrentOperationException 530 and InsufficientCapacityException 533. API clients therefore see a different error code for the same condition depending on whether the network is in a VPC, and the management server log shows an ERROR for an expected refusal.
versions
4.22 (the code is the same on main).
The steps to reproduce the bug
- Make a network restart fail with a
ResourceUnavailableException. For example, stop the CloudStack agent on the host that runs the network's router, so that the commands to the router fail withAgentUnavailableException, and callrestartNetworkon that network. - The async job fails with error code 530, and the management server logs
Unexpected exception while executing org.apache.cloudstack.api.command.user.network.RestartNetworkCmdat ERROR. - Do the same with
restartVPCon a VPC: the job fails with 534, and the exception is logged at WARN.
What to do about it?
Catch the exceptions in RestartNetworkCmd.execute() the way RestartVPCCmd.execute() does.
- 主要语言
- Java
- 星标
- 3.1k
- 派生
- 1.4k
- 平均合并
- 6 天 20 小时
- 30 天内合并 PR
- 17
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/cloudstack 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
apache/cloudstack#14645 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
apache/cloudstack#14633 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
apache/cloudstack#14625 · 1 条评论 ·
维护者通常 1 天内回复
-
Remote access VPN users are disconnected on every LB, ACL, port forward or firewall change (xl2tpd restarted on every iptables pass)可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
apache/cloudstack#14545 · 1 条评论 ·
维护者通常 1 天内回复
-
[Hardening] F-21: Base64-Encoded User Data Containing Plain Text Passwords in DB.可能已有人在做 @DaanHoogland 于 4 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
apache/cloudstack#14530 · 5 条评论 ·
维护者通常 1 天内回复
查看 apache/cloudstack 的全部 Issue
相似的 Issue
-
type: dependency-upgrade
难度 2/5 1-3 小时 新手友好度 61/100
spring-projects/spring-graphql#1556 ·
-
hermes-queue
难度 1/5 1 小时以内 新手友好度 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
bug priority: lowest
难度 2/5 1-3 小时 新手友好度 62/100
SkriptLang/Skript#8953 · 1 条评论 ·
维护者通常 1 天内回复
-
quality-assurance
难度 2/5 1-3 小时 新手友好度 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
维护者通常 1 天内回复