Unable to dedicate a IPv6 range to an account
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.4k
- Merge moyen
- 6 j 19 h
- PR mergées (30 j)
- 32
Description
### 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
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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par NetUtils.java au niveau de ip2Long et ConfigurationManagerImpl.java au niveau de createVlanAndPublicIpRange, en suivant la requête d’API createVlanIpRange présentée dans les étapes de reproduction. Reproduisez le problème avec les valeurs fournies pour la passerelle IPv6, le CIDR, la zone, le VLAN et le compte, puis vérifiez qu’un administrateur peut dédier la plage IPv6 sans l’exception de pointeur nul.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- cloud, networking
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 65/100