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 天內回覆