apache / apache/cloudstack

Unable to dedicate a IPv6 range to an account

オープン
#13,491 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug component:advanced-networking component:networking
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
32

説明

### problem

Unable to dedicate a IPv6 range to an account

### versions

ACS 4.22.1

### The steps to reproduce the bug

1. Navigate to zone > physical network > Public > Add ip

Image

Logs

```

2026-06-25 10:54:58,684 DEBUG [c.c.a.ApiServlet] (qtp253011924-21:[ctx-f5b9d62a]) (logid:323fbda0) ===START=== 10.0.3.251 -- POST
command=createVlanIpRange
response=json
ip6gateway=fc00:2024:9:7::1
ip6cidr=fc00:2024:9:7::/64
zoneId=d0fe7f90-1c42-4108-a827-33036dc5f715
vlan=vlan://566
account=ACSUser
domainid=6bd8edef-6ae7-11f1-bb1a-1e00320001e1
forvirtualnetwork=true
sessionkey=hCY97hOJycJ5R6B0K9d3zaAh7Hc

2026-06-25 10:54:58,684 DEBUG [c.c.a.ApiServlet] (qtp253011924-21:[ctx-f5b9d62a]) (logid:323fbda0) Two factor authentication is already verified for the user 2, so skipping
2026-06-25 10:54:58,688 DEBUG [c.c.a.ApiServer] (qtp253011924-21:[ctx-f5b9d62a, ctx-c0fa91c9]) (logid:323fbda0) CIDRs from which account 'Account [{"accountName":"admin","id":2,"uuid":"b487bfa1-6ae7-11f1-bb1a-1e00320001e1"}]' is allowed to perform API calls: 0.0.0.0/0,::/0
2026-06-25 10:54:58,690 INFO [o.a.c.a.DynamicRoleBasedAPIAccessChecker] (qtp253011924-21:[ctx-f5b9d62a, ctx-c0fa91c9]) (logid:323fbda0) Account for user id b4886908-6ae7-11f1-bb1a-1e00320001e1 is Root Admin or Domain Admin, all APIs are allowed.
2026-06-25 10:54:58,690 DEBUG [o.a.c.a.StaticRoleBasedAPIAccessChecker] (qtp253011924-21:[ctx-f5b9d62a, ctx-c0fa91c9]) (logid:323fbda0) RoleService is enabled. We will use it instead of StaticRoleBasedAPIAccessChecker.
2026-06-25 10:54:58,690 DEBUG [o.a.c.r.ApiRateLimitServiceImpl] (qtp253011924-21:[ctx-f5b9d62a, ctx-c0fa91c9]) (logid:323fbda0) API rate limiting is disabled. We will not use ApiRateLimitService.
2026-06-25 10:54:58,706 ERROR [c.c.a.ApiServer] (qtp253011924-21:[ctx-f5b9d62a, ctx-c0fa91c9]) (logid:323fbda0) unhandled exception executing api command: [Ljava.lang.String;@7003dba2 java.lang.NullPointerException: Cannot invoke "String.split(String)" because "ip" is null
at com.cloud.utils.net.NetUtils.ip2Long(NetUtils.java:395)
at com.cloud.configuration.ConfigurationManagerImpl.createVlanAndPublicIpRange(ConfigurationManagerImpl.java:5056)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:109)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at jdk.proxy3/jdk.proxy3.$Proxy154.createVlanAndPublicIpRange(Unknown Source)

```
...

### What to do about it?

Admin user should be able to dedicate the ipv6 range to an account

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

NetUtils.java の ip2Long と ConfigurationManagerImpl.java の createVlanAndPublicIpRange から始め、再現手順に示されている createVlanIpRange API リクエストに従ってください。指定された IPv6 ゲートウェイ、CIDR、ゾーン、VLAN、アカウントの値で再現し、その後、管理者が null ポインター例外なしで IPv6 範囲を専用化できることを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
cloud, networking
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
65/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。