You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Prasanna Santhanam (JIRA)" <ji...@apache.org> on 2013/07/03 13:28:20 UTC
[jira] [Updated] (CLOUDSTACK-3348) createLoadBalancer rule done
when creating network out of offering where serviceCapabilityList not set
to dedicated for LB when LB is done by VR?
[ https://issues.apache.org/jira/browse/CLOUDSTACK-3348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Prasanna Santhanam updated CLOUDSTACK-3348:
-------------------------------------------
Summary: createLoadBalancer rule done when creating network out of offering where serviceCapabilityList not set to dedicated for LB when LB is done by VR? (was: network creation fails if serviceCapabilityList not set to dedicated for LB when LB is done by VR)
> createLoadBalancer rule done when creating network out of offering where serviceCapabilityList not set to dedicated for LB when LB is done by VR?
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-3348
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3348
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Components: API, Network Controller
> Affects Versions: 4.2.0
> Reporter: Prasanna Santhanam
> Priority: Critical
> Fix For: 4.2.0
>
>
> Steps to reproduce
> 1. create a network offering from the API and enable it:
> "network_offering": {
> "name": 'Network offering-VR services',
> "displaytext": 'Network offering-VR services',
> "guestiptype": 'Isolated',
> "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
> "traffictype": 'GUEST',
> "availability": 'Optional',
> "serviceProviderList": {
> "Dhcp": 'VirtualRouter',
> "Dns": 'VirtualRouter',
> "SourceNat": 'VirtualRouter',
> "PortForwarding": 'VirtualRouter',
> "Vpn": 'VirtualRouter',
> "Firewall": 'VirtualRouter',
> "Lb": 'VirtualRouter',
> "UserData": 'VirtualRouter',
> "StaticNat": 'VirtualRouter',
> },
> },
> 2. create a network from the offering
> 3. network creation fails with following exception
> WARN [network.lb.LoadBalancingRulesManagerImpl] (793160707@qtp-148431068-14:) Failed to create load balancer due to
> java.security.InvalidParameterException: The IP 192.168.2.6 is already used as PortForwarding rather than Lb
> at com.cloud.network.NetworkModelImpl.canIpUsedForNonConserveService(NetworkModelImpl.java:391)
> at com.cloud.network.NetworkModelImpl.checkIpForService(NetworkModelImpl.java:1473)
> at com.cloud.network.lb.LoadBalancingRulesManagerImpl.createPublicLoadBalancerRule(LoadBalancingRulesManagerImpl.java:1321)
> at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> at org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd.create(CreateLoadBalancerRuleCmd.java:281)
> at com.cloud.api.ApiDispatcher.dispatchCreateCmd(ApiDispatcher.java:101)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:475)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:371)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> ERROR [cloud.api.ApiServer] (793160707@qtp-148431068-14:) unhandled exception executing api command: createLoadBalancerRule
> com.cloud.utils.exception.CloudRuntimeException: Failed to create load balancer rule: SSH
> at com.cloud.network.lb.LoadBalancingRulesManagerImpl.createPublicLoadBalancerRule(LoadBalancingRulesManagerImpl.java:1350)
> at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> at org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd.create(CreateLoadBalancerRuleCmd.java:281)
> at com.cloud.api.ApiDispatcher.dispatchCreateCmd(ApiDispatcher.java:101)
> at com.cloud.api.ApiServer.queueCommand(ApiServer.java:475)
> at com.cloud.api.ApiServer.handleRequest(ApiServer.java:371)
> at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
> at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> The same scenario works from the UI since the serviceCapabilityList sets the VR to do dedicated LB. but the API doesn't require this. Here's the parsed response from the UI.
> command:createNetworkOffering
> response:json
> sessionkey:f5u9C/lyjgqLM5sshzcYGsGCQ+o=
> name:test-packaging
> displayText:t
> guestIpType:Isolated
> lbType:publicLb
> servicecapabilitylist[0].service:SourceNat
> servicecapabilitylist[0].capabilitytype:SupportedSourceNatTypes
> servicecapabilitylist[0].capabilityvalue:peraccount
> servicecapabilitylist[1].service:lb
> servicecapabilitylist[1].capabilitytype:SupportedLbIsolation
> servicecapabilitylist[1].capabilityvalue:dedicated
> availability:Optional
> state:Creating
> status:Creating
> allocationstate:Creating
> supportedServices:Vpn,Dhcp,Dns,Firewall,Lb,SourceNat,StaticNat,PortForwarding
> specifyIpRanges:false
> specifyVlan:false
> isPersistent:false
> conservemode:false
> serviceProviderList[0].service:Vpn
> serviceProviderList[0].provider:VirtualRouter
> serviceProviderList[1].service:Dhcp
> serviceProviderList[1].provider:VirtualRouter
> serviceProviderList[2].service:Dns
> serviceProviderList[2].provider:VirtualRouter
> serviceProviderList[3].service:Firewall
> serviceProviderList[3].provider:VirtualRouter
> serviceProviderList[4].service:Lb
> serviceProviderList[4].provider:VirtualRouter
> serviceProviderList[5].service:SourceNat
> serviceProviderList[5].provider:VirtualRouter
> serviceProviderList[6].service:StaticNat
> serviceProviderList[6].provider:VirtualRouter
> serviceProviderList[7].service:PortForwarding
> serviceProviderList[7].provider:VirtualRouter
> traffictype:GUEST
--
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