huaweicloud-devkit 1.1.10-next.2 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "huaweicloud-devkit",
3
3
  "mcpName": "io.github.huaweicloud/huaweicloud-devkit",
4
- "version": "1.1.10-next.2",
4
+ "version": "1.1.10",
5
5
  "kooCliVersion": "7.3.12",
6
6
  "description": "Agent toolkit that helps coding agents use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities safely and accurately.",
7
7
  "type": "module",
@@ -17,7 +17,7 @@
17
17
  "mcpServers": "./.mcp.json",
18
18
  "description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
19
19
  "skills": "./skills/",
20
- "version": "1.1.10-next.2",
20
+ "version": "1.1.10",
21
21
  "author": {
22
22
  "name": "HuaweiCloud Mate",
23
23
  "url": "https://github.com/huaweicloud"
@@ -20,7 +20,7 @@
20
20
  "mcpServers": "./.mcp.json",
21
21
  "description": "Agent toolkit that helps coding agents use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities safely and accurately.",
22
22
  "skills": "./skills/",
23
- "version": "1.1.10-next.2",
23
+ "version": "1.1.10",
24
24
  "author": {
25
25
  "name": "HuaweiCloud Mate",
26
26
  "url": "https://github.com/huaweicloud"
@@ -17,7 +17,7 @@
17
17
  "mcpServers": "./.mcp.json",
18
18
  "description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
19
19
  "skills": "./skills/",
20
- "version": "1.1.10-next.2",
20
+ "version": "1.1.10",
21
21
  "author": {
22
22
  "name": "HuaweiCloud Mate",
23
23
  "url": "https://github.com/huaweicloud"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huaweicloud-devkit",
3
- "version": "1.1.10-next.2",
3
+ "version": "1.1.10",
4
4
  "description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
5
5
  "author": {
6
6
  "name": "HuaweiCloud Mate",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huaweicloud-devkit",
3
- "version": "1.1.10-next.2",
3
+ "version": "1.1.10",
4
4
  "description": "Guide coding agents to use Huawei Cloud Skills, KooCLI, APIs, SDKs, and future MCP capabilities with safer execution and less context.",
5
5
  "author": {
6
6
  "name": "HuaweiCloud Mate",
@@ -2,7 +2,7 @@
2
2
  "name": "huaweicloud-devkit",
3
3
  "id": "huaweicloud-devkit",
4
4
  "displayName": "HuaweiCloud DevKit",
5
- "version": "1.1.10-next.2",
5
+ "version": "1.1.10",
6
6
  "family": "bundle-plugin",
7
7
  "bundleFormat": "codex",
8
8
  "description": "Guide coding agents to use Huawei Cloud safely — KooCLI, APIs, SDKs, 28 MCP tools, skills, and safety guardrails.",
@@ -142,7 +142,7 @@
142
142
  ]
143
143
  },
144
144
  "message": "The change appears to expose an administrative or database port to the public internet. Web ports (80/443) are allowed - this rule only covers admin/database ports.",
145
- "remediation": "Restrict the source CIDR to a trusted range, use a bastion or VPN, and keep public preview endpoints behind authenticated HTTP services."
145
+ "remediation": "Restrict the source CIDR to a trusted range, use a bastion or VPN, and keep public preview endpoints behind authenticated HTTP services. For SSH troubleshooting, do NOT widen to 0.0.0.0/0: open a /32 rule for your real direct egress IP instead (detect it with Invoke-RestMethod -Uri https://api.ipify.org -NoProxy on Windows / curl --noproxy '*' on Linux — a proxy egress is NOT the direct egress; see huawei-ecs references/windows-ssh.md §0.1), or skip SSH entirely via cloud-init user_data deployment (references/create-instance.md §Bootstrap). Full SSH failure diagnosis chain: huawei-ecs references/troubleshooting.md."
146
146
  },
147
147
  {
148
148
  "id": "hwc-obs-anonymous-write",
@@ -4,20 +4,21 @@
4
4
 
5
5
  ## 错误码映射
6
6
 
7
- | 错误 | 根因 | 修复 |
8
- | --------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
9
- | `Ecs.0005` flavor-image 不匹配 | 镜像虚拟化类型与规格不兼容 | 检查 image `__support_amd`/`__support_xen` 与 flavor `os_extra_specs`。BareMetal 镜像不兼容标准 ECS 规格 |
10
- | `[USE_ERROR]不正确的参数:imagetype` | 参数名错误 | KooCLI 使用双下划线前缀:`--__imagetype=gold`(不是 `--imagetype`) |
11
- | `[USE_ERROR]不正确的参数:chargingMode` | 参数路径错误 | 计费模式参数路径:`--server.extendparam.chargingMode=postPaid`。不传默认按需付费 |
12
- | `[USE_ERROR]不正确的参数:__support_amd` | 参数无效 | `IMS ListImages` 某些版本不支持此过滤。去掉该参数,使用 client-side 过滤 |
13
- | Cannot SSH | 安全组未开放22端口 或 未绑定EIP | 1) 添加入方向规则 tcp 22。2) `hcloud EIP AssociatePublicips --publicip_id=<id> --publicip.associate_instance_id=<port-id> --publicip.associate_instance_type=PORT` |
14
- | Flavor unavailable | 区域不支持该规格 | `hcloud ECS ListFlavors --cli-region=<r>` 先查。不硬编码 s6/m6 等规格名 |
15
- | Insufficient resources | AZ 库存不足 | 换规格、换 AZ、或等待资源释放 |
16
- | `Ecs.0019` flavor 已下线 | 规格已下架 | `hcloud ECS ListFlavors --cli-region=<r>` 查当前在售规格并切换替代规格(状态字段规则见 `references/flavors.md`) |
17
- | `Ecs.0319` 可用区容量不足 | 目标 AZ 库存售罄 | 更换可用区或更换规格后重试 |
18
- | `Ecs.0067` 余额受限 | 现金余额不足/历史欠费 | 查 BSS 现金余额并充值(`hcloud BSS ShowCustomerAccountBalances --cli-region=cn-north-1`);代金券不参与按量付费下单风控,历史欠费需先结清 |
19
- | `KPS.9004` 密钥对创建受限 | 现金余额不足/历史欠费 | 同上:查 BSS 现金余额并充值 + 历史欠费结清后重试 `hcloud ECS NovaCreateKeypair` |
20
- | AuthFailure | AK/SK 过期或无效 | `npx huaweicloud-devkit auth init` 重新配置统一凭据 |
7
+ | 错误 | 根因 | 修复 |
8
+ | --------------------------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | `Ecs.0005` flavor-image 不匹配 | 镜像虚拟化类型与规格不兼容 | 检查 image `__support_amd`/`__support_xen` 与 flavor `os_extra_specs`。BareMetal 镜像不兼容标准 ECS 规格 |
10
+ | `[USE_ERROR]不正确的参数:imagetype` | 参数名错误 | KooCLI 使用双下划线前缀:`--__imagetype=gold`(不是 `--imagetype`) |
11
+ | `[USE_ERROR]不正确的参数:chargingMode` | 参数路径错误 | 计费模式参数路径:`--server.extendparam.chargingMode=postPaid`。不传默认按需付费 |
12
+ | `[USE_ERROR]不正确的参数:__support_amd` | 参数无效 | `IMS ListImages` 某些版本不支持此过滤。去掉该参数,使用 client-side 过滤 |
13
+ | Cannot SSH | 安全组未开放22端口 或 未绑定EIP | 1) 添加入方向规则 tcp 22。2) `hcloud EIP AssociatePublicips --publicip_id=<id> --publicip.associate_instance_id=<port-id> --publicip.associate_instance_type=PORT` |
14
+ | Flavor unavailable | 区域不支持该规格 | `hcloud ECS ListFlavors --cli-region=<r>` 先查。不硬编码 s6/m6 等规格名 |
15
+ | Insufficient resources | AZ 库存不足 | 换规格、换 AZ、或等待资源释放 |
16
+ | `Ecs.0019` flavor 已下线 | 规格已下架 | `hcloud ECS ListFlavors --cli-region=<r>` 查当前在售规格并切换替代规格(状态字段规则见 `references/flavors.md`) |
17
+ | `Ecs.0319` 可用区容量不足 | 目标 AZ 规格库存售罄 | 更换可用区或更换规格后重试 |
18
+ | `Ecs.0044` 磁盘类型售罄 | 目标 AZ 的 root volume 类型售罄 | 换 `--server.root_volume.volumetype`(SAS/SSD/GPSSD)或换 AZ(`hcloud ECS NovaListAvailabilityZones --cli-region=<r>`);与 Ecs.0319(规格容量)是不同根因,ListFlavors 不预告磁盘售罄 |
19
+ | `Ecs.0067` 余额受限 | 现金余额不足/历史欠费 | 查 BSS 现金余额并充值(`hcloud BSS ShowCustomerAccountBalances --cli-region=cn-north-1`);代金券不参与按量付费下单风控,历史欠费需先结清 |
20
+ | `KPS.9004` 密钥对创建受限 | 现金余额不足/历史欠费 | 同上:查 BSS 现金余额并充值 + 历史欠费结清后重试 `hcloud ECS NovaCreateKeypair` |
21
+ | AuthFailure | AK/SK 过期或无效 | `npx huaweicloud-devkit auth init` 重新配置统一凭据 |
21
22
 
