Repository: incubator-stratos Updated Branches: refs/heads/master 2ebe599c0 -> 78d4c84dc
fixing OpenstackNovaIaas's volume creation logic due to a confusion of zones and regions Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/b0da7e06 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/b0da7e06 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/b0da7e06 Branch: refs/heads/master Commit: b0da7e06bc11e150a6643116c327bd392fc47626 Parents: 3779ee9 Author: Nirmal Fernando <[email protected]> Authored: Mon Feb 17 14:23:22 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Mon Feb 17 14:23:22 2014 +0530 ---------------------------------------------------------------------- .../stratos/cloud/controller/iaases/OpenstackNovaIaas.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0da7e06/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java index a077991..1220526 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java @@ -396,6 +396,8 @@ public class OpenstackNovaIaas extends Iaas { public String createVolume(int sizeGB) { IaasProvider iaasInfo = getIaasProvider(); String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo); + String zone = ComputeServiceBuilderUtil.extractZone(iaasInfo); + if (region == null || iaasInfo == null) { log.fatal("Cannot create a new volume in the [region] : "+region +" of Iaas : "+iaasInfo); @@ -405,15 +407,15 @@ public class OpenstackNovaIaas extends Iaas { RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); VolumeApi api = nova.getApi().getVolumeExtensionForZone(region).get(); - Volume volume = api.create(sizeGB, CreateVolumeOptions.Builder.availabilityZone(region)); + Volume volume = api.create(sizeGB, CreateVolumeOptions.Builder.availabilityZone(zone)); if (volume == null) { - log.fatal("Volume creation was unsuccessful. [region] : " + region + log.fatal("Volume creation was unsuccessful. [region] : " + region+" [zone] : " + zone + " of Iaas : " + iaasInfo); return null; } log.info("Successfully created a new volume [id]: "+volume.getId() - +" in [region] : "+region+" of Iaas : "+iaasInfo); + +" in [region] : "+region+" [zone] : "+zone+" of Iaas : "+iaasInfo); return volume.getId(); }
