apache / apache/cloudstack

Unable to dedicate a IPv6 range to an account

Open
#13,491 0 comments 0 reactions 0 assignees View on GitHub
bug component:advanced-networking component:networking
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
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

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

Contributor guide

Open the contributing guide

Research direction

Start with NetUtils.java at ip2Long and ConfigurationManagerImpl.java at createVlanAndPublicIpRange, following the createVlanIpRange API request shown in the reproduction steps. Reproduce with the supplied IPv6 gateway, CIDR, zone, VLAN, and account values, then verify that an administrator can dedicate the IPv6 range without the null-pointer exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cloud, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.