diff --git a/api/src/com/cloud/agent/api/to/VirtualMachineTO.java b/api/src/com/cloud/agent/api/to/VirtualMachineTO.java index a1d945243fd..4b36df5827f 100644 --- a/api/src/com/cloud/agent/api/to/VirtualMachineTO.java +++ b/api/src/com/cloud/agent/api/to/VirtualMachineTO.java @@ -50,7 +50,6 @@ public class VirtualMachineTO { String platformEmulator; String bootArgs; String[] bootupScripts; - boolean rebootOnCrash; boolean enableHA; boolean limitCpuUse; boolean enableDynamicallyScaleVm; diff --git a/api/src/org/apache/cloudstack/api/command/admin/router/ConfigureVirtualRouterElementCmd.java b/api/src/org/apache/cloudstack/api/command/admin/router/ConfigureVirtualRouterElementCmd.java index b8fafb63a6f..6dd05a48b71 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/router/ConfigureVirtualRouterElementCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/router/ConfigureVirtualRouterElementCmd.java @@ -127,8 +127,10 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd { VirtualRouterProvider result = _service.get(0).configure(this); if (result != null) { VirtualRouterProviderResponse routerResponse = _responseGenerator.createVirtualRouterProviderResponse(result); - routerResponse.setResponseName(getCommandName()); - this.setResponseObject(routerResponse); + if(routerResponse != null) { + routerResponse.setResponseName(getCommandName()); + this.setResponseObject(routerResponse); + } } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to configure the virtual router provider"); } diff --git a/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java b/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java index f43b143d4ec..10cf00f987b 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java @@ -110,8 +110,10 @@ public class CreateVirtualRouterElementCmd extends BaseAsyncCreateCmd { VirtualRouterProvider result = _service.get(0).getCreatedElement(getEntityId()); if (result != null) { VirtualRouterProviderResponse response = _responseGenerator.createVirtualRouterProviderResponse(result); - response.setResponseName(getCommandName()); - this.setResponseObject(response); + if(response != null) { + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add Virtual Router entity to physical network"); } diff --git a/api/src/org/apache/cloudstack/api/command/admin/usage/ListTrafficTypesCmd.java b/api/src/org/apache/cloudstack/api/command/admin/usage/ListTrafficTypesCmd.java index fd0635959b8..a5a5a5d8d3d 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/usage/ListTrafficTypesCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/usage/ListTrafficTypesCmd.java @@ -80,13 +80,14 @@ public class ListTrafficTypesCmd extends BaseListCmd { Pair, Integer> trafficTypes = _networkService.listTrafficTypes(getPhysicalNetworkId()); ListResponse response = new ListResponse(); List trafficTypesResponses = new ArrayList(); - for (PhysicalNetworkTrafficType trafficType : trafficTypes.first()) { - TrafficTypeResponse trafficTypeResponse = _responseGenerator.createTrafficTypeResponse(trafficType); - trafficTypesResponses.add(trafficTypeResponse); + if(trafficTypes != null) { + for (PhysicalNetworkTrafficType trafficType : trafficTypes.first()) { + TrafficTypeResponse trafficTypeResponse = _responseGenerator.createTrafficTypeResponse(trafficType); + trafficTypesResponses.add(trafficTypeResponse); + } + response.setResponses(trafficTypesResponses, trafficTypes.second()); + response.setResponseName(getCommandName()); } - - response.setResponses(trafficTypesResponses, trafficTypes.second()); - response.setResponseName(getCommandName()); this.setResponseObject(response); } } diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/RegisterCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/RegisterCmd.java index 2090d21e4a6..bb809990bde 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/user/RegisterCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/user/RegisterCmd.java @@ -75,8 +75,10 @@ public class RegisterCmd extends BaseCmd { public void execute() { String[] keys = _accountService.createApiKeyAndSecretKey(this); RegisterResponse response = new RegisterResponse(); - response.setApiKey(keys[0]); - response.setSecretKey(keys[1]); + if (keys != null) { + response.setApiKey(keys[0]); + response.setSecretKey(keys[1]); + } response.setObjectName("userkeys"); response.setResponseName(getCommandName()); this.setResponseObject(response); diff --git a/api/src/org/apache/cloudstack/api/command/admin/vlan/CreateVlanIpRangeCmd.java b/api/src/org/apache/cloudstack/api/command/admin/vlan/CreateVlanIpRangeCmd.java index 60326257f22..a2da7dbc8da 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/vlan/CreateVlanIpRangeCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/vlan/CreateVlanIpRangeCmd.java @@ -129,7 +129,7 @@ public class CreateVlanIpRangeCmd extends BaseCmd { } public Boolean isForVirtualNetwork() { - return forVirtualNetwork == null ? true : forVirtualNetwork; + return forVirtualNetwork == null ? Boolean.TRUE : forVirtualNetwork; } public String getGateway() { diff --git a/api/src/org/apache/cloudstack/api/command/user/address/AssociateIPAddrCmd.java b/api/src/org/apache/cloudstack/api/command/user/address/AssociateIPAddrCmd.java index ae13717e427..63939dcc776 100644 --- a/api/src/org/apache/cloudstack/api/command/user/address/AssociateIPAddrCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/address/AssociateIPAddrCmd.java @@ -172,10 +172,6 @@ public class AssociateIPAddrCmd extends BaseAsyncCreateCmd { } Long zoneId = getZoneId(); - if (zoneId == null) { - return null; - } - DataCenter zone = _entityMgr.findById(DataCenter.class, zoneId); if (zone.getNetworkType() == NetworkType.Advanced) { List networks = _networkService.getIsolatedNetworksOwnedByAccountInZone(getZoneId(), _accountService.getAccount(getEntityOwnerId())); diff --git a/api/src/org/apache/cloudstack/api/command/user/address/UpdateIPAddrCmd.java b/api/src/org/apache/cloudstack/api/command/user/address/UpdateIPAddrCmd.java index c64b6411c56..f0ea6672c78 100644 --- a/api/src/org/apache/cloudstack/api/command/user/address/UpdateIPAddrCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/address/UpdateIPAddrCmd.java @@ -127,8 +127,10 @@ public class UpdateIPAddrCmd extends BaseAsyncCustomIdCmd { NetworkRuleConflictException { IpAddress result = _networkService.updateIP(getId(), getCustomId(), getDisplayIp()); - IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(ResponseView.Restricted, result); - ipResponse.setResponseName(getCommandName()); - setResponseObject(ipResponse); + if(result != null) { + IPAddressResponse ipResponse = _responseGenerator.createIPAddressResponse(ResponseView.Restricted, result); + ipResponse.setResponseName(getCommandName()); + setResponseObject(ipResponse); + } } } \ No newline at end of file diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index ca0b86d0e16..9bb23a96763 100755 --- a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -749,14 +749,15 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra } Pair vmNicPair = allocateNic(requested, config, isDefaultNic, deviceId, vm); - - NicProfile vmNic = vmNicPair.first(); - if (vmNic == null) { - continue; + NicProfile vmNic = null; + if(vmNicPair != null) { + vmNic = vmNicPair.first(); + if (vmNic == null) { + continue; + } + deviceId = vmNicPair.second(); } - deviceId = vmNicPair.second(); - int devId = vmNic.getDeviceId(); if (devId > deviceIds.length) { throw new IllegalArgumentException("Device id for nic is too large: " + vmNic); diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java index d5563620218..485da8dfa67 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java @@ -3174,7 +3174,9 @@ public class NetscalerResource implements ServerResource { scaleUpAction.set_vserver(nsVirtualServerName); // Actions Vserver, the one that is autoscaled, with CS // now both are same. Not exposed in API. scaleUpAction.set_profilename(profileName); - scaleUpAction.set_quiettime(scaleUpQuietTime); + if(scaleUpQuietTime != null) { + scaleUpAction.set_quiettime(scaleUpQuietTime); + } String scaleUpParameters = "command=deployVirtualMachine" + "&" + ApiConstants.ZONE_ID + "=" + profileTO.getZoneId() + "&" + ApiConstants.SERVICE_OFFERING_ID + "=" + profileTO.getServiceOfferingId() + "&" + ApiConstants.TEMPLATE_ID + "=" + profileTO.getTemplateId() + "&" + ApiConstants.DISPLAY_NAME + "=" + diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java index ad90812c6c5..9a98f3346c5 100644 --- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java +++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java @@ -341,11 +341,14 @@ public class ParamProcessWorker implements DispatchWorker { field.set(cmdObj, Short.valueOf(paramObj.toString())); break; case STRING: - if ((paramObj != null) && paramObj.toString().length() > annotation.length()) { - s_logger.error("Value greater than max allowed length " + annotation.length() + " for param: " + field.getName()); - throw new InvalidParameterValueException("Value greater than max allowed length " + annotation.length() + " for param: " + field.getName()); + if ((paramObj != null)) { + if (paramObj.toString().length() > annotation.length()) { + s_logger.error("Value greater than max allowed length " + annotation.length() + " for param: " + field.getName()); + throw new InvalidParameterValueException("Value greater than max allowed length " + annotation.length() + " for param: " + field.getName()); + } else { + field.set(cmdObj, paramObj.toString()); + } } - field.set(cmdObj, paramObj.toString()); break; case TZDATE: field.set(cmdObj, DateUtil.parseTZDateString(paramObj.toString())); diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 427e3ec02cb..52233de75b4 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -1600,7 +1600,9 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements NetworkOffering off = _entityMgr.findById(NetworkOffering.class, network.getNetworkOfferingId()); if (off.getElasticLb() && ipVO == null && network.getVpcId() == null) { systemIp = _ipAddrMgr.assignSystemIp(networkId, lbOwner, true, false); - ipVO = _ipAddressDao.findById(systemIp.getId()); + if (systemIp != null) { + ipVO = _ipAddressDao.findById(systemIp.getId()); + } } // Validate ip address diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/com/cloud/storage/VolumeApiServiceImpl.java index fa104ed39f7..07343859377 100644 --- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java +++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java @@ -2141,7 +2141,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic } if (sendCommand) { - if (host.getHypervisorType() == HypervisorType.KVM && + if (host != null && host.getHypervisorType() == HypervisorType.KVM && volumeToAttachStoragePool.isManaged() && volumeToAttach.getPath() == null) { volumeToAttach.setPath(volumeToAttach.get_iScsiName()); @@ -2178,8 +2178,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic try { answer = (AttachAnswer)_agentMgr.send(hostId, cmd); } catch (Exception e) { - volService.disconnectVolumeFromHost(volFactory.getVolume(volumeToAttach.getId()), host, dataStore); - + if(host!=null) { + volService.disconnectVolumeFromHost(volFactory.getVolume(volumeToAttach.getId()), host, dataStore); + } throw new CloudRuntimeException(errorMsg + " due to: " + e.getMessage()); } } @@ -2216,9 +2217,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic errorMsg += "; " + details; } } - - volService.disconnectVolumeFromHost(volFactory.getVolume(volumeToAttach.getId()), host, dataStore); - + if(host!= null) { + volService.disconnectVolumeFromHost(volFactory.getVolume(volumeToAttach.getId()), host, dataStore); + } throw new CloudRuntimeException(errorMsg); } } diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index 1b44a12a14c..eed15811df7 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -182,21 +182,23 @@ public class DownloadMonitorImpl extends ManagerBase implements DownloadMonitor @Override public void downloadTemplateToStorage(DataObject template, AsyncCompletionCallback callback) { - long templateId = template.getId(); - DataStore store = template.getDataStore(); - if (isTemplateUpdateable(templateId, store.getId())) { - if (template != null && template.getUri() != null) { - initiateTemplateDownload(template, callback); + if(template != null) { + long templateId = template.getId(); + DataStore store = template.getDataStore(); + if (isTemplateUpdateable(templateId, store.getId())) { + if (template.getUri() != null) { + initiateTemplateDownload(template, callback); + } else { + s_logger.info("Template url is null, cannot download"); + DownloadAnswer ans = new DownloadAnswer("Template url is null", Status.UNKNOWN); + callback.complete(ans); + } } else { - s_logger.info("Template url is null, cannot download"); - DownloadAnswer ans = new DownloadAnswer("Template url is null", Status.UNKNOWN); + s_logger.info("Template download is already in progress or already downloaded"); + DownloadAnswer ans = + new DownloadAnswer("Template download is already in progress or already downloaded", Status.UNKNOWN); callback.complete(ans); } - } else { - s_logger.info("Template download is already in progress or already downloaded"); - DownloadAnswer ans = - new DownloadAnswer("Template download is already in progress or already downloaded", Status.UNKNOWN); - callback.complete(ans); } }