Search in sources :

Example 86 with Context

use of com.att.cdp.zones.Context in project AJSC by att.

the class OpenStackVolumeService method getSnapshot.

/**
 * Returns information about the snapshot with the indicated id, if it exists.
 *
 * @param id
 *            The id of the snapshot that we want to find information about
 * @return The snapshot if it exists
 * @throws ZoneException
 *             - If the snapshot cannot be listed, or the snapshot does not exist
 * @see com.att.cdp.zones.VolumeService#getSnapshot(java.lang.String)
 */
@SuppressWarnings("nls")
@Override
public Snapshot getSnapshot(String id) throws ZoneException {
    checkArg(id, "id");
    connect();
    Context context = getContext();
    trackRequest();
    RequestState.put(RequestState.SNAPSHOT, id);
    RequestState.put(RequestState.SERVICE, "Volume");
    RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
    try {
        com.woorea.openstack.cinder.model.Snapshot snapshot = cinder.getClient().snapshots().show(id).execute();
        if (snapshot == null) {
            throw new ResourceNotFoundException(EELFResourceManager.format(OSMsg.PAL_OS_RESOURCE_NOT_FOUND, "Snapshot", id, context.getProvider().getName()));
        }
        return new OpenStackSnapshot(context, snapshot);
    } catch (OpenStackBaseException ex) {
        ExceptionMapper.mapException(ex);
    }
    // for the compiler
    return null;
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackSnapshot(com.att.cdp.openstack.model.OpenStackSnapshot) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) ResourceNotFoundException(com.att.cdp.exceptions.ResourceNotFoundException)

Example 87 with Context

use of com.att.cdp.zones.Context in project AJSC by att.

the class OpenStackVolumeService method getVolume.

/**
 * Returns information about the volume with the indicated id, if it exists.
 *
 * @param id
 *            The id of the volume that we want to find information about
 * @return The volume if it exists
 * @throws ZoneException
 *             - If the volume cannot be listed, or the volume does not exist
 * @see com.att.cdp.zones.VolumeService#getVolume(java.lang.String)
 */
@SuppressWarnings("nls")
@Override
public Volume getVolume(String id) throws ZoneException {
    checkArg(id, "id");
    connect();
    Context context = getContext();
    trackRequest();
    RequestState.put(RequestState.VOLUME, id);
    RequestState.put(RequestState.SERVICE, "Volume");
    RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
    try {
        com.woorea.openstack.cinder.model.Volume volume = cinder.getClient().volumes().show(id).execute();
        if (volume == null) {
            throw new ResourceNotFoundException(EELFResourceManager.format(OSMsg.PAL_OS_RESOURCE_NOT_FOUND, "Volume", id, context.getProvider().getName()));
        }
        return new OpenStackVolume(context, volume);
    } catch (OpenStackBaseException ex) {
        ExceptionMapper.mapException(ex);
    }
    // for the compiler
    return null;
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackVolume(com.att.cdp.openstack.model.OpenStackVolume) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) ResourceNotFoundException(com.att.cdp.exceptions.ResourceNotFoundException)

Example 88 with Context

use of com.att.cdp.zones.Context in project AJSC by att.

the class OpenStackVolumeService method destroySnapshot.

/**
 * This method can be called to destroy a snapshot.
 *
 * @param id
 *            The id of the snapshot to be destroyed.
 * @throws ZoneException
 *             - If the snapshot cannot be destroyed.
 * @see com.att.cdp.zones.VolumeService#destroySnapshot(java.lang.String)
 */
@SuppressWarnings("nls")
@Override
public void destroySnapshot(String id) throws ZoneException {
    checkArg(id, "id");
    connect();
    Context context = getContext();
    trackRequest();
    RequestState.put(RequestState.SNAPSHOT, id);
    RequestState.put(RequestState.SERVICE, "Volume");
    RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
    try {
        cinder.getClient().snapshots().delete(id).execute();
    } catch (OpenStackBaseException ex) {
        ExceptionMapper.mapException(ex);
    }
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException)

Example 89 with Context

use of com.att.cdp.zones.Context in project AJSC by att.

the class OpenStackVolumeService method connect.

/**
 * This is a helper method used to construct the Nova service object and setup the environment to access the
 * OpenStack compute service (Nova).
 *
 * @throws NotLoggedInException
 *             If the user is not logged in
 * @throws ContextClosedException
 *             If the user attempts an operation after the context is closed
 */
private void connect() throws NotLoggedInException, ContextClosedException {
    checkLogin();
    checkOpen();
    Context context = getContext();
    OpenStackContext osContext = (OpenStackContext) context;
    cinder = osContext.getCinderConnector();
    ((OpenStackContext) context).refreshIfStale(cinder);
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackContext(com.att.cdp.openstack.OpenStackContext)

Example 90 with Context

use of com.att.cdp.zones.Context in project AJSC by att.

the class OpenStackVolumeService method getVolumes.

/**
 * Retrieves the list of volumes defined for this service.
 *
 * @return The list of volumes for this tenant, if any. The list may be empty if there are no volumes defined.
 * @see com.att.cdp.zones.VolumeService#getVolumes()
 */
@Override
public List<Volume> getVolumes() throws ZoneException {
    connect();
    Context context = getContext();
    trackRequest();
    RequestState.put(RequestState.SERVICE, "Volume");
    RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
    ArrayList<Volume> list = new ArrayList<>();
    try {
        com.woorea.openstack.cinder.model.Volumes volumes = cinder.getClient().volumes().list(true).execute();
        for (com.woorea.openstack.cinder.model.Volume volume : volumes) {
            list.add(new OpenStackVolume(context, volume));
        }
    } catch (OpenStackBaseException ex) {
        ExceptionMapper.mapException(ex);
    }
    return list;
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) Volume(com.att.cdp.zones.model.Volume) OpenStackVolume(com.att.cdp.openstack.model.OpenStackVolume) AbstractVolume(com.att.cdp.zones.spi.AbstractVolume) OpenStackVolume(com.att.cdp.openstack.model.OpenStackVolume) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) ArrayList(java.util.ArrayList)

Aggregations

Context (com.att.cdp.zones.Context)248 OpenStackContext (com.att.cdp.openstack.OpenStackContext)167 OpenStackBaseException (com.woorea.openstack.base.client.OpenStackBaseException)140 ArrayList (java.util.ArrayList)55 Ignore (org.junit.Ignore)50 Test (org.junit.Test)47 Quantum (com.woorea.openstack.quantum.Quantum)35 ZoneException (com.att.cdp.exceptions.ZoneException)30 NetworkService (com.att.cdp.zones.NetworkService)24 Server (com.att.cdp.zones.model.Server)22 ComputeService (com.att.cdp.zones.ComputeService)21 Network (com.att.cdp.zones.model.Network)19 OpenStackServer (com.att.cdp.openstack.model.OpenStackServer)18 OpenStackSnapshot (com.att.cdp.openstack.model.OpenStackSnapshot)18 Subnet (com.att.cdp.zones.model.Subnet)15 Port (com.att.cdp.zones.model.Port)14 Snapshot (com.att.cdp.zones.model.Snapshot)12 Volume (com.att.cdp.zones.model.Volume)11 OpenStackResponseException (com.woorea.openstack.base.client.OpenStackResponseException)11 ResourceNotFoundException (com.att.cdp.exceptions.ResourceNotFoundException)10