The cinder.volume.drivers.ibm.ibm_storage.ds8k_restclient Module

exception APIAuthenticationException(message=None, **kwargs)

Bases: cinder.volume.drivers.ibm.ibm_storage.ds8k_restclient.APIException

Exception raised for errors in the Authentication.

exception APIException(message=None, **kwargs)

Bases: cinder.exception.VolumeBackendAPIException

Exception raised for errors in the REST APIs.

class AbstractRESTConnector

Bases: object

Inherit this class when you define your own connector.

close()

close the connector.

If the connector uses persistent connection, please provide a way to close it in this method, otherwise you can just leave this method empty.

Input: None Output: None Exception: can raise any exceptions

send(method=”, url=”, headers=None, payload=”, timeout=900)

send the request.

Input: see above Output:

if we reached the server and read an HTTP response: (INTEGER__HTTP_RESPONSE_STATUS_CODE, STRING__BODY_OF_RESPONSE_EVEN_IF_STATUS_NOT_200) if we were not able to reach the server or response was invalid HTTP(like certificate error, or could not resolve domain etc): (False, STRING__SHORT_EXPLANATION_OF_REASON_FOR_NOT_

REACHING_SERVER_OR_GETTING_INVALID_RESPONSE)
Exception: should not raise any exceptions itself as all
the expected scenarios are covered above. Unexpected exceptions are permitted.
class DefaultRESTConnector(verify)

Bases: cinder.volume.drivers.ibm.ibm_storage.ds8k_restclient.AbstractRESTConnector

User can write their own connector and pass it to RESTScheduler.

close()
connect()
send(method=”, url=”, headers=None, payload=”, timeout=900)
exception LssFullException(message=None, **kwargs)

Bases: cinder.volume.drivers.ibm.ibm_storage.ds8k_restclient.APIException

Exception raised for errors when LSS is full.

exception LssIDExhaustError(message=None, **kwargs)

Bases: cinder.exception.VolumeBackendAPIException

Exception raised for errors when can not find available LSS.

class RESTScheduler(host, user, passw, connector_obj, verify=False)

Bases: object

This class is multithread friendly.

it isn’t optimally (token handling) but good enough for low-mid traffic.

close()
connect()
fetchall(*args, **kwargs)
fetchid(*args, **kwargs)
fetchone(*args, **kwargs)
send(method, endpoint, data=None, badStatusException=True, params=None, fields=None, timeout=900)
statusok(*args, **kwargs)
exception TimeoutException(message=None, **kwargs)

Bases: cinder.volume.drivers.ibm.ibm_storage.ds8k_restclient.APIException

Exception raised when the request is time out.