apache / apache/cloudstack

Unable to dedicate a IPv6 range to an account

未关闭
#13,491 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug component:advanced-networking component:networking
主要语言
Java
星标
3.1k
派生
1.4k
平均合并
6 天 19 小时
30 天内合并 PR
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 和账户值进行复现,然后验证管理员可以在不出现空指针异常的情况下专用 IPv6 范围。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
cloud, networking
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
65/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。