use of org.openstack4j.model.storage.block.Volume in project camel by apache.
the class VolumeProducer method doUpdate.
private void doUpdate(Exchange exchange) {
final Message msg = exchange.getIn();
final String id = msg.getHeader(OpenstackConstants.ID, msg.getHeader(CinderConstants.VOLUME_ID, String.class), String.class);
final Volume vol = messageToVolume(msg);
ObjectHelper.notEmpty(id, "Cinder Volume ID");
ObjectHelper.notEmpty(vol.getDescription(), "Cinder Volume Description");
ObjectHelper.notEmpty(vol.getName(), "Cinder Volume Name");
final ActionResponse out = os.blockStorage().volumes().update(id, vol.getName(), vol.getDescription());
checkFailure(out, msg, "Update volume " + id);
}
use of org.openstack4j.model.storage.block.Volume in project openstack4j by ContainX.
the class VolumeTests method getVolumeV1.
@SuppressWarnings("unchecked")
@Test
public void getVolumeV1() throws Exception {
// Check get volume
respondWith("/storage/v1/volume.json");
Volume volume = osv3().blockStorage().volumes().get("8a9287b7-4f4d-4213-8d75-63470f19f27c");
RecordedRequest getRequest = server.takeRequest();
assertTrue(getRequest.getPath().matches("/v[12]/\\p{XDigit}*/volumes/8a9287b7-4f4d-4213-8d75-63470f19f27c"));
assertEquals(volume.getId(), "8a9287b7-4f4d-4213-8d75-63470f19f27c");
assertEquals(volume.getName(), "vol-test");
assertEquals(volume.getDescription(), "a description");
assertNotNull(volume.getCreated());
assertEquals(volume.getZone(), "nova");
assertEquals(volume.getSize(), 100);
assertEquals(volume.getStatus(), Volume.Status.IN_USE);
assertEquals(volume.getSnapshotId(), "22222222-2222-2222-2222-222222222222");
assertEquals(volume.getSourceVolid(), "11111111-1111-1111-1111-111111111111");
assertEquals(volume.getVolumeType(), "Gold");
assertNotNull(volume.getMetaData());
Map<String, String> metadata = volume.getMetaData();
assertEquals(metadata.get("readonly"), "False");
assertEquals(metadata.get("attached_mode"), "rw");
assertNotNull(volume.getAttachments());
List<VolumeAttachment> attachments = (List<VolumeAttachment>) volume.getAttachments();
assertEquals(attachments.get(0).getDevice(), "/dev/vdd");
assertEquals(attachments.get(0).getHostname(), "myhost");
assertEquals(attachments.get(0).getId(), "8a9287b7-4f4d-4213-8d75-63470f19f27c");
assertEquals(attachments.get(0).getServerId(), "eaa6a54d-35c1-40ce-831d-bb61f991e1a9");
assertEquals(attachments.get(0).getVolumeId(), "8a9287b7-4f4d-4213-8d75-63470f19f27c");
assertEquals(volume.getTenantId(), "b0b5ed7ae06049688349fe43737796d4");
}
use of org.openstack4j.model.storage.block.Volume in project cloudbreak by hortonworks.
the class OpenStackAttachedDiskResourceBuilder method checkStatus.
@Override
protected boolean checkStatus(OpenStackContext context, AuthenticatedContext auth, CloudResource resource) {
CloudContext cloudContext = auth.getCloudContext();
OSClient<?> osClient = createOSClient(auth);
Volume osVolume = osClient.blockStorage().volumes().get(resource.getReference());
if (osVolume != null && context.isBuild()) {
Status volumeStatus = osVolume.getStatus();
if (Status.ERROR == volumeStatus || Status.ERROR_DELETING == volumeStatus || Status.ERROR_RESTORING == osVolume.getStatus()) {
throw new OpenStackResourceException("Volume in failed state", resource.getType(), resource.getName(), cloudContext.getId(), volumeStatus.name());
}
return volumeStatus == Status.AVAILABLE;
} else {
return osVolume == null && !context.isBuild();
}
}
Aggregations