diff --git a/api/src/com/cloud/api/ResponseGenerator.java b/api/src/com/cloud/api/ResponseGenerator.java
index 45dd1957a25..8a55b299222 100644
--- a/api/src/com/cloud/api/ResponseGenerator.java
+++ b/api/src/com/cloud/api/ResponseGenerator.java
@@ -44,7 +44,6 @@ import com.cloud.api.response.SecurityGroupResponse;
import com.cloud.api.response.NetworkOfferingResponse;
import com.cloud.api.response.NetworkResponse;
import com.cloud.api.response.PodResponse;
-import com.cloud.api.response.PreallocatedLunResponse;
import com.cloud.api.response.RemoteAccessVpnResponse;
import com.cloud.api.response.ResourceLimitResponse;
import com.cloud.api.response.ServiceOfferingResponse;
@@ -138,8 +137,6 @@ public interface ResponseGenerator {
InstanceGroupResponse createInstanceGroupResponse(InstanceGroup group);
- PreallocatedLunResponse createPreallocatedLunResponse(Object preallocatedLun);
-
StoragePoolResponse createStoragePoolResponse(StoragePool pool);
ClusterResponse createClusterResponse(Cluster cluster);
diff --git a/api/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java b/api/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java
deleted file mode 100644
index 8e1713e08af..00000000000
--- a/api/src/com/cloud/api/commands/DeletePreallocatedLunCmd.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.api.commands;
-
-import com.cloud.api.ApiConstants;
-import com.cloud.api.BaseCmd;
-import com.cloud.api.Implementation;
-import com.cloud.api.Parameter;
-import com.cloud.api.ServerApiException;
-import com.cloud.api.response.SuccessResponse;
-
-@Implementation(description="Unregisters PreallocatedLun", responseObject=SuccessResponse.class)
-public class DeletePreallocatedLunCmd extends BaseCmd {
- private static final String s_name = "deletePreallocatedLunsResponse";
-
- /////////////////////////////////////////////////////
- //////////////// API parameters /////////////////////
- /////////////////////////////////////////////////////
-
- @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="preallocated LUN ID")
- private Long id;
-
- /////////////////////////////////////////////////////
- /////////////////// Accessors ///////////////////////
- /////////////////////////////////////////////////////
-
- public Long getId() {
- return id;
- }
-
- /////////////////////////////////////////////////////
- /////////////// API Implementation///////////////////
- /////////////////////////////////////////////////////
-
- @Override
- public String getCommandName() {
- return s_name;
- }
-
- @Override
- public void execute(){
- boolean result = _mgr.unregisterPreallocatedLun(this);
- if (result) {
- SuccessResponse response = new SuccessResponse(getCommandName());
- this.setResponseObject(response);
- } else {
- throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete preallocated lun");
- }
- }
-}
diff --git a/api/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java b/api/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java
deleted file mode 100644
index 981c155c3ed..00000000000
--- a/api/src/com/cloud/api/commands/ListPreallocatedLunsCmd.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-
-package com.cloud.api.commands;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-import com.cloud.api.ApiConstants;
-import com.cloud.api.BaseListCmd;
-import com.cloud.api.Implementation;
-import com.cloud.api.Parameter;
-import com.cloud.api.response.ListResponse;
-import com.cloud.api.response.PreallocatedLunResponse;
-
-@Implementation(description="List PreallocatedLuns",responseObject=PreallocatedLunResponse.class)
-public class ListPreallocatedLunsCmd extends BaseListCmd {
- public static final Logger s_logger = Logger.getLogger(ListPreallocatedLunsCmd.class.getName());
-
- private static final String s_name = "listpreallocatedlunsresponse";
-
- /////////////////////////////////////////////////////
- //////////////// API parameters /////////////////////
- /////////////////////////////////////////////////////
-
- //FIXME - add description
- @Parameter(name=ApiConstants.SCOPE, type=CommandType.STRING)
- private String scope;
-
- //FIXME - add description
- @Parameter(name=ApiConstants.TARGET_IQN, type=CommandType.STRING)
- private String targetIqn;
-
- /////////////////////////////////////////////////////
- /////////////////// Accessors ///////////////////////
- /////////////////////////////////////////////////////
-
- public String getScope() {
- return scope;
- }
-
- public String getTargetIqn() {
- return targetIqn;
- }
-
- /////////////////////////////////////////////////////
- /////////////// API Implementation///////////////////
- /////////////////////////////////////////////////////
-
- @Override
- public String getCommandName() {
- return s_name;
- }
-
- @Override
- public void execute(){
- List extends Object> preallocatedLuns = _mgr.getPreAllocatedLuns(this);
- ListResponse response = new ListResponse();
- List lunResponses = new ArrayList();
- for (Object preallocatedLun : preallocatedLuns) {
- PreallocatedLunResponse preallocLunResponse = _responseGenerator.createPreallocatedLunResponse(preallocatedLun);
-
- preallocLunResponse.setObjectName("preallocatedlun");
- lunResponses.add(preallocLunResponse);
- }
-
- response.setResponses(lunResponses);
- response.setResponseName(getCommandName());
- this.setResponseObject(response);
- }
-}
diff --git a/api/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java b/api/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java
deleted file mode 100644
index 1fb47e40d5b..00000000000
--- a/api/src/com/cloud/api/commands/RegisterPreallocatedLunCmd.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.api.commands;
-
-import com.cloud.api.ApiConstants;
-import com.cloud.api.BaseCmd;
-import com.cloud.api.Implementation;
-import com.cloud.api.Parameter;
-import com.cloud.api.ServerApiException;
-import com.cloud.api.response.PreallocatedLunResponse;
-
-@Implementation(description="Registers PreallocatedLun", responseObject=PreallocatedLunResponse.class)
-public class RegisterPreallocatedLunCmd extends BaseCmd {
- private static final String s_name = "registerPreallocatedLunsResponse";
-
- /////////////////////////////////////////////////////
- //////////////// API parameters /////////////////////
- /////////////////////////////////////////////////////
-
- @Parameter(name=ApiConstants.DISK_SIZE, type=CommandType.LONG, required=true, description="Volume size")
- private Long diskSize;
-
- @Parameter(name=ApiConstants.LUN, type=CommandType.INTEGER, required=true, description="Lun id")
- private Integer lun;
-
- //FIXME - add description
- @Parameter(name=ApiConstants.PORTAL, type=CommandType.STRING, required=true)
- private String portal;
-
- @Parameter(name=ApiConstants.TAGS, type=CommandType.STRING, description="tags for the volume")
- private String tags;
-
- @Parameter(name=ApiConstants.TARGET_IQN, type=CommandType.STRING, required=true, description="the target IQN on the storage host where LUN is created")
- private String targetIqn;
-
- @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=true, description="zone ID where LUN is going to be created")
- private Long zoneId;
-
- /////////////////////////////////////////////////////
- /////////////////// Accessors ///////////////////////
- /////////////////////////////////////////////////////
-
- public Long getDiskSize() {
- return diskSize;
- }
-
- public Integer getLun() {
- return lun;
- }
-
- public String getPortal() {
- return portal;
- }
-
- public String getTags() {
- return tags;
- }
-
- public String getTargetIqn() {
- return targetIqn;
- }
-
- public Long getZoneId() {
- return zoneId;
- }
-
- /////////////////////////////////////////////////////
- /////////////// API Implementation///////////////////
- /////////////////////////////////////////////////////
-
- @Override
- public String getCommandName() {
- return s_name;
- }
-
- @Override
- public void execute(){
- Object result = _mgr.registerPreallocatedLun(this);
- if (result != null){
- PreallocatedLunResponse response = _responseGenerator.createPreallocatedLunResponse(result);
- response.setResponseName(getCommandName());
- this.setResponseObject(response);
- } else {
- throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to register preallocated lun");
- }
- }
-}
diff --git a/api/src/com/cloud/api/response/PreallocatedLunResponse.java b/api/src/com/cloud/api/response/PreallocatedLunResponse.java
deleted file mode 100644
index 061da2cc65f..00000000000
--- a/api/src/com/cloud/api/response/PreallocatedLunResponse.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.api.response;
-
-import java.util.Date;
-
-import com.cloud.serializer.Param;
-import com.google.gson.annotations.SerializedName;
-
-public class PreallocatedLunResponse extends BaseResponse {
- @SerializedName("id") @Param(description="the ID of the preallocated LUN")
- private Long id;
-
- @SerializedName("volumeid") @Param(description="the ID of the preallocated LUN")
- private Long volumeId;
-
- @SerializedName("zoneid") @Param(description="the zone ID of the preallocated LUN")
- private Long zoneId;
-
- @SerializedName("lun") @Param(description="the name of the preallocated LUN")
- private Integer lun;
-
- //FIXME - add description
- @SerializedName("portal")
- private String portal;
-
- @SerializedName("size") @Param(description="the size of the preallocated LUN")
- private Long size;
-
- @SerializedName("taken") @Param(description="true if the preallocated LUN is used by the volume, false otherwise")
- private Date taken;
-
- @SerializedName("targetiqn") @Param(description="the target IQN of the preallocated LUN")
- private String targetIqn;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public Long getVolumeId() {
- return volumeId;
- }
-
- public void setVolumeId(Long volumeId) {
- this.volumeId = volumeId;
- }
-
- public Long getZoneId() {
- return zoneId;
- }
-
- public void setZoneId(Long zoneId) {
- this.zoneId = zoneId;
- }
-
- public Integer getLun() {
- return lun;
- }
-
- public void setLun(Integer lun) {
- this.lun = lun;
- }
-
- public String getPortal() {
- return portal;
- }
-
- public void setPortal(String portal) {
- this.portal = portal;
- }
-
- public Long getSize() {
- return size;
- }
-
- public void setSize(Long size) {
- this.size = size;
- }
-
- public Date getTaken() {
- return taken;
- }
-
- public void setTaken(Date taken) {
- this.taken = taken;
- }
-
- public String getTargetIqn() {
- return targetIqn;
- }
-
- public void setTargetIqn(String targetIqn) {
- this.targetIqn = targetIqn;
- }
-}
diff --git a/api/src/com/cloud/server/ManagementService.java b/api/src/com/cloud/server/ManagementService.java
index 9ddcf64a211..3ec7aff17ca 100644
--- a/api/src/com/cloud/server/ManagementService.java
+++ b/api/src/com/cloud/server/ManagementService.java
@@ -28,7 +28,6 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.commands.CreateDomainCmd;
import com.cloud.api.commands.CreateSSHKeyPairCmd;
import com.cloud.api.commands.DeleteDomainCmd;
-import com.cloud.api.commands.DeletePreallocatedLunCmd;
import com.cloud.api.commands.DeleteSSHKeyPairCmd;
import com.cloud.api.commands.DestroySystemVmCmd;
import com.cloud.api.commands.ExtractVolumeCmd;
@@ -51,7 +50,6 @@ import com.cloud.api.commands.ListHostsCmd;
import com.cloud.api.commands.ListHypervisorsCmd;
import com.cloud.api.commands.ListIsosCmd;
import com.cloud.api.commands.ListPodsByCmd;
-import com.cloud.api.commands.ListPreallocatedLunsCmd;
import com.cloud.api.commands.ListPublicIpAddressesCmd;
import com.cloud.api.commands.ListRoutersCmd;
import com.cloud.api.commands.ListSSHKeyPairsCmd;
@@ -67,7 +65,6 @@ import com.cloud.api.commands.ListVolumesCmd;
import com.cloud.api.commands.ListZonesByCmd;
import com.cloud.api.commands.RebootSystemVmCmd;
import com.cloud.api.commands.RegisterCmd;
-import com.cloud.api.commands.RegisterPreallocatedLunCmd;
import com.cloud.api.commands.RegisterSSHKeyPairCmd;
import com.cloud.api.commands.StartSystemVMCmd;
import com.cloud.api.commands.StopSystemVmCmd;
@@ -184,21 +181,7 @@ public interface ManagementService {
* @return List of Events.
*/
List extends Event> searchForEvents(ListEventsCmd c);
-
- /**
- * registerPreallocatedLun registers a preallocated lun in our database.
- *
- * @param cmd the API command wrapping the register parameters
- * - targetIqn iqn for the storage server.
- * - portal portal ip address for the storage server.
- * - lun lun #
- * - size size of the lun
- * - dcId data center to attach to
- * - tags tags to attach to the lun
- * @return the new PreAllocatedLun
- */
- Object registerPreallocatedLun(RegisterPreallocatedLunCmd cmd);
-
+
/**
* Obtains a list of routers by the specified search criteria.
* Can search by: "userId", "name", "state", "dataCenterId", "podId", "hostId"
@@ -343,8 +326,6 @@ public interface ManagementService {
*/
ArrayList getCloudIdentifierResponse(GetCloudIdentifierCmd cmd);
- public List extends Object> getPreAllocatedLuns(ListPreallocatedLunsCmd cmd);
-
boolean updateTemplatePermissions(UpdateTemplatePermissionsCmd cmd);
boolean updateTemplatePermissions(UpdateIsoPermissionsCmd cmd);
String[] createApiKeyAndSecretKey(RegisterCmd cmd);
@@ -401,13 +382,6 @@ public interface ManagementService {
* @return a random password
*/
String generateRandomPassword();
- /**
- * Unregisters a preallocated lun in our database
- * @param cmd the api command wrapping the id of the lun
- * @return true if unregistered; false if not.
- * @throws IllegalArgumentException
- */
- boolean unregisterPreallocatedLun(DeletePreallocatedLunCmd cmd) throws IllegalArgumentException;
public Long saveStartedEvent(Long userId, Long accountId, String type, String description, long startEventId);
diff --git a/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunDetailVO.java b/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunDetailVO.java
deleted file mode 100644
index 4db79daf27a..00000000000
--- a/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunDetailVO.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(name="ext_lun_details")
-public class PreallocatedLunDetailVO {
-
- @Id
- @GeneratedValue(strategy=GenerationType.IDENTITY)
- @Column(name="id")
- private long id;
-
- @Column(name="ext_lun_id")
- private long lunId;
-
- @Column(name="tag")
- private String tag;
-
- protected PreallocatedLunDetailVO() {
- }
-
- public long getId() {
- return id;
- }
-
- public long getLunId() {
- return lunId;
- }
-
- public String getTag() {
- return tag;
- }
-
- public PreallocatedLunDetailVO(long lunId, String tag) {
- this.lunId = lunId;
- this.tag = tag;
- }
-
-}
diff --git a/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunVO.java b/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunVO.java
deleted file mode 100644
index ee61479e91f..00000000000
--- a/core/src/com/cloud/storage/preallocatedlun/PreallocatedLunVO.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun;
-
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-
-@Entity
-@Table(name="ext_lun_alloc")
-public class PreallocatedLunVO {
-
- @Id
- @GeneratedValue(strategy=GenerationType.IDENTITY)
- @Column(name="id")
- private long id;
-
- private String portal;
-
- @Column(name="target_iqn")
- private String targetIqn;
-
- private int lun;
-
- @Column(name="data_center_id")
- private long dataCenterId;
-
- private long size;
-
- @Column(name="taken", nullable=true)
- @Temporal(value=TemporalType.TIMESTAMP)
- private Date taken;
-
- @Column(name="volume_id")
- private Long volumeId;
-
- public PreallocatedLunVO(long dataCenterId, String portal, String targetIqn, int lun, long size) {
- this.portal = portal;
- this.targetIqn = targetIqn;
- this.lun = lun;
- this.size = size;
- this.taken = null;
- this.volumeId = null;
- this.dataCenterId = dataCenterId;
- }
-
- public long getDataCenterId() {
- return dataCenterId;
- }
-
- public long getId() {
- return id;
- }
-
- public Date getTaken() {
- return taken;
- }
-
- public Long getVolumeId() {
- return volumeId;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getPortal() {
- return portal;
- }
-
- public void setPortal(String portal) {
- this.portal = portal;
- }
-
- public String getTargetIqn() {
- return targetIqn;
- }
-
- public void setTargetIqn(String targetIqn) {
- this.targetIqn = targetIqn;
- }
-
- public int getLun() {
- return lun;
- }
-
- public void setLun(int lun) {
- this.lun = lun;
- }
-
- public long getSize() {
- return size;
- }
-
- public void setSize(long size) {
- this.size = size;
- }
-
- public void setTaken(Date taken) {
- this.taken = taken;
- }
-
- public void setVolumeId(Long instanceId) {
- this.volumeId = instanceId;
- }
-
- protected PreallocatedLunVO() {
- }
-}
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index 6269fbe762e..9d806f63b09 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -56,7 +56,6 @@ import com.cloud.api.response.NetworkOfferingResponse;
import com.cloud.api.response.NetworkResponse;
import com.cloud.api.response.NicResponse;
import com.cloud.api.response.PodResponse;
-import com.cloud.api.response.PreallocatedLunResponse;
import com.cloud.api.response.RemoteAccessVpnResponse;
import com.cloud.api.response.ResourceLimitResponse;
import com.cloud.api.response.SecurityGroupResponse;
@@ -135,7 +134,6 @@ import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.Volume;
import com.cloud.storage.VolumeVO;
-import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
import com.cloud.storage.snapshot.SnapshotPolicy;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.test.PodZoneConfig;
@@ -858,22 +856,6 @@ public class ApiResponseHelper implements ResponseGenerator {
return groupResponse;
}
- @Override
- public PreallocatedLunResponse createPreallocatedLunResponse(Object result) {
- PreallocatedLunVO preallocatedLun = (PreallocatedLunVO)result;
- PreallocatedLunResponse preallocLunResponse = new PreallocatedLunResponse();
- preallocLunResponse.setId(preallocatedLun.getId());
- preallocLunResponse.setVolumeId(preallocatedLun.getVolumeId());
- preallocLunResponse.setZoneId(preallocatedLun.getDataCenterId());
- preallocLunResponse.setLun(preallocatedLun.getLun());
- preallocLunResponse.setPortal(preallocatedLun.getPortal());
- preallocLunResponse.setSize(preallocatedLun.getSize());
- preallocLunResponse.setTaken(preallocatedLun.getTaken());
- preallocLunResponse.setTargetIqn(preallocatedLun.getTargetIqn());
- preallocLunResponse.setObjectName("preallocatedlun");
- return preallocLunResponse;
- }
-
@Override
public StoragePoolResponse createStoragePoolResponse(StoragePool pool) {
StoragePoolResponse poolResponse = new StoragePoolResponse();
diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
index 3d034379996..52e80f41f30 100644
--- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java
+++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
@@ -113,7 +113,6 @@ import com.cloud.storage.dao.VMTemplatePoolDaoImpl;
import com.cloud.storage.dao.VMTemplateZoneDaoImpl;
import com.cloud.storage.dao.VolumeDaoImpl;
import com.cloud.storage.download.DownloadMonitorImpl;
-import com.cloud.storage.preallocatedlun.dao.PreallocatedLunDaoImpl;
import com.cloud.storage.secondary.SecondaryStorageManagerImpl;
import com.cloud.storage.snapshot.SnapshotManagerImpl;
import com.cloud.storage.snapshot.SnapshotSchedulerImpl;
@@ -234,7 +233,6 @@ public class DefaultComponentLibrary implements ComponentLibrary {
addDao("DetailsDao", DetailsDaoImpl.class);
addDao("SnapshotPolicyDao", SnapshotPolicyDaoImpl.class);
addDao("SnapshotScheduleDao", SnapshotScheduleDaoImpl.class);
- addDao("PreallocatedLunDao", PreallocatedLunDaoImpl.class);
addDao("ClusterDao", ClusterDaoImpl.class);
addDao("CertificateDao", CertificateDaoImpl.class);
addDao("NetworkConfigurationDao", NetworkDaoImpl.class);
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index 9cdab5e9ef5..9233edaa454 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -77,7 +77,6 @@ import com.cloud.api.ServerApiException;
import com.cloud.api.commands.CreateDomainCmd;
import com.cloud.api.commands.CreateSSHKeyPairCmd;
import com.cloud.api.commands.DeleteDomainCmd;
-import com.cloud.api.commands.DeletePreallocatedLunCmd;
import com.cloud.api.commands.DeleteSSHKeyPairCmd;
import com.cloud.api.commands.DestroySystemVmCmd;
import com.cloud.api.commands.ExtractVolumeCmd;
@@ -100,7 +99,6 @@ import com.cloud.api.commands.ListHostsCmd;
import com.cloud.api.commands.ListHypervisorsCmd;
import com.cloud.api.commands.ListIsosCmd;
import com.cloud.api.commands.ListPodsByCmd;
-import com.cloud.api.commands.ListPreallocatedLunsCmd;
import com.cloud.api.commands.ListPublicIpAddressesCmd;
import com.cloud.api.commands.ListRoutersCmd;
import com.cloud.api.commands.ListSSHKeyPairsCmd;
@@ -116,7 +114,6 @@ import com.cloud.api.commands.ListVolumesCmd;
import com.cloud.api.commands.ListZonesByCmd;
import com.cloud.api.commands.RebootSystemVmCmd;
import com.cloud.api.commands.RegisterCmd;
-import com.cloud.api.commands.RegisterPreallocatedLunCmd;
import com.cloud.api.commands.RegisterSSHKeyPairCmd;
import com.cloud.api.commands.StartSystemVMCmd;
import com.cloud.api.commands.StopSystemVmCmd;
@@ -219,8 +216,6 @@ import com.cloud.storage.dao.StoragePoolHostDao;
import com.cloud.storage.dao.UploadDao;
import com.cloud.storage.dao.VMTemplateDao;
import com.cloud.storage.dao.VolumeDao;
-import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
-import com.cloud.storage.preallocatedlun.dao.PreallocatedLunDao;
import com.cloud.storage.secondary.SecondaryStorageVmManager;
import com.cloud.storage.upload.UploadMonitor;
import com.cloud.template.TemplateManager;
@@ -325,7 +320,6 @@ public class ManagementServerImpl implements ManagementServer {
private final AsyncJobManager _asyncMgr;
private final TemplateManager _tmpltMgr;
private final int _purgeDelay;
- private final PreallocatedLunDao _lunDao;
private final InstanceGroupDao _vmGroupDao;
private final UploadMonitor _uploadMonitor;
private final UploadDao _uploadDao;
@@ -352,7 +346,6 @@ public class ManagementServerImpl implements ManagementServer {
protected ManagementServerImpl() {
ComponentLocator locator = ComponentLocator.getLocator(Name);
- _lunDao = locator.getDao(PreallocatedLunDao.class);
_configDao = locator.getDao(ConfigurationDao.class);
_routerDao = locator.getDao(DomainRouterDao.class);
_eventDao = locator.getDao(EventDao.class);
@@ -449,45 +442,7 @@ public class ManagementServerImpl implements ManagementServer {
public StorageStats getStorageStatistics(long hostId) {
return _statsCollector.getStorageStats(hostId);
}
-
- @Override
- public PreallocatedLunVO registerPreallocatedLun(RegisterPreallocatedLunCmd cmd) {
- Long zoneId = cmd.getZoneId();
- String portal = cmd.getPortal();
- String targetIqn = cmd.getTargetIqn();
- Integer lun = cmd.getLun();
- Long size = cmd.getDiskSize();
- String t = cmd.getTags();
-
- String[] tags = null;
- if (t != null) {
- tags = t.split(",");
- for (int i = 0; i < tags.length; i++) {
- tags[i] = tags[i].trim();
- }
- } else {
- tags = new String[0];
- }
-
- PreallocatedLunVO vo = new PreallocatedLunVO(zoneId, portal, targetIqn, lun, size);
- return _lunDao.persist(vo, tags);
- }
-
- @Override
- public boolean unregisterPreallocatedLun(DeletePreallocatedLunCmd cmd) throws IllegalArgumentException {
- Long id = cmd.getId();
- PreallocatedLunVO lun = null;
- if ((lun = _lunDao.findById(id)) == null) {
- throw new IllegalArgumentException("Unable to find a LUN with ID " + id);
- }
-
- if (lun.getTaken() != null) {
- throw new IllegalArgumentException("The LUN is currently in use and cannot be deleted.");
- }
-
- return _lunDao.delete(id);
- }
-
+
@Override
public VolumeStats[] getVolumeStatistics(long[] volIds) {
return _statsCollector.getVolumeStats(volIds);
@@ -4139,36 +4094,7 @@ public class ManagementServerImpl implements ManagementServer {
return pendingEvents;
}
- @Override
- public List getPreAllocatedLuns(ListPreallocatedLunsCmd cmd) {
- Filter searchFilter = new Filter(PreallocatedLunVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal());
- SearchCriteria sc = _lunDao.createSearchCriteria();
-
- Object targetIqn = cmd.getTargetIqn();
- Object scope = cmd.getScope();
-
- if (targetIqn != null) {
- sc.addAnd("targetIqn", SearchCriteria.Op.EQ, targetIqn);
- }
-
- if (scope == null || scope.toString().equalsIgnoreCase("ALL")) {
- return _lunDao.search(sc, searchFilter);
- } else if(scope.toString().equalsIgnoreCase("ALLOCATED")) {
- sc.addAnd("volumeId", SearchCriteria.Op.NNULL);
- sc.addAnd("taken", SearchCriteria.Op.NNULL);
-
- return _lunDao.search(sc, searchFilter);
- } else if(scope.toString().equalsIgnoreCase("FREE")) {
- sc.addAnd("volumeId", SearchCriteria.Op.NULL);
- sc.addAnd("taken", SearchCriteria.Op.NULL);
-
- return _lunDao.search(sc, searchFilter);
- }
-
- return null;
- }
-
- @Override
+ @Override
public boolean checkLocalStorageConfigVal()
{
String value = _configs.get("use.local.storage");
diff --git a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDao.java b/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDao.java
deleted file mode 100644
index aaf98ce13d3..00000000000
--- a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDao.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun.dao;
-
-import java.util.List;
-
-import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
-import com.cloud.utils.db.GenericDao;
-
-public interface PreallocatedLunDao extends GenericDao {
- /**
- * Takes a LUN
- * @param instanceId vm instance that's taking this LUN
- * @param tags special tag to match to the LUN
- * @return PreallocatedLunVO if matches; NULL if not.
- */
- PreallocatedLunVO take(long volumeId, String targetIqn, long size1, long size2, String... tags);
-
- /**
- * Releases a LUN
- * @param id LUN to release
- * @param instanceId vm instance that this LUN used to belong to.
- * @return true if released; false if not.
- */
- boolean release(String targetIqn, int lunId, long volumeId);
-
- /**
- * Return the distinct preallocated luns. Ignore the LUN as it is meaningless.
- * @return List of PreallocatedLunVO
- */
- List listDistinctTargets(long dataCenterId);
-
- List findDistinctTagsForTarget(String targetIqn);
-
- PreallocatedLunVO persist(PreallocatedLunVO lun, String[] tags);
- long getTotalSize(String targetIqn);
- long getUsedSize(String targetIqn);
- boolean delete(long id);
-}
diff --git a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDaoImpl.java b/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDaoImpl.java
deleted file mode 100644
index d03d703ce1b..00000000000
--- a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDaoImpl.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun.dao;
-
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.ejb.Local;
-import javax.naming.ConfigurationException;
-
-import org.apache.log4j.Logger;
-
-import com.cloud.storage.preallocatedlun.PreallocatedLunDetailVO;
-import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
-import com.cloud.utils.component.ComponentLocator;
-import com.cloud.utils.db.DB;
-import com.cloud.utils.db.GenericDaoBase;
-import com.cloud.utils.db.GenericSearchBuilder;
-import com.cloud.utils.db.JoinBuilder;
-import com.cloud.utils.db.SearchBuilder;
-import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Func;
-import com.cloud.utils.db.Transaction;
-import com.cloud.utils.exception.CloudRuntimeException;
-
-@Local(value=PreallocatedLunDao.class) @DB(txn=false)
-public class PreallocatedLunDaoImpl extends GenericDaoBase implements PreallocatedLunDao {
- private static final Logger s_logger = Logger.getLogger(PreallocatedLunDaoImpl.class);
-
- final PreallocatedLunDetailsDao _detailsDao = ComponentLocator.inject(PreallocatedLunDetailsDaoImpl.class);
-
- private final SearchBuilder TakeSearch;
- private final SearchBuilder ReleaseSearch;
- private final GenericSearchBuilder DetailsSearch;
- private final GenericSearchBuilder TotalSizeSearch;
- private final GenericSearchBuilder UsedSizeSearch;
- private final SearchBuilder DeleteSearch;
-
- private final String TakeSqlPrefix = "SELECT ext_lun_alloc.* FROM ext_lun_alloc LEFT JOIN ext_lun_details ON ext_lun_details.ext_lun_id = ext_lun_alloc.id WHERE (ext_lun_alloc.target_iqn=?) AND (ext_lun_alloc.size>=?) AND (ext_lun_alloc.size<=?) AND ";
- private final String TakeSqlSuffix = " ext_lun_alloc.taken IS NULL GROUP BY ext_lun_details.ext_lun_id HAVING COUNT(ext_lun_details.tag) >= ? LIMIT 1 FOR UPDATE";
-
- protected PreallocatedLunDaoImpl() {
- TakeSearch = createSearchBuilder();
- TakeSearch.and("taken", TakeSearch.entity().getTaken(), SearchCriteria.Op.NULL);
- TakeSearch.done();
-
- ReleaseSearch = createSearchBuilder();
- ReleaseSearch.and("lun", ReleaseSearch.entity().getLun(), SearchCriteria.Op.EQ);
- ReleaseSearch.and("target", ReleaseSearch.entity().getTargetIqn(), SearchCriteria.Op.EQ);
- ReleaseSearch.and("taken", ReleaseSearch.entity().getTaken(), SearchCriteria.Op.NNULL);
- ReleaseSearch.and("instanceId", ReleaseSearch.entity().getVolumeId(), SearchCriteria.Op.EQ);
- ReleaseSearch.done();
-
- DetailsSearch = _detailsDao.createSearchBuilder(String.class);
- SearchBuilder targetSearch = createSearchBuilder();
- targetSearch.and("targetiqn", targetSearch.entity().getTargetIqn(), SearchCriteria.Op.EQ);
- DetailsSearch.join("target", targetSearch, targetSearch.entity().getId(), DetailsSearch.entity().getLunId(), JoinBuilder.JoinType.INNER);
- DetailsSearch.select(null, Func.DISTINCT, DetailsSearch.entity().getTag());
- DetailsSearch.done();
- targetSearch.done();
-
- TotalSizeSearch = createSearchBuilder(Long.class);
- TotalSizeSearch.and("target", TotalSizeSearch.entity().getTargetIqn(), SearchCriteria.Op.EQ);
- TotalSizeSearch.select(null, Func.SUM, TotalSizeSearch.entity().getSize());
- TotalSizeSearch.done();
-
- UsedSizeSearch = createSearchBuilder(Long.class);
- UsedSizeSearch.and("target", UsedSizeSearch.entity().getTargetIqn(), SearchCriteria.Op.EQ);
- UsedSizeSearch.and("taken", UsedSizeSearch.entity().getTaken(), SearchCriteria.Op.NNULL);
- UsedSizeSearch.select(null, Func.SUM, UsedSizeSearch.entity().getSize());
- UsedSizeSearch.done();
-
- DeleteSearch = createSearchBuilder();
- DeleteSearch.and("id", DeleteSearch.entity().getId(), SearchCriteria.Op.EQ);
- DeleteSearch.and("taken", DeleteSearch.entity().getTaken(), SearchCriteria.Op.NULL);
- DeleteSearch.done();
- }
-
- @Override
- public boolean delete(long id) {
- SearchCriteria sc = DeleteSearch.create();
- sc.setParameters("id", id);
-
- return expunge(sc) > 0;
- }
-
- @Override
- public boolean release(String targetIqn, int lunId, long instanceId) {
- SearchCriteria sc = ReleaseSearch.create();
- sc.setParameters("lun", lunId);
- sc.setParameters("target", targetIqn);
- sc.setParameters("instanceId", instanceId);
-
- PreallocatedLunVO vo = createForUpdate();
- vo.setTaken(null);
- vo.setVolumeId(null);
-
- return update(vo, sc) > 0;
- }
-
- @Override @DB
- public PreallocatedLunVO take(long volumeId, String targetIqn, long size1, long size2, String... tags) {
- StringBuilder sql = new StringBuilder(TakeSqlPrefix);
-
- if (tags.length > 0) {
- sql.append("(");
- for (String tag : tags) {
- sql.append("ext_lun_details.tag=?").append(" OR ");
- }
- sql.delete(sql.length() - 4, sql.length());
- sql.append(") AND ");
- }
- sql.append(TakeSqlSuffix);
-
- try {
- Transaction txn = Transaction.currentTxn();
- txn.start();
- PreparedStatement pstmt = txn.prepareAutoCloseStatement(sql.toString());
- int i = 1;
- pstmt.setString(i++, targetIqn);
- pstmt.setLong(i++, size1);
- pstmt.setLong(i++, size2);
- for (String tag : tags) {
- pstmt.setString(i++, tag);
- }
- pstmt.setInt(i++, tags.length);
- ResultSet rs = pstmt.executeQuery();
- s_logger.debug("Statement is " + pstmt.toString());
- if (!rs.next()) {
- return null;
- }
- PreallocatedLunVO lun = toEntityBean(rs, false);
- lun.setTaken(new Date());
- lun.setVolumeId(volumeId);
- update(lun.getId(), lun);
- txn.commit();
- return lun;
- } catch (SQLException e) {
- throw new CloudRuntimeException("Unable to execute " + sql.toString(), e);
- }
- }
-
- @Override @DB
- public List listDistinctTargets(long dataCenterId) {
- String DistinctTargetSearchSql = "SELECT * FROM ext_lun_alloc where data_center_id = ? GROUP BY target_iqn";
-
- Transaction txn = Transaction.currentTxn();
- try {
- PreparedStatement ps = txn.prepareAutoCloseStatement(DistinctTargetSearchSql);
- ps.setLong(1, dataCenterId);
- ResultSet rs = ps.executeQuery();
- List lst = new ArrayList();
- while (rs.next()) {
- lst.add(toEntityBean(rs, false));
- }
-
- return lst;
- } catch (SQLException e) {
- throw new CloudRuntimeException("Unable to execute " + DistinctTargetSearchSql, e);
- }
- }
-
- @Override
- public long getTotalSize(String targetIqn) {
- SearchCriteria sc = TotalSizeSearch.create();
- sc.setParameters("target", targetIqn);
-
- List results = customSearchIncludingRemoved(sc, null);
- if (results.size() == 0) {
- return 0;
- }
-
- return results.get(0);
- }
-
- @Override
- public long getUsedSize(String targetIqn) {
- SearchCriteria sc = UsedSizeSearch.create();
- sc.setParameters("target", targetIqn);
-
- List results = customSearchIncludingRemoved(sc, null);
- if (results.size() == 0) {
- return 0;
- }
-
- return results.get(0);
- }
-
- @Override
- public List findDistinctTagsForTarget(String targetIqn) {
- SearchCriteria sc = DetailsSearch.create();
- sc.setJoinParameters("target", "targetiqn", targetIqn);
- return _detailsDao.customSearchIncludingRemoved(sc, null);
- }
-
- @Override @DB
- public PreallocatedLunVO persist(PreallocatedLunVO lun, String[] tags) {
- Transaction txn = Transaction.currentTxn();
- txn.start();
- lun = persist(lun);
- for (String tag : tags) {
- PreallocatedLunDetailVO detail = new PreallocatedLunDetailVO(lun.getId(), tag);
- _detailsDao.persist(detail);
- }
- txn.commit();
- return lun;
- }
-
- @Override
- public boolean configure(String name, Map params) throws ConfigurationException {
- super.configure(name, params);
-
- _detailsDao.configure(name, params);
-
- return true;
- }
-
-}
diff --git a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDao.java b/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDao.java
deleted file mode 100644
index 940ae35f51b..00000000000
--- a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDao.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun.dao;
-
-import com.cloud.storage.preallocatedlun.PreallocatedLunDetailVO;
-import com.cloud.utils.db.GenericDao;
-
-public interface PreallocatedLunDetailsDao extends GenericDao {
-}
diff --git a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDaoImpl.java b/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDaoImpl.java
deleted file mode 100644
index 8b83bfd92f9..00000000000
--- a/server/src/com/cloud/storage/preallocatedlun/dao/PreallocatedLunDetailsDaoImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
- *
- * This software is licensed under the GNU General Public License v3 or later.
- *
- * It is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-package com.cloud.storage.preallocatedlun.dao;
-
-import javax.ejb.Local;
-
-import com.cloud.storage.preallocatedlun.PreallocatedLunDetailVO;
-import com.cloud.utils.db.DB;
-import com.cloud.utils.db.GenericDaoBase;
-
-@Local(value=PreallocatedLunDetailsDao.class) @DB(txn=false)
-public class PreallocatedLunDetailsDaoImpl extends GenericDaoBase implements PreallocatedLunDetailsDao {
- protected PreallocatedLunDetailsDaoImpl() {
- }
-
-}
diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql
index 37090630031..3a989dd9cad 100755
--- a/setup/db/create-schema.sql
+++ b/setup/db/create-schema.sql
@@ -71,9 +71,7 @@ DROP TABLE IF EXISTS `cloud`.`snapshot_policy`;
DROP TABLE IF EXISTS `cloud`.`snapshot_policy_ref`;
DROP TABLE IF EXISTS `cloud`.`snapshot_schedule`;
DROP TABLE IF EXISTS `cloud`.`op_pod_vlan_alloc`;
-DROP TABLE IF EXISTS `cloud`.`ext_lun_alloc`;
DROP TABLE IF EXISTS `cloud`.`storage_pool_details`;
-DROP TABLE IF EXISTS `cloud`.`ext_lun_details`;
DROP TABLE IF EXISTS `cloud`.`cluster`;
DROP TABLE IF EXISTS `cloud`.`nics`;
DROP TABLE IF EXISTS `cloud`.`networks`;
@@ -247,25 +245,6 @@ CREATE TABLE `cloud`.`cluster_details` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-CREATE TABLE `cloud`.`ext_lun_alloc` (
- `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
- `size` bigint unsigned NOT NULL COMMENT 'virtual size',
- `portal` varchar(255) NOT NULL COMMENT 'ip or host name to the storage server',
- `target_iqn` varchar(255) NOT NULL COMMENT 'target iqn',
- `data_center_id` bigint unsigned NOT NULL COMMENT 'data center id this belongs to',
- `lun` int NOT NULL COMMENT 'lun',
- `taken` datetime COMMENT 'time occupied',
- `volume_id` bigint unsigned COMMENT 'vm taking this lun',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE `cloud`.`ext_lun_details` (
- `id` bigint unsigned NOT NULL UNIQUE AUTO_INCREMENT COMMENT 'id',
- `ext_lun_id` bigint unsigned NOT NULL COMMENT 'lun id',
- `tag` varchar(255) COMMENT 'tags associated with this vm',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
CREATE TABLE `cloud`.`op_host_upgrade` (
`host_id` bigint unsigned NOT NULL UNIQUE COMMENT 'host id',
`version` varchar(20) NOT NULL COMMENT 'version',