apache / apache/cloudstack

XCP-NG MGMT Network with VLAN

Open
#12,720 3 comments 0 reactions 0 assignees View on GitHub
component:XenServer type:enhancement
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
32

Description

### problem

Can't add a host with the management network on VLAN.
`2026-03-01 18:22:35,895 DEBUG [c.c.a.ApiServlet] (qtp1438988851-319:[ctx-42e149e5]) (logid:326107e1) ===START=== 172.20.20.254 -- POST addHost
2026-03-01 18:22:35,895 DEBUG [c.c.a.ApiServlet] (qtp1438988851-319:[ctx-42e149e5]) (logid:326107e1) Two factor authentication is already verified for the user 2, so skipping
2026-03-01 18:22:35,898 DEBUG [c.c.a.ApiServer] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) CIDRs from which account 'Account [{"accountName":"admin","id":2,"uuid":"54e527f0-1594-11f1-a918-2e4d08b68745"}]' is allowed to perform API calls: 0.0.0.0/0,::/0
2026-03-01 18:22:35,899 INFO [o.a.c.a.DynamicRoleBasedAPIAccessChecker] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Account for user id 54e58bbc-1594-11f1-a918-2e4d08b68745 is Root Admin or Domain Admin, all APIs are allowed.
2026-03-01 18:22:35,899 DEBUG [o.a.c.a.StaticRoleBasedAPIAccessChecker] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) RoleService is enabled. We will use it instead of StaticRoleBasedAPIAccessChecker.
2026-03-01 18:22:35,899 DEBUG [o.a.c.r.ApiRateLimitServiceImpl] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) API rate limiting is disabled. We will not use ApiRateLimitService.
2026-03-01 18:22:35,900 WARN [c.c.a.d.ParamGenericValidationWorker] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Received unknown parameters for command addHost. Unknown parameters : clustertype
2026-03-01 18:22:35,903 INFO [c.c.r.ResourceManagerImpl] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Trying to add a new host at http://172.20.20.4 in data center Zone {"id": "1", "name": "zone1", "uuid": "54d03c09-3daf-41b0-ad29-ae947a307201"}
2026-03-01 18:22:35,930 DEBUG [c.c.h.x.d.XcpServerDiscoverer] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) host 172.20.20.4 doesn't have 996dd2e7-ad95-49cc-a0be-2c9adc4dfb0b Hotfix
2026-03-01 18:22:35,934 DEBUG [c.c.h.x.d.XcpServerDiscoverer] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) host 172.20.20.4 doesn't have 0850b186-4d47-11e3-a720-001b2151a503 Hotfix
2026-03-01 18:22:35,936 INFO [c.c.h.x.d.XcpServerDiscoverer] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Found host xcp-ng-04 ip=172.20.20.4 product version=8.3.0
2026-03-01 18:22:35,939 DEBUG [c.c.n.NetworkModelImpl] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Failed to retrieve the default label for storage traffic: zone: Zone {"id": "1", "name": "zone1", "uuid": "54d03c09-3daf-41b0-ad29-ae947a307201"} hypervisor: XenServer due to: Unable to find the default physical network with traffic=Storage in the specified zone id
2026-03-01 18:22:35,964 DEBUG [c.c.a.r.v.VirtualRoutingResource] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) The router.aggregation.command.each.timeout in seconds is set to 600
2026-03-01 18:22:36,054 WARN [c.c.h.x.r.XcpServer83Resource] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Unsupported configuration. Management network is on a VLAN. host=18eae8ff-c756-4a81-a0d8-c8d9a6090257; pif=5f1a486e-27fe-7086-7064-1820b9e1990e; vlan=20
2026-03-01 18:22:36,054 WARN [c.c.h.x.r.XcpServer83Resource] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Unable to get host information for 172.20.20.4 com.cloud.utils.exception.CloudRuntimeException: Unsupported configuration. Management network is on a VLAN. host=18eae8ff-c756-4a81-a0d8-c8d9a6090257; pif=5f1a486e-27fe-7086-7064-1820b9e1990e; vlan=20
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.getManagementNetwork(CitrixResourceBase.java:2791)
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.getHostInfo(CitrixResourceBase.java:2224)
at com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.initialize(CitrixResourceBase.java:3703)
at com.cloud.hypervisor.xenserver.resource.XenServer56Resource.initialize(XenServer56Resource.java:137)
at org.apache.cloudstack.hypervisor.xenserver.XenServerResourceNewBase.initialize(XenServerResourceNewBase.java:72)
at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:3429)
at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:3419)
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:943)
at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:720)
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.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.$Proxy234.discoverHosts(Unknown Source)
at org.apache.cloudstack.api.command.admin.host.AddHostCmd.execute(AddHostCmd.java:154)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:173)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:854)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:668)
at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:416)
at com.cloud.api.ApiServlet$1.run(ApiServlet.java:193)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:190)
at com.cloud.api.ApiServlet.doPost(ApiServlet.java:149)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:665)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:840)

2026-03-01 18:22:36,054 WARN [c.c.h.x.r.XcpServer83Resource] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Unable to get host information for 172.20.20.4
2026-03-01 18:22:36,060 INFO [c.c.r.ResourceManagerImpl] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Unable to fully initialize the agent because no StartupCommands are returned
2026-03-01 18:22:36,060 INFO [c.c.r.ResourceManagerImpl] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) server resources successfully discovered by XCP Agent
2026-03-01 18:22:36,060 INFO [c.c.a.ApiServer] (qtp1438988851-319:[ctx-42e149e5, ctx-36fadadb]) (logid:326107e1) Failed to add host`

### versions

4.22

### The steps to reproduce the bug

1.
2.
3.
...

### What to do about it?

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with CitrixResourceBase.java at getManagementNetwork(), then trace getHostInfo() and XcpServer83Resource.initialize() from the reported addHost stack trace. Reproduce host discovery with an XCP-ng management network on VLAN 20 and determine the expected initialization behavior; done means the host can be added successfully instead of failing with the unsupported-configuration error.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.