22
23
  ## 创建失败诊断流程
23
24
 
@@ -40,16 +41,16 @@ hcloud IMS ListImages --cli-region=<r> --__imagetype=gold --__isregistered=true
40
41
  # 不支持的参数不要传,用 client-side 过滤
41
42
  ```
42
43
 
43
- ## EulerOS 3.0 firewalld:安全组放行后仍不可达(实测 #935 报告4 问题2)
44
+ ## RHEL 系镜像 firewalld:安全组放行后 SSH 仍不可达(实测 #935 EulerOS / #971 Rocky Linux)
44
45
 
45
- EulerOS 3.0 镜像内置 firewalld 且**默认拒绝 SSH 入站** —— 安全组已放行 22 端口后 SSH 仍超时,是实例内防火墙在拦截,不是安全组问题。修复:
46
+ EulerOS 3.0 镜像内置 firewalld 且**默认拒绝 SSH 入站** —— 安全组已放行 22 端口后 SSH 仍超时,是实例内防火墙在拦截,不是安全组问题(实测 #935 报告4 问题2)。Rocky Linux 9.8 也实测出现同样症状(安全组正确 + 出口 IP 一致 + HTTP 80 正常,但 SSH 22 全超时,#971)——**根因未验证**(SSH 不通无法登录查看,疑似同为 firewalld/镜像默认配置),但症状表明该问题不限于 EulerOS,凡 RHEL 系镜像(EulerOS / Rocky / 麒麟等)安全组正确却 SSH 超时时,都应优先怀疑实例内防火墙。修复:
46
47
 
47
48
  ```bash
48
49
  # 镜像内放行 SSH(SSH 可用时)
49
50
  firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload
50
51
  ```
51
52
 
52
- 或改用 cloud-init user_data 自动部署(创建时写入,无需 SSH):
53
+ **SSH 完全不可达时的恢复路径(无需登录实例)**:改用 cloud-init user_data,创建时放行或直接完成部署(见 `references/create-instance.md` §Bootstrap —— 也是 SSH 不可靠场景的推荐部署路径):
53
54
 
54
55
  ```bash
55
56
  # user_data(base64 后传 CreateServers)
@@ -2351,6 +2351,8 @@ function explainError({ service = 'unknown', errorCode = '', message = '', reque
2351
2351
  'The flavor has been taken offline (Ecs.0019). Run `hcloud ECS ListFlavors --cli-region=<region>` to query currently on-sale flavors and switch to a replacement flavor (see the huawei-ecs skill references/flavors.md for the cond:operation:status field rules — a flavor marked 卖光/下线 keeps failing until you pick an on-sale one), then recreate.',
2352
2352
  'Ecs.0319':
2353
2353
  'The requested flavor has insufficient capacity in the selected availability zone (Ecs.0319). Fix: retry in a different availability zone, or switch to a replacement flavor (list on-sale flavors with `hcloud ECS ListFlavors --cli-region=<region>`), then recreate.',
2354
+ 'Ecs.0044':
2355
+ 'The requested volume type is sold out in the selected availability zone (Ecs.0044, e.g. "the volumeType [SATA] is sellout in az[cn-north-4a]"). This is the ROOT VOLUME/DISK type being unavailable — a different failure from Ecs.0319 (flavor capacity). Fix: switch `--server.root_volume.volumetype` to an available type (SAS/SSD/GPSSD — query availability first) or retry in a different availability zone (`hcloud ECS NovaListAvailabilityZones --cli-region=<region>`). ListFlavors does NOT pre-warn about volume-type sellouts — you only find out at order time.',
2354
2356
  'Ecs.0067':
2355
2357
  'Order submission rejected for balance reasons (Ecs.0067). Check the cash balance with `hcloud BSS ShowCustomerAccountBalances --cli-region=cn-north-1` and top up if needed — pay-per-use order risk control checks the CASH balance only (代金券/vouchers do NOT participate in order risk control; they only offset the bill at settlement). Also settle any historical arrears, however small, before retrying.',
2356
2358
  },