Dave Garbus created CLOUDSTACK-4630:
---------------------------------------
Summary: Cannot apply userdata unless all NICs support userdata
Key: CLOUDSTACK-4630
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4630
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Network Devices
Affects Versions: 4.1.1
Environment: CentOS 6.4 x86_64
Reporter: Dave Garbus
To reproduce this issue, follow the steps below:
1. Create two network offerings, one with UserData service (virtual router) and
one without.
2. Add two NICs to the virtual machine with networks corresponding to each
network offering above.
3. Call updateVirtualMachine on the VM, specifying userdata.
The update will fail with the following error:
: Service UserData is not supported in the network id=217
If the NIC without UserData support is removed, the update will go through
without issue. In my opinion, this should not cause the whole update to fail,
but only update UserData for the relevant NICs.
Full trace below:
2013-09-09 14:40:21,316 ERROR [cloud.api.ApiServer] (http-6443-exec-3:null)
unhandled exception executing api command: updateVirtualMachine
com.cloud.exception.UnsupportedServiceException: Service UserData is not
supported in the network id=217
at
com.cloud.network.dao.NetworkServiceMapDaoImpl.getProviderForServiceInNetwork(NetworkServiceMapDaoImpl.java:126)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
com.cloud.network.NetworkModelImpl.getUserDataUpdateProvider(NetworkModelImpl.java:824)
at
com.cloud.vm.UserVmManagerImpl.updateUserDataInternal(UserVmManagerImpl.java:2561)
at
com.cloud.vm.UserVmManagerImpl.updateVirtualMachine(UserVmManagerImpl.java:2532)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.api.command.user.vm.UpdateVMCmd.execute(UpdateVMCmd.java:123)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:162)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:505)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:355)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
at
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira