Daniel Erez has uploaded a new change for review. Change subject: core: api to invoke initializeConnection for Cinder disk ......................................................................
core: api to invoke initializeConnection for Cinder disk Adding relevant method to OpenStackVolumeProviderProxy and CinderBroker to support invoking initializeConnection for a Cinder disk. Change-Id: Iffd087f6ff9c5fc1bbd658574b5c7c8e14ecdfc2 Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackVolumeProviderProxy.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/54/39654/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackVolumeProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackVolumeProviderProxy.java index a6c5398..3af47a3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackVolumeProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackVolumeProviderProxy.java @@ -2,6 +2,8 @@ import com.woorea.openstack.base.client.OpenStackRequest; import com.woorea.openstack.cinder.Cinder; +import com.woorea.openstack.cinder.model.ConnectionForInitialize; +import com.woorea.openstack.cinder.model.ConnectionInfo; import com.woorea.openstack.cinder.model.Limits; import com.woorea.openstack.cinder.model.Volume; import com.woorea.openstack.cinder.model.VolumeForCreate; @@ -11,6 +13,7 @@ import org.ovirt.engine.core.bll.provider.ProviderProxyFactory; import org.ovirt.engine.core.bll.storage.CINDERStorageHelper; import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; +import org.ovirt.engine.core.common.businessentities.storage.CinderConnectionInfo; import org.ovirt.engine.core.common.businessentities.storage.CinderVolumeType; import org.ovirt.engine.core.common.businessentities.storage.OpenStackVolumeProviderProperties; import org.ovirt.engine.core.common.businessentities.Provider; @@ -81,6 +84,14 @@ getClient(getTenantId()).volumes().extend(volumeId, newSize).execute(); } + public CinderConnectionInfo initializeConnectionForVolume(String volumeId, ConnectionForInitialize connectionForInitialize) { + ConnectionInfo connectionInfo = getClient(getTenantId()).volumes().initializeConnection(volumeId, connectionForInitialize).execute(); + CinderConnectionInfo cinderConnectionInfo = new CinderConnectionInfo(); + cinderConnectionInfo.setDriverVolumeType(connectionInfo.getDriverVolumeType()); + cinderConnectionInfo.setData(connectionInfo.getData()); + return cinderConnectionInfo; + } + public Volume getVolumeById(String id) { return getClient(getTenantId()).volumes().show(id).execute(); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java index 0980397..506887d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java @@ -1,11 +1,13 @@ package org.ovirt.engine.core.bll.storage; import com.woorea.openstack.base.client.OpenStackResponseException; +import com.woorea.openstack.cinder.model.ConnectionForInitialize; import com.woorea.openstack.cinder.model.Volume; import com.woorea.openstack.cinder.model.VolumeForCreate; import com.woorea.openstack.cinder.model.VolumeForUpdate; import org.apache.commons.httpclient.HttpStatus; import org.ovirt.engine.core.bll.provider.storage.OpenStackVolumeProviderProxy; +import org.ovirt.engine.core.common.businessentities.storage.CinderConnectionInfo; import org.ovirt.engine.core.common.businessentities.storage.CinderDisk; import org.ovirt.engine.core.common.businessentities.storage.CinderVolumeStatus; import org.ovirt.engine.core.common.businessentities.storage.DiskInterface; @@ -107,6 +109,16 @@ }); } + public CinderConnectionInfo initializeConnectionForDisk(final CinderDisk cinderDisk) { + return execute(new Callable<CinderConnectionInfo>() { + @Override + public CinderConnectionInfo call() { + ConnectionForInitialize connectionForInitialize = new ConnectionForInitialize(); + return proxy.initializeConnectionForVolume(cinderDisk.getId().toString(), connectionForInitialize); + } + }); + } + public boolean isDiskExist(final Guid id) { return execute(new Callable<Boolean>() { @Override -- To view, visit https://gerrit.ovirt.org/39654 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iffd087f6ff9c5fc1bbd658574b5c7c8e14ecdfc2 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches