Skip to content

[PowerFlex] Add & Remove PowerFlex/ScaleIO MDMs for the storage SDC connections #9903

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@
templateInfo = tInfo;
}

public ModifyStoragePoolAnswer(ModifyStoragePoolCommand cmd, boolean success, String details) {
super(cmd, success, details);
}

Check warning on line 51 in core/src/main/java/com/cloud/agent/api/ModifyStoragePoolAnswer.java

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/com/cloud/agent/api/ModifyStoragePoolAnswer.java#L50-L51

Added lines #L50 - L51 were not covered by tests

public void setPoolInfo(StoragePoolInfo poolInfo) {
this.poolInfo = poolInfo;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,22 @@

package com.cloud.agent.api;

import java.util.Map;

import com.cloud.storage.Storage.StoragePoolType;

public class UnprepareStorageClientCommand extends Command {
private StoragePoolType poolType;
private String poolUuid;
private Map<String, String> details;

public UnprepareStorageClientCommand() {
}

public UnprepareStorageClientCommand(StoragePoolType poolType, String poolUuid) {
public UnprepareStorageClientCommand(StoragePoolType poolType, String poolUuid, Map<String, String> details) {

Check warning on line 34 in core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java#L34

Added line #L34 was not covered by tests
this.poolType = poolType;
this.poolUuid = poolUuid;
this.details = details;

Check warning on line 37 in core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java#L37

Added line #L37 was not covered by tests
}

@Override
Expand All @@ -45,4 +49,8 @@
public String getPoolUuid() {
return poolUuid;
}

public Map<String, String> getDetails() {
return details;
}

Check warning on line 55 in core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java

View check run for this annotation

Codecov / codecov/patch

core/src/main/java/com/cloud/agent/api/UnprepareStorageClientCommand.java#L53-L55

Added lines #L53 - L55 were not covered by tests
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,8 @@
boolean canCopy(DataObject srcData, DataObject destData);

void resize(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback);

default boolean canDisplayDetails() {
return true;
}

Check warning on line 51 in engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java

View check run for this annotation

Codecov / codecov/patch

engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java#L49-L51

Added lines #L49 - L51 were not covered by tests
}
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,14 @@
return false;
}

/**
* intended for managed storage
* returns true if the host can be disconnected from storage pool
*/
default boolean canDisconnectHostFromStoragePool(Host host, StoragePool pool) {
return true;
}

Check warning on line 154 in engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreDriver.java

View check run for this annotation

Codecov / codecov/patch

engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreDriver.java#L152-L154

Added lines #L152 - L154 were not covered by tests

/**
* Used by storage pools which want to keep VMs' information
* @return true if additional VM info is needed (intended for storage pools).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,8 @@ static Boolean getFullCloneConfiguration(Long storeId) {

boolean canHostPrepareStoragePoolAccess(Host host, StoragePool pool);

boolean canDisconnectHostFromStoragePool(Host host, StoragePool pool);

Host getHost(long hostId);

Host updateSecondaryStorage(long secStorageId, String newUrl);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ public interface StoragePoolHostDao extends GenericDao<StoragePoolHostVO, Long>

public StoragePoolHostVO findByPoolHost(long poolId, long hostId);

List<StoragePoolHostVO> findByLocalPath(String path);

List<StoragePoolHostVO> listByHostStatus(long poolId, Status hostStatus);

List<Long> findHostsConnectedToPools(List<Long> poolIds);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
protected final SearchBuilder<StoragePoolHostVO> PoolSearch;
protected final SearchBuilder<StoragePoolHostVO> HostSearch;
protected final SearchBuilder<StoragePoolHostVO> PoolHostSearch;
protected final SearchBuilder<StoragePoolHostVO> LocalPathSearch;

protected SearchBuilder<StoragePoolHostVO> poolNotInClusterSearch;

Expand Down Expand Up @@ -77,6 +78,9 @@
PoolHostSearch.and("host_id", PoolHostSearch.entity().getHostId(), SearchCriteria.Op.EQ);
PoolHostSearch.done();

LocalPathSearch = createSearchBuilder();
LocalPathSearch.and("local_path", LocalPathSearch.entity().getLocalPath(), SearchCriteria.Op.EQ);
LocalPathSearch.done();

Check warning on line 83 in engine/schema/src/main/java/com/cloud/storage/dao/StoragePoolHostDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/storage/dao/StoragePoolHostDaoImpl.java#L81-L83

Added lines #L81 - L83 were not covered by tests
}

@PostConstruct
Expand Down Expand Up @@ -117,6 +121,13 @@
return findOneIncludingRemovedBy(sc);
}

@Override
public List<StoragePoolHostVO> findByLocalPath(String path) {
SearchCriteria<StoragePoolHostVO> sc = LocalPathSearch.create();
sc.setParameters("local_path", path);
return listBy(sc);
}

Check warning on line 129 in engine/schema/src/main/java/com/cloud/storage/dao/StoragePoolHostDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/com/cloud/storage/dao/StoragePoolHostDaoImpl.java#L125-L129

Added lines #L125 - L129 were not covered by tests

@Override
public List<StoragePoolHostVO> listByHostStatus(long poolId, Status hostStatus) {
TransactionLegacy txn = TransactionLegacy.currentTxn();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ public interface PrimaryDataStoreDao extends GenericDao<StoragePoolVO, Long> {

StoragePoolVO persist(StoragePoolVO pool, Map<String, String> details, List<String> tags, Boolean isTagARule);

StoragePoolVO persist(StoragePoolVO pool, Map<String, String> details, List<String> tags, Boolean isTagARule, boolean displayDetails);

/**
* Find pool by name.
*
Expand Down Expand Up @@ -103,6 +105,8 @@ public interface PrimaryDataStoreDao extends GenericDao<StoragePoolVO, Long> {

void updateDetails(long poolId, Map<String, String> details);

void removeDetails(long poolId);

Map<String, String> getDetails(long poolId);

List<String> searchForStoragePoolTags(long poolId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,14 +296,19 @@
}

@Override
@DB
public StoragePoolVO persist(StoragePoolVO pool, Map<String, String> details, List<String> tags, Boolean isTagARule) {
return persist(pool, details, tags, isTagARule, true);
}

Check warning on line 301 in engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java#L300-L301

Added lines #L300 - L301 were not covered by tests

@Override
@DB
public StoragePoolVO persist(StoragePoolVO pool, Map<String, String> details, List<String> tags, Boolean isTagARule, boolean displayDetails) {

Check warning on line 305 in engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java#L305

Added line #L305 was not covered by tests
TransactionLegacy txn = TransactionLegacy.currentTxn();
txn.start();
pool = super.persist(pool);
if (details != null) {
for (Map.Entry<String, String> detail : details.entrySet()) {
StoragePoolDetailVO vo = new StoragePoolDetailVO(pool.getId(), detail.getKey(), detail.getValue(), true);
StoragePoolDetailVO vo = new StoragePoolDetailVO(pool.getId(), detail.getKey(), detail.getValue(), displayDetails);

Check warning on line 311 in engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java#L311

Added line #L311 was not covered by tests
_detailsDao.persist(vo);
}
}
Expand Down Expand Up @@ -570,6 +575,11 @@
}
}

@Override
public void removeDetails(long poolId) {
_detailsDao.removeDetails(poolId);
}

Check warning on line 581 in engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java

View check run for this annotation

Codecov / codecov/patch

engine/schema/src/main/java/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java#L579-L581

Added lines #L579 - L581 were not covered by tests

@Override
public Map<String, String> getDetails(long poolId) {
return _detailsDao.listDetailsKeyPairs(poolId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import org.apache.cloudstack.storage.datastore.client.ScaleIOGatewayClient;
import org.apache.cloudstack.storage.datastore.client.ScaleIOGatewayClientConnectionPool;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO;
import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.storage.datastore.util.ScaleIOUtil;
Expand Down Expand Up @@ -301,7 +302,11 @@
srcSnapshotDestVolumeMap.put(srcSnapshotVolumeId, destVolumeId);
}

String systemId = storagePoolDetailsDao.findDetail(storagePoolId, ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID).getValue();
String systemId = null;
StoragePoolDetailVO systemIdDetail = storagePoolDetailsDao.findDetail(storagePoolId, ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID);

Check warning on line 306 in engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java#L305-L306

Added lines #L305 - L306 were not covered by tests
if (systemIdDetail != null) {
systemId = systemIdDetail.getValue();

Check warning on line 308 in engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java#L308

Added line #L308 was not covered by tests
}
if (systemId == null) {
throw new CloudRuntimeException("Failed to get the system id for PowerFlex storage pool for reverting VM snapshot: " + vmSnapshot.getName());
}
Expand Down Expand Up @@ -380,7 +385,11 @@
try {
List<VolumeObjectTO> volumeTOs = vmSnapshotHelper.getVolumeTOList(vmSnapshot.getVmId());
StoragePoolVO storagePool = vmSnapshotHelper.getStoragePoolForVM(userVm);
String systemId = storagePoolDetailsDao.findDetail(storagePool.getId(), ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID).getValue();
String systemId = null;
StoragePoolDetailVO systemIdDetail = storagePoolDetailsDao.findDetail(storagePool.getId(), ScaleIOGatewayClient.STORAGE_POOL_SYSTEM_ID);

Check warning on line 389 in engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java#L388-L389

Added lines #L388 - L389 were not covered by tests
if (systemIdDetail != null) {
systemId = systemIdDetail.getValue();

Check warning on line 391 in engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/ScaleIOVMSnapshotStrategy.java#L391

Added line #L391 was not covered by tests
}
if (systemId == null) {
throw new CloudRuntimeException("Failed to get the system id for PowerFlex storage pool for deleting VM snapshot: " + vmSnapshot.getName());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,16 @@
import com.cloud.dc.dao.ClusterDao;
import org.apache.cloudstack.annotation.AnnotationService;
import org.apache.cloudstack.annotation.dao.AnnotationDao;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;

import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreParameters;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
Expand Down Expand Up @@ -78,6 +81,8 @@
protected ClusterDao clusterDao;
@Inject
private AnnotationDao annotationDao;
@Inject
DataStoreProviderManager dataStoreProviderMgr;

public DataStore createPrimaryDataStore(PrimaryDataStoreParameters params) {
if(params == null)
Expand Down Expand Up @@ -144,7 +149,17 @@
storageTags.add(tag);
}
}
dataStoreVO = dataStoreDao.persist(dataStoreVO, details, storageTags, params.isTagARule());

boolean displayDetails = true;
DataStoreProvider storeProvider = dataStoreProviderMgr.getDataStoreProvider(params.getProviderName());

Check warning on line 154 in engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java#L153-L154

Added lines #L153 - L154 were not covered by tests
if (storeProvider != null) {
DataStoreDriver storeDriver = storeProvider.getDataStoreDriver();

Check warning on line 156 in engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java#L156

Added line #L156 was not covered by tests
if (storeDriver != null) {
displayDetails = storeDriver.canDisplayDetails();

Check warning on line 158 in engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java#L158

Added line #L158 was not covered by tests
}
}

dataStoreVO = dataStoreDao.persist(dataStoreVO, details, storageTags, params.isTagARule(), displayDetails);

Check warning on line 162 in engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java

View check run for this annotation

Codecov / codecov/patch

engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java#L162

Added line #L162 was not covered by tests
return dataStoreMgr.getDataStore(dataStoreVO.getId(), DataStoreRole.Primary);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@
@Override
public Answer execute(final ModifyStoragePoolCommand command, final LibvirtComputingResource libvirtComputingResource) {
final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
if (!command.getAdd()) {
boolean status = storagePoolMgr.deleteStoragePool(command.getPool().getType(), command.getPool().getUuid(), command.getDetails());

Check warning on line 42 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java#L42

Added line #L42 was not covered by tests
if (status) {
final ModifyStoragePoolAnswer answer = new ModifyStoragePoolAnswer(command, true, null);
return answer;

Check warning on line 45 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java#L44-L45

Added lines #L44 - L45 were not covered by tests
}

final ModifyStoragePoolAnswer answer = new ModifyStoragePoolAnswer(command, false, "Failed to delete storage pool");
return answer;

Check warning on line 49 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtModifyStoragePoolCommandWrapper.java#L48-L49

Added lines #L48 - L49 were not covered by tests
}

final KVMStoragePool storagepool =
storagePoolMgr.createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool()
.getUserInfo(), command.getPool().getType(), command.getDetails());
Expand All @@ -47,7 +58,6 @@

final Map<String, TemplateProp> tInfo = new HashMap<String, TemplateProp>();
final ModifyStoragePoolAnswer answer = new ModifyStoragePoolAnswer(command, storagepool.getCapacity(), storagepool.getAvailable(), tInfo, storagepool.getDetails());

return answer;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class LibvirtUnprepareStorageClientCommandWrapper extends CommandWrapper<
@Override
public Answer execute(UnprepareStorageClientCommand cmd, LibvirtComputingResource libvirtComputingResource) {
final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr();
Pair<Boolean, String> unprepareStorageClientResult = storagePoolMgr.unprepareStorageClient(cmd.getPoolType(), cmd.getPoolUuid());
Pair<Boolean, String> unprepareStorageClientResult = storagePoolMgr.unprepareStorageClient(cmd.getPoolType(), cmd.getPoolUuid(), cmd.getDetails());
if (!unprepareStorageClientResult.first()) {
String msg = unprepareStorageClientResult.second();
logger.debug("Couldn't unprepare storage client, due to: " + msg);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,12 +408,26 @@

public boolean deleteStoragePool(StoragePoolType type, String uuid) {
StorageAdaptor adaptor = getStorageAdaptor(type);
_haMonitor.removeStoragePool(uuid);
adaptor.deleteStoragePool(uuid);
if (type == StoragePoolType.NetworkFilesystem) {
_haMonitor.removeStoragePool(uuid);

Check warning on line 412 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L412

Added line #L412 was not covered by tests
}
boolean deleteStatus = adaptor.deleteStoragePool(uuid);;
synchronized (_storagePools) {
_storagePools.remove(uuid);
}
return deleteStatus;
}

Check warning on line 419 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L414-L419

Added lines #L414 - L419 were not covered by tests

public boolean deleteStoragePool(StoragePoolType type, String uuid, Map<String, String> details) {
StorageAdaptor adaptor = getStorageAdaptor(type);

Check warning on line 422 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L421-L422

Added lines #L421 - L422 were not covered by tests
if (type == StoragePoolType.NetworkFilesystem) {
_haMonitor.removeStoragePool(uuid);

Check warning on line 424 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L424

Added line #L424 was not covered by tests
}
boolean deleteStatus = adaptor.deleteStoragePool(uuid, details);

Check warning on line 426 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L426

Added line #L426 was not covered by tests
synchronized (_storagePools) {
_storagePools.remove(uuid);
}
return true;
return deleteStatus;

Check warning on line 430 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L430

Added line #L430 was not covered by tests
}

public KVMPhysicalDisk createDiskFromTemplate(KVMPhysicalDisk template, String name, Storage.ProvisioningType provisioningType,
Expand Down Expand Up @@ -477,11 +491,11 @@

public Ternary<Boolean, Map<String, String>, String> prepareStorageClient(StoragePoolType type, String uuid, Map<String, String> details) {
StorageAdaptor adaptor = getStorageAdaptor(type);
return adaptor.prepareStorageClient(type, uuid, details);
return adaptor.prepareStorageClient(uuid, details);

Check warning on line 494 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L494

Added line #L494 was not covered by tests
}

public Pair<Boolean, String> unprepareStorageClient(StoragePoolType type, String uuid) {
public Pair<Boolean, String> unprepareStorageClient(StoragePoolType type, String uuid, Map<String, String> details) {

Check warning on line 497 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L497

Added line #L497 was not covered by tests
StorageAdaptor adaptor = getStorageAdaptor(type);
return adaptor.unprepareStorageClient(type, uuid);
return adaptor.unprepareStorageClient(uuid, details);

Check warning on line 499 in plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java

View check run for this annotation

Codecov / codecov/patch

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java#L499

Added line #L499 was not covered by tests
}
}
Loading
Loading