Fix regression of return Userdata provider when caller asked for DHCP

It's introduced by:

commit 052c24c4d1c881f791b804dbb9c2fc083af7da36
Author: Bharat Kumar <bharat.kumar@citrix.com>
Date:   Mon May 13 17:02:27 2013 +0530

    CLOUDSTACK-702: Multiple ip ranges in different subnets.

This commit get userdata provider when caller asked for dhcp provider, thus
result in trouble e.g.

ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-11:job-10) Unexpected
exception while executing
org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd
java.lang.ClassCastException:
com.cloud.baremetal.networkservice.BaremetalUserdataElement_EnhancerByCloudStack_5dee69d2
cannot be cast to com.cloud.network.element.DhcpServiceProvider
        at
com.cloud.network.NetworkManagerImpl.getDhcpServiceProvider(NetworkManagerImpl.java:3309)
...
This commit is contained in:
Sheng Yang 2013-06-19 17:06:06 -07:00
parent 0a4e65126f
commit b3fb4851ee

View File

@ -3299,7 +3299,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
@Override
public DhcpServiceProvider getDhcpServiceProvider(Network network) {
String DhcpProvider = _ntwkSrvcDao.getProviderForServiceInNetwork(network.getId(), Service.UserData);
String DhcpProvider = _ntwkSrvcDao.getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
if (DhcpProvider == null) {
s_logger.debug("Network " + network + " doesn't support service " + Service.Dhcp.getName());