@PluginMetadata(type="GENERIC_ISCSI", friendlyName="generic iSCSI storage", version="4.0.0", supportedVersions="4.0.0") public class GenericISCSIPlugin extends Object implements Storage<Device>
This plugin cannot not be used to create or manage volumes. It is only present to provide the common storage behavior for the generic iSCSI feature.
Volumes will be manually created in the target storage pool and Abiquo will only assign them to the mock pool that is returned by the plugin.
| Modifier and Type | Field and Description |
|---|---|
static String |
MOCK_POOL_NAME |
static String |
PLUGIN_TYPE |
static Long |
POOL_SIZE |
| Constructor and Description |
|---|
GenericISCSIPlugin() |
| Modifier and Type | Method and Description |
|---|---|
Volume |
createVolume(Device device,
Pool pool,
Volume volume)
Creates a new volume.
|
void |
deleteVolume(Device device,
Pool pool,
String uuid)
Deletes the given volume.
|
String |
getConstraint(String key) |
Pool |
getPool(Device device,
String poolName)
Get the information of the given pool.
|
Volume |
getVolume(Device device,
Pool pool,
String uuid)
Gets the information of the given volume.
|
Address |
grantAccess(Device device,
Pool pool,
String volumeUuid,
ClientDetails clientDetails)
Allow the provided client to access the given volume.
|
List<Pool> |
listPools(Device device)
Get all the pools defined in the given device.
|
List<Volume> |
listVolumes(Device device,
Pool pool)
Gets all the volumes in the given pool.
|
Volume |
resizeVolume(Device device,
Pool pool,
Volume volume)
Updates an existing volume.
|
void |
revokeAccess(Device device,
Pool pool,
String volumeUuid,
ClientDetails clientDetails)
Deny access for the provided client to the given volume.
|
void |
validateConfiguration() |
public static final String PLUGIN_TYPE
public static String MOCK_POOL_NAME
public static final Long POOL_SIZE
public String getConstraint(String key)
getConstraint in interface Pluggablepublic void validateConfiguration()
throws IllegalStateException
validateConfiguration in interface PluggableIllegalStateExceptionpublic Pool getPool(Device device, String poolName) throws HypervisorPluginException
StorageThe storage pools are the containers for the volumes that will be created by Abiquo.
getPool in interface Storage<Device>device - The storage device where to find the pool.poolName - The name of the pool to retrieve.HypervisorPluginException - If the requested pool cannot be retrieved.public List<Pool> listPools(Device device) throws HypervisorPluginException
StorageThe storage pools are the containers for the volumes that will be created by Abiquo.
listPools in interface Storage<Device>device - The storage device where to find the pools.HypervisorPluginException - If the pools can not be enumerated.@UnsupportedOperation public Volume createVolume(Device device, Pool pool, Volume volume) throws HypervisorPluginException
StorageVolumes are block devices that will be attached to the virtual machines.
createVolume in interface Storage<Device>device - The device where the volumes will be created.pool - The pool where the volume will be created.volume - The volume information.HypervisorPluginException - If the volume cannot be created.@UnsupportedOperation public Volume resizeVolume(Device device, Pool pool, Volume volume) throws HypervisorPluginException
StorageVolumes are block devices that will be attached to the virtual machines.
resizeVolume in interface Storage<Device>device - The device where the volumes is.pool - The pool where the volume is.volume - The new volume information.HypervisorPluginException - If the volume cannot be modified.@UnsupportedOperation public void deleteVolume(Device device, Pool pool, String uuid) throws HypervisorPluginException
StorageVolumes are block devices that will be attached to the virtual machines.
deleteVolume in interface Storage<Device>device - The device where the volumes is.pool - The pool where the volume is.uuid - The uuid of the volume to delete.HypervisorPluginException - If the volume cannot be deleted.@UnsupportedOperation public List<Volume> listVolumes(Device device, Pool pool) throws HypervisorPluginException
StorageVolumes are block devices that will be attached to the virtual machines.
listVolumes in interface Storage<Device>device - The device where the volumes are.pool - The pool where the volumes are.HypervisorPluginException - If the volumes can not be enumerated.@UnsupportedOperation public Volume getVolume(Device device, Pool pool, String uuid) throws HypervisorPluginException
StorageVolumes are block devices that will be attached to the virtual machines.
getVolume in interface Storage<Device>device - The device where the volumes is.pool - The pool where the volume is.uuid - The uuid of the volume to retrieve.HypervisorPluginException - If the requested volume can not be retrieved.@UnsupportedOperation public Address grantAccess(Device device, Pool pool, String volumeUuid, ClientDetails clientDetails) throws HypervisorPluginException
StorageThis method is used to grant access to the given client to the volume identified by the given UUID.
grantAccess in interface Storage<Device>device - The device where the volumes is.pool - The pool where the volume is.volumeUuid - The uuid of the volume.clientDetails - The details of the client accessing the volume.HypervisorPluginException - If the access to the volume cannot be granted.@UnsupportedOperation public void revokeAccess(Device device, Pool pool, String volumeUuid, ClientDetails clientDetails) throws HypervisorPluginException
StorageThis method is used to revoke access for the given iSCSI client.
revokeAccess in interface Storage<Device>device - The device where the volumes is.pool - The pool where the volume is.volumeUuid - The uuid of the volume.clientDetails - The details of the client accessing the volume.HypervisorPluginException - If the access to the volume cannot be granted.Copyright © 2008–2020 Abiquo Holdings S.L.. All rights reserved.