http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java index 0ef92f4..ccd6d58 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java @@ -97,7 +97,7 @@ public class EC2Iaas extends JcloudsIaas { if (location.getScope().toString().equalsIgnoreCase(CloudControllerConstants.ZONE_ELEMENT) && location.getId().equals(iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE))) { templateBuilder.locationId(location.getId()); - log.info("ZONE has been set as " + iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE) + log.info("zone has been set as " + iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE) + " with id: " + location.getId()); break; } @@ -114,7 +114,7 @@ public class EC2Iaas extends JcloudsIaas { if (iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE) != null) { if (!template.getLocation().getId().equals(iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE))) { - log.warn("couldn't find assignable ZONE of id :" + + log.warn("couldn't find assignable zone of id :" + iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE) + " in the IaaS. " + "Hence using the default location as " + template.getLocation().getScope().toString() + " with the id " + template.getLocation().getId()); @@ -374,7 +374,7 @@ public class EC2Iaas extends JcloudsIaas { if (region == null || iaasInfo == null) { String msg = - "Region or IaaSProvider is null: region: " + region + " - IaaSProvider: " + + "Region or IaaSProvider is null. [region] " + region + ", [IaaSProvider] " + iaasInfo; log.error(msg); throw new InvalidRegionException(msg); @@ -402,7 +402,7 @@ public class EC2Iaas extends JcloudsIaas { if (zone == null || iaasInfo == null) { String msg = - "Zone or IaaSProvider is null: zone: " + zone + " - IaaSProvider: " + + "Zone or IaaSProvider is null. [zone] " + zone + ", [IaaSProvider] " + iaasInfo; log.error(msg); throw new InvalidZoneException(msg);
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java index 03f57df..8fbeabc 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java @@ -28,7 +28,7 @@ import org.apache.stratos.cloud.controller.iaases.Iaas; import org.apache.stratos.cloud.controller.iaases.PartitionValidator; import org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceUtil; import org.apache.stratos.cloud.controller.util.CloudControllerConstants; -import org.apache.stratos.messaging.domain.topology.Scope; +import org.apache.stratos.cloud.controller.util.Scope; import java.util.Properties; @@ -46,13 +46,13 @@ public class EC2PartitionValidator implements PartitionValidator { public IaasProvider validate(Partition partition, Properties properties) throws InvalidPartitionException { // validate the existence of the region and zone properties. try { - if (properties.containsKey(Scope.region.toString())) { - String region = properties.getProperty(Scope.region.toString()); + if (properties.containsKey(Scope.REGION.toString())) { + String region = properties.getProperty(Scope.REGION.toString()); if (iaasProvider.getImage() != null && !iaasProvider.getImage().contains(region)) { - String message = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() + - " [region] " + region; + String message = "Invalid partition detected, invalid region. [partition-id] " + partition.getId() + + ", [region] " + region; log.error(message); throw new InvalidPartitionException(message); } @@ -63,8 +63,8 @@ public class EC2PartitionValidator implements PartitionValidator { Iaas updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); updatedIaas.setIaasProvider(updatedIaasProvider); - if (properties.containsKey(Scope.zone.toString())) { - String zone = properties.getProperty(Scope.zone.toString()); + if (properties.containsKey(Scope.ZONE.toString())) { + String zone = properties.getProperty(Scope.ZONE.toString()); iaas.isValidZone(region, zone); updatedIaasProvider.setProperty(CloudControllerConstants.AVAILABILITY_ZONE, zone); updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); @@ -80,7 +80,6 @@ public class EC2PartitionValidator implements PartitionValidator { } } catch (Exception ex) { String message = "Invalid partition detected: [partition-id] " + partition.getId(); - log.error(message, ex); throw new InvalidPartitionException(message, ex); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java index 975fe0c..141e266 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java @@ -37,23 +37,23 @@ import org.apache.stratos.cloud.controller.iaases.PartitionValidator; import org.apache.stratos.cloud.controller.util.CloudControllerConstants; import org.apache.stratos.cloud.controller.util.ComputeServiceBuilderUtil; import org.jclouds.ContextBuilder; -import org.jclouds.collect.IterableWithMarker; import org.jclouds.compute.ComputeService; import org.jclouds.compute.ComputeServiceContext; import org.jclouds.compute.domain.NodeMetadata; import org.jclouds.compute.domain.Template; import org.jclouds.compute.domain.TemplateBuilder; -import org.jclouds.compute.options.TemplateOptions; import org.jclouds.domain.Location; import org.jclouds.googlecomputeengine.GoogleComputeEngineApi; -import org.jclouds.googlecomputeengine.domain.*; +import org.jclouds.googlecomputeengine.compute.options.GoogleComputeEngineTemplateOptions; +import org.jclouds.googlecomputeengine.domain.AttachDisk; +import org.jclouds.googlecomputeengine.domain.Disk; +import org.jclouds.googlecomputeengine.domain.Instance; +import org.jclouds.googlecomputeengine.domain.Operation; import org.jclouds.googlecomputeengine.features.DiskApi; import org.jclouds.googlecomputeengine.features.InstanceApi; -import org.jclouds.googlecomputeengine.features.RegionApi; -import org.jclouds.googlecomputeengine.features.ZoneApi; -import org.jclouds.googlecomputeengine.options.AttachDiskOptions; -import org.jclouds.googlecomputeengine.options.AttachDiskOptions.DiskType; +import org.jclouds.googlecomputeengine.options.DiskCreationOptions; +import java.net.URI; import java.util.*; import java.util.concurrent.atomic.AtomicReference; @@ -61,11 +61,8 @@ import static java.util.concurrent.TimeUnit.SECONDS; import static org.jclouds.util.Predicates2.retry; public class GCEIaas extends JcloudsIaas { - - private static final Log log = LogFactory.getLog(GCEIaas.class); - - private static final String PROJECTNAME = "projectName"; + public static final int MAX_WAIT_TIME = 60; // seconds public GCEIaas(IaasProvider iaasProvider) { super(iaasProvider); @@ -91,10 +88,10 @@ public class GCEIaas extends JcloudsIaas { throw new CloudControllerException(msg); } - log.info("gce buildTemplate"); - - TemplateBuilder templateBuilder = iaasInfo.getComputeService() - .templateBuilder(); + if (log.isDebugEnabled()) { + log.debug("Building template for Google Compute Engine IaaS"); + } + TemplateBuilder templateBuilder = iaasInfo.getComputeService().templateBuilder(); // set image id specified templateBuilder.imageId(iaasInfo.getImage()); @@ -106,7 +103,7 @@ public class GCEIaas extends JcloudsIaas { if (location.getScope().toString().equalsIgnoreCase(CloudControllerConstants.ZONE_ELEMENT) && location.getId().equals(zone)) { templateBuilder.locationId(location.getId()); - log.info("ZONE has been set as " + zone + log.info("zone has been set as " + zone + " with id: " + location.getId()); break; } @@ -117,14 +114,14 @@ public class GCEIaas extends JcloudsIaas { // set instance type eg: m1.large templateBuilder.hardwareId(iaasInfo.getProperty(CloudControllerConstants.INSTANCE_TYPE)); } - // build the Template Template template = templateBuilder.build(); if (zone != null) { if (!template.getLocation().getId().equals(zone)) { - log.warn("couldn't find assignable ZONE of id :" + zone + - " in the IaaS. Hence using the default location as " + template.getLocation().getScope().toString() + + log.warn("couldn't find assignable zone of id :" + zone + + " in the IaaS. Hence using the default location as " + + template.getLocation().getScope().toString() + " with the id " + template.getLocation().getId()); } } @@ -134,15 +131,11 @@ public class GCEIaas extends JcloudsIaas { // wish to assign IPs manually, it can be non-blocking. // is auto-assign-ip mode or manual-assign-ip mode? - default mode is // non-blocking - boolean blockUntilRunning = Boolean.parseBoolean(iaasInfo - .getProperty("autoAssignIp")); - template.getOptions().as(TemplateOptions.class) - .blockUntilRunning(blockUntilRunning); + boolean blockUntilRunning = Boolean.parseBoolean(iaasInfo.getProperty("autoAssignIp")); + template.getOptions().as(GoogleComputeEngineTemplateOptions.class).blockUntilRunning(blockUntilRunning); - // this is required in order to avoid creation of additional security - // groups by Jclouds. - template.getOptions().as(TemplateOptions.class) - .inboundPorts(22, 80, 8080, 443, 8243); + // this is required in order to avoid creation of additional security groups by Jclouds. + template.getOptions().as(GoogleComputeEngineTemplateOptions.class).inboundPorts(22, 80, 8080, 443, 8243); if (zone != null) { templateBuilder.locationId(zone); @@ -154,8 +147,9 @@ public class GCEIaas extends JcloudsIaas { for (String propertyKey : iaasInfo.getProperties().keySet()) { if (propertyKey.startsWith(CloudControllerConstants.TAGS_AS_KEY_VALUE_PAIRS_PREFIX)) { - keyValuePairTagsMap.put(propertyKey.substring(CloudControllerConstants.TAGS_AS_KEY_VALUE_PAIRS_PREFIX.length()), - iaasInfo.getProperties().get(propertyKey)); + keyValuePairTagsMap + .put(propertyKey.substring(CloudControllerConstants.TAGS_AS_KEY_VALUE_PAIRS_PREFIX.length()), + iaasInfo.getProperties().get(propertyKey)); template.getOptions() .userMetadata(keyValuePairTagsMap); } @@ -168,7 +162,7 @@ public class GCEIaas extends JcloudsIaas { networks.add(ni.getNetworkUuid()); log.info("using network interface " + ni.getNetworkUuid()); } - template.getOptions().as(TemplateOptions.class).networks(networks); + template.getOptions().as(GoogleComputeEngineTemplateOptions.class).networks(networks); log.info("using network interface " + networks); } @@ -226,25 +220,15 @@ public class GCEIaas extends JcloudsIaas { @Override public boolean isValidRegion(String region) throws InvalidRegionException { IaasProvider iaasInfo = getIaasProvider(); - if (region == null || iaasInfo == null) { String msg = "Region or IaaSProvider is null: region: " + region + " - IaaSProvider: " + iaasInfo; log.error(msg); throw new InvalidRegionException(msg); } - GoogleComputeEngineApi api = getGCEApi(); - RegionApi regionApi = api.getRegionApiForProject(iaasInfo.getProperty(PROJECTNAME)); - - for (IterableWithMarker<Region> page : regionApi.list()) { - for (Region r : page) { - if (region.equalsIgnoreCase(r.getName())) { - log.debug("Found a matching region: " + region); - return true; - } - } + if (api.regions().get(region) != null) { + return true; } - String msg = "Invalid region: " + region + " in the iaas: " + iaasInfo.getType(); log.error(msg); throw new InvalidRegionException(msg); @@ -255,24 +239,16 @@ public class GCEIaas extends JcloudsIaas { IaasProvider iaasInfo = getIaasProvider(); if (zone == null || iaasInfo == null) { - String msg = "Zone or IaaSProvider is null: region: " + region + - " zone: " + zone + " - IaaSProvider: " + iaasInfo; + String msg = "Zone or IaaSProvider is null. [region] " + region + ", [zone] " + zone + ", [IaaSProvider] " + + iaasInfo; log.error(msg); throw new InvalidZoneException(msg); } GoogleComputeEngineApi api = getGCEApi(); - ZoneApi zoneApi = api.getZoneApiForProject(iaasInfo.getProperty(PROJECTNAME)); - - for (IterableWithMarker<Zone> page : zoneApi.list()) { - for (Zone z : page) { - if (zone.equalsIgnoreCase(z.getName())) { - log.debug("Found a matching zone: " + zone); - return true; - } - } + if (api.zones().get(zone) != null) { + return true; } - String msg = "Invalid zone: " + zone + " in the region: " + region + " and of the iaas: " + iaasInfo.getType(); log.error(msg); throw new InvalidZoneException(msg); @@ -302,19 +278,23 @@ public class GCEIaas extends JcloudsIaas { String diskName = "stratos-disk-" + rand.nextInt(100000); DiskApi diskApi = getGCEDiskApi(); String zone = getZone(); - - log.debug("Creating volume: " + diskName + " in zone: " + zone + " of size: " + sizeGB); - - Operation oper = diskApi.createInZone(diskName, sizeGB, zone); - - oper = waitGCEOperationDone(oper); - if (oper.getStatus() != Operation.Status.DONE) { - log.error("Failed to create volume: " + diskName + " of size: " + sizeGB + - " in zone: " + zone + " operation: " + oper); - return null; + log.info("Creating volume: " + diskName + " in zone: " + zone + " of size: " + sizeGB); + try { + DiskCreationOptions diskCreationOptions = new DiskCreationOptions.Builder().sizeGb(sizeGB).sourceSnapshot + (new URI(snapshotId)).build(); + Operation oper = diskApi.create(diskName, diskCreationOptions); + oper = waitGCEOperationDone(oper); + if (!oper.status().equals(Operation.Status.DONE)) { + log.error("Failed to create volume: " + diskName + " of size: " + sizeGB + + " in zone: " + zone + " operation: " + oper); + return null; + } + return diskName; } - - return diskName; + catch (Exception e) { + log.error("Error creating volume", e); + } + return null; } @Override @@ -323,64 +303,55 @@ public class GCEIaas extends JcloudsIaas { InstanceApi instApi = getGCEInstanceApi(); String zone = getZone(); - log.debug("Trying to attach volume: " + volumeId + " to instance: " + instanceId + + log.info("Trying to attach volume: " + volumeId + " to instance: " + instanceId + " in zone: " + zone + " at devicename: " + deviceName); - Disk disk = diskApi.getInZone(zone, volumeId); + Disk disk = diskApi.get(volumeId); if (disk == null) { log.error("Failed to get volume: " + volumeId + " in zone: " + zone); return null; } - log.debug("Found volumeId: " + volumeId + " volume: " + disk); - - Operation oper = instApi.attachDiskInZone(zone, instanceId, - new AttachDiskOptions().type(DiskType.PERSISTENT) - .source(disk.getSelfLink()) - .mode(AttachDiskOptions.DiskMode.READ_WRITE) - .deviceName(deviceName)); - oper = waitGCEOperationDone(oper); - if (oper.getStatus() != Operation.Status.DONE) { - log.error("Failed to attach volume: " + volumeId + " to instance: " + instanceId + - " in zone: " + zone + " at device: " + deviceName + " operation: " + oper); - return null; + try { + Operation oper = + instApi.attachDisk(instanceId, AttachDisk.create(AttachDisk.Type.PERSISTENT, AttachDisk.Mode + .READ_WRITE, disk.selfLink(), deviceName, true, null, false, null, null)); + oper = waitGCEOperationDone(oper); + if (!oper.status().equals(Operation.Status.DONE)) { + log.error("Failed to attach volume: " + volumeId + " to instance: " + instanceId + + " in zone: " + zone + " at device: " + deviceName + " operation: " + oper); + return null; + } + return volumeId; } - - return volumeId; + catch (Exception e) { + log.error("Error attaching volume", e); + } + return null; } @Override public void detachVolume(String instanceId, String volumeId) { InstanceApi instApi = getGCEInstanceApi(); String zone = getZone(); - Instance inst = instApi.getInZone(zone, instanceId); - - log.debug("Trying to detach volume: " + volumeId + " from instance: " + instanceId + - " " + inst + " in zone: " + zone); - + Instance inst = instApi.get(instanceId); + log.info("Trying to detach volume: " + volumeId + " from instance: " + instanceId + " in zone: " + zone); if (inst == null) { log.error("Failed to find instance: " + instanceId + " in zone: " + zone); return; } - - for (Instance.AttachedDisk disk : inst.getDisks()) { - Instance.PersistentAttachedDisk persistentDisk = (Instance.PersistentAttachedDisk) disk; - - log.debug("Found disk - src: " + persistentDisk.getSourceDiskName() + - " devicename: " + persistentDisk.getDeviceName()); - - if (persistentDisk.getSourceDiskName().equals(volumeId)) { - Operation oper = instApi.detachDiskInZone(zone, instanceId, persistentDisk.getDeviceName().get()); + for (Instance.AttachedDisk disk : inst.disks()) { + if (disk.deviceName().equals(volumeId)) { + log.info("Found disk to be detached. Source: " + disk.source() + " devicename: " + disk.deviceName()); + Operation oper = instApi.detachDisk(instanceId, disk.deviceName()); oper = waitGCEOperationDone(oper); - if (oper.getStatus() != Operation.Status.DONE) { + if (!oper.status().equals(Operation.Status.DONE)) { log.error("Failed to detach volume: " + volumeId + " to instance: " + instanceId + - " in zone: " + zone + " at device: " + persistentDisk.getDeviceName() + - " result operation: " + oper); + " in zone: " + zone + " at device: " + disk.deviceName() + " result operation: " + oper); } return; } } - log.error("Cannot find volume: " + volumeId + " in instance: " + instanceId); } @@ -388,13 +359,11 @@ public class GCEIaas extends JcloudsIaas { public void deleteVolume(String volumeId) { DiskApi diskApi = getGCEDiskApi(); String zone = getZone(); - - log.debug("Deleting volume: " + volumeId + " in zone: " + zone); - - Operation oper = diskApi.deleteInZone(zone, volumeId); + log.info("Deleting volume: " + volumeId + " in zone: " + zone); + Operation oper = diskApi.delete(volumeId); oper = waitGCEOperationDone(oper); - if (oper.getStatus() != Operation.Status.DONE) { + if (!oper.status().equals(Operation.Status.DONE)) { log.error("Failed to delete volume: " + volumeId + " in zone: " + zone + " operation: " + oper); } @@ -419,19 +388,14 @@ public class GCEIaas extends JcloudsIaas { } private DiskApi getGCEDiskApi() { - IaasProvider iaasInfo = getIaasProvider(); - String projectName = iaasInfo.getProperty(PROJECTNAME); - return getGCEApi().getDiskApiForProject(projectName); + return getGCEApi().disksInZone(getZone()); } private InstanceApi getGCEInstanceApi() { - IaasProvider iaasInfo = getIaasProvider(); - String projectName = iaasInfo.getProperty(PROJECTNAME); - return getGCEApi().getInstanceApiForProject(projectName); + return getGCEApi().instancesInZone(getZone()); } private Operation waitGCEOperationDone(Operation operation) { - int maxWaitTime = 15; // 15 seconds IaasProvider iaasInfo = getIaasProvider(); Injector injector = ContextBuilder.newBuilder(iaasInfo.getProvider()) .credentials(iaasInfo.getIdentity(), iaasInfo.getCredential()) @@ -440,9 +404,8 @@ public class GCEIaas extends JcloudsIaas { injector.getInstance(Key.get(new TypeLiteral<Predicate<AtomicReference<Operation>>>() { }, Names.named("zone"))); AtomicReference<Operation> operationReference = Atomics.newReference(operation); - retry(zoneOperationDonePredicate, maxWaitTime, 1, SECONDS).apply(operationReference); + retry(zoneOperationDonePredicate, MAX_WAIT_TIME, 1, SECONDS).apply(operationReference); return operationReference.get(); } -} - +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEPartitionValidator.java index 71d7aa3..2b0db62 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEPartitionValidator.java @@ -22,9 +22,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.domain.IaasProvider; import org.apache.stratos.cloud.controller.domain.Partition; +import org.apache.stratos.cloud.controller.exception.InvalidIaasProviderException; import org.apache.stratos.cloud.controller.exception.InvalidPartitionException; +import org.apache.stratos.cloud.controller.iaases.Iaas; import org.apache.stratos.cloud.controller.iaases.PartitionValidator; -import org.apache.stratos.cloud.controller.iaases.vcloud.VCloudPartitionValidator; +import org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceUtil; +import org.apache.stratos.cloud.controller.util.CloudControllerConstants; +import org.apache.stratos.cloud.controller.util.Scope; import java.util.Properties; @@ -34,17 +38,75 @@ import java.util.Properties; */ public class GCEPartitionValidator implements PartitionValidator { - private static final Log log = LogFactory.getLog(VCloudPartitionValidator.class); - + private static final Log log = LogFactory.getLog(GCEPartitionValidator.class); private IaasProvider iaasProvider; + private Iaas iaas; @Override public IaasProvider validate(Partition partition, Properties properties) throws InvalidPartitionException { - return iaasProvider; + try { + if (properties.containsKey(Scope.REGION.toString())) { + String region = properties.getProperty(Scope.REGION.toString()); + + if (iaasProvider.getImage() != null && !iaasProvider.getImage().contains(region)) { + + String message = "Invalid partition detected, invalid region. [partition-id] " + partition.getId() + + ", [region] " + region; + log.error(message); + throw new InvalidPartitionException(message); + } + + iaas.isValidRegion(region); + + IaasProvider updatedIaasProvider = new IaasProvider(iaasProvider); + Iaas updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); + updatedIaas.setIaasProvider(updatedIaasProvider); + + if (properties.containsKey(Scope.ZONE.toString())) { + String zone = properties.getProperty(Scope.ZONE.toString()); + iaas.isValidZone(region, zone); + updatedIaasProvider.setProperty(CloudControllerConstants.AVAILABILITY_ZONE, zone); + updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); + updatedIaas.setIaasProvider(updatedIaasProvider); + } + + updateOtherProperties(updatedIaasProvider, properties); + return updatedIaasProvider; + } else { + return iaasProvider; + } + } + catch (Exception ex) { + String message = "Invalid partition detected: [partition-id] " + partition.getId(); + throw new InvalidPartitionException(message, ex); + } + } + + private void updateOtherProperties(IaasProvider updatedIaasProvider, Properties properties) { + Iaas updatedIaas; + try { + updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); + + for (Object property : properties.keySet()) { + if (property instanceof String) { + String key = (String) property; + updatedIaasProvider.setProperty(key, properties.getProperty(key)); + if (log.isDebugEnabled()) { + log.debug("Added property " + key + " to the IaasProvider."); + } + } + } + updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); + updatedIaas.setIaasProvider(updatedIaasProvider); + } + catch (InvalidIaasProviderException ignore) { + } + } @Override public void setIaasProvider(IaasProvider iaasProvider) { this.iaasProvider = iaasProvider; + this.iaas = iaasProvider.getIaas(); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackIaas.java index bcd10b1..9b0e21f 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackIaas.java @@ -266,8 +266,8 @@ public class OpenstackIaas extends JcloudsIaas { // jclouds availability zone = stratos zone if (region == null || zone == null || iaasInfo == null) { - String msg = "Host or Zone or IaaSProvider is null: region: " + region + " - zone: " + - zone + " - IaaSProvider: " + iaasInfo; + String msg = "Host or Zone or IaaSProvider is null. [region] " + region + ", [zone] " + + zone + ", [IaaSProvider] " + iaasInfo; log.error(msg); throw new InvalidZoneException(msg); } @@ -295,7 +295,8 @@ public class OpenstackIaas extends JcloudsIaas { IaasProvider iaasInfo = getIaasProvider(); if (host == null || zone == null || iaasInfo == null) { - String msg = String.format("Host or Zone or IaaSProvider is null: host: %s - zone: %s - IaaSProvider: %s", host, zone, iaasInfo); + String msg = String.format("Host or Zone or IaaSProvider is null. [host] %s, [zone] %s, [IaaSProvider] %s", + host, zone, iaasInfo); log.error(msg); throw new InvalidHostException(msg); } @@ -313,7 +314,8 @@ public class OpenstackIaas extends JcloudsIaas { } } - String msg = String.format("Invalid host: %s in the zone: %s and of the iaas: %s", host, zone, iaasInfo.getType()); + String msg = String.format("Invalid host: %s in the zone: %s and of the iaas: %s", host, zone, iaasInfo.getType + ()); log.error(msg); throw new InvalidHostException(msg); } @@ -357,7 +359,8 @@ public class OpenstackIaas extends JcloudsIaas { } if (volume == null) { - log.fatal(String.format("Volume creation was unsuccessful. [region] : %s [zone] : %s of Iaas : %s", region, zone, iaasInfo)); + log.fatal(String.format("Volume creation was unsuccessful. [region] %s, [zone] %s, [Iaas] %s", region, + zone, iaasInfo)); return null; } @@ -378,7 +381,8 @@ public class OpenstackIaas extends JcloudsIaas { return volumeId; } */ - log.info(String.format("Successfully created a new volume [id]: %s in [region] : %s [zone] : %s of Iaas : %s [Volume ID]%s", volume.getId(), region, zone, iaasInfo, volume.getId())); + log.info(String.format("Successfully created a new volume [id]: %s in [region] : %s [zone] : %s of Iaas : %s " + + "[Volume ID]%s", volume.getId(), region, zone, iaasInfo, volume.getId())); return volumeId; } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java index 24f8e01..6a77421 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java @@ -28,7 +28,7 @@ import org.apache.stratos.cloud.controller.iaases.Iaas; import org.apache.stratos.cloud.controller.iaases.PartitionValidator; import org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceUtil; import org.apache.stratos.cloud.controller.util.CloudControllerConstants; -import org.apache.stratos.messaging.domain.topology.Scope; +import org.apache.stratos.cloud.controller.util.Scope; import java.util.Properties; @@ -47,13 +47,13 @@ public class OpenstackPartitionValidator implements PartitionValidator { public IaasProvider validate(Partition partition, Properties properties) throws InvalidPartitionException { try { // validate the existence of the zone and hosts properties. - if (properties.containsKey(Scope.region.toString())) { - String region = properties.getProperty(Scope.region.toString()); + if (properties.containsKey(Scope.REGION.toString())) { + String region = properties.getProperty(Scope.REGION.toString()); if (iaasProvider.getImage() != null && !iaasProvider.getImage().contains(region)) { - String msg = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() + - " [region] " + region; + String msg = "Invalid partition detected, invalid region. [partition-id] " + partition.getId() + + ", [region] " + region; log.error(msg); throw new InvalidPartitionException(msg); } @@ -64,8 +64,8 @@ public class OpenstackPartitionValidator implements PartitionValidator { Iaas updatedIaas = CloudControllerServiceUtil.buildIaas(updatedIaasProvider); updatedIaas.setIaasProvider(updatedIaasProvider); - if (properties.containsKey(Scope.zone.toString())) { - String zone = properties.getProperty(Scope.zone.toString()); + if (properties.containsKey(Scope.ZONE.toString())) { + String zone = properties.getProperty(Scope.ZONE.toString()); iaas.isValidZone(region, zone); updatedIaasProvider.setProperty(CloudControllerConstants.AVAILABILITY_ZONE, zone); http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApi.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApi.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApi.java index 1a90386..2bf9130 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApi.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApi.java @@ -526,11 +526,13 @@ public class NeutronNetworkingApi implements OpenstackNetworkingApi { } this.portApi = neutronApi.getPortApi(region); - String portApiNullOrEmptyErrorMessage = String.format("Unable to get port Api from neutron Api for region ", region); + String portApiNullOrEmptyErrorMessage = String.format("Unable to get port Api from neutron Api for region: %s", + region); assertNotNull(portApi, portApiNullOrEmptyErrorMessage); this.floatingIPApi = neutronApi.getFloatingIPApi(region).get(); - String floatingIPApiNullOrEmptyErrorMessage = String.format("Unable to get floatingIP Api from neutron Api for region ", region); + String floatingIPApiNullOrEmptyErrorMessage = String.format("Unable to get floatingIP Api from neutron Api " + + "for region: %s", region); assertNotNull(floatingIPApi, floatingIPApiNullOrEmptyErrorMessage); } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudIaas.java deleted file mode 100644 index d87e04d..0000000 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudIaas.java +++ /dev/null @@ -1,392 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.stratos.cloud.controller.iaases.vcloud; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.stratos.cloud.controller.domain.IaasProvider; -import org.apache.stratos.cloud.controller.domain.NetworkInterface; -import org.apache.stratos.cloud.controller.exception.CloudControllerException; -import org.apache.stratos.cloud.controller.iaases.JcloudsIaas; -import org.apache.stratos.cloud.controller.iaases.PartitionValidator; -import org.apache.stratos.cloud.controller.util.ComputeServiceBuilderUtil; -import org.jclouds.compute.ComputeService; -import org.jclouds.compute.ComputeServiceContext; -import org.jclouds.compute.domain.NodeMetadata; -import org.jclouds.compute.domain.Template; -import org.jclouds.compute.domain.TemplateBuilder; -import org.jclouds.compute.options.TemplateOptions; -import org.jclouds.vcloud.VCloudApi; -import org.jclouds.vcloud.compute.options.VCloudTemplateOptions; -import org.jclouds.vcloud.domain.DiskAttachOrDetachParams; -import org.jclouds.vcloud.domain.NetworkConnection; -import org.jclouds.vcloud.domain.Task; -import org.jclouds.vcloud.domain.Vm; -import org.jclouds.vcloud.domain.network.IpAddressAllocationMode; -import org.jclouds.vcloud.domain.network.OrgNetwork; -import org.jclouds.vcloud.features.VAppApi; -import org.jclouds.vcloud.features.VmApi; -import org.wso2.carbon.utils.CarbonUtils; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Hashtable; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - - -public class VCloudIaas extends JcloudsIaas { - - - private static final Log log = LogFactory.getLog(VCloudIaas.class); - - private static final String SHELL_TYPE = "shellType"; - private static final String SCRIPTS_PATH = "scripts"; - private static final String CUSTOMIZATION_SCRIPT = "customization"; - private static final String PAYLOAD = "PAYLOAD"; - - public VCloudIaas(IaasProvider iaasProvider) { - super(iaasProvider); - } - - @Override - public void buildComputeServiceAndTemplate() { - // builds and sets Compute Service - ComputeService computeService = ComputeServiceBuilderUtil.buildDefaultComputeService(getIaasProvider()); - getIaasProvider().setComputeService(computeService); - - // builds and sets Template - buildTemplate(); - - } - - public void buildTemplate() { - IaasProvider iaasInfo = getIaasProvider(); - - if (iaasInfo.getComputeService() == null) { - String msg = "Compute service is null for IaaS provider: " - + iaasInfo.getName(); - log.fatal(msg); - throw new CloudControllerException(msg); - } - - //get 'native' version of jclouds' vCloud API. - ComputeServiceContext context = iaasInfo.getComputeService().getContext(); - VCloudApi api = context.unwrapApi(VCloudApi.class); - - - TemplateBuilder templateBuilder = iaasInfo.getComputeService() - .templateBuilder(); - - // set image id specified - templateBuilder.imageId(iaasInfo.getImage()); - - // build the Template - Template template = templateBuilder.build(); - - // if you wish to auto assign IPs, instance spawning call should be - // blocking, but if you - // wish to assign IPs manually, it can be non-blocking. - // is auto-assign-ip mode or manual-assign-ip mode? - default mode is - // non-blocking - boolean blockUntilRunning = Boolean.parseBoolean(iaasInfo - .getProperty("autoAssignIp")); - template.getOptions().as(TemplateOptions.class) - .blockUntilRunning(blockUntilRunning); - - // this is required in order to avoid creation of additional security - // groups by Jclouds. - template.getOptions().as(TemplateOptions.class) - .inboundPorts(22, 80, 8080, 443, 8243); - - if (iaasInfo.getNetworkInterfaces() != null) { - Set<String> networksSet = new LinkedHashSet<String>(iaasInfo.getNetworkInterfaces().length); - Hashtable<String, NetworkConnection> vcloudNetworkOptions = new Hashtable<String, NetworkConnection>(iaasInfo.getNetworkInterfaces().length); - - int i = 0; - for (NetworkInterface ni : iaasInfo.getNetworkInterfaces()) { - - String networkUuid = ni.getNetworkUuid(); - String networkName = null; - IpAddressAllocationMode ipAllocMode = IpAddressAllocationMode.NONE; - if (ni.getFixedIp() != null && !ni.getFixedIp().equals("")) { - ipAllocMode = IpAddressAllocationMode.MANUAL; - } else { - ipAllocMode = IpAddressAllocationMode.POOL; - } - - //fetch network name. - try { - OrgNetwork orgNet = api.getNetworkApi().getNetwork(new URI(networkUuid)); - networkName = orgNet.getName(); - } catch (URISyntaxException e) { - log.error("Network UUID '" + networkUuid + "' is not a URI/href."); - } - NetworkConnection nc = new NetworkConnection(networkName, i, ni.getFixedIp(), null, true, - null, //TODO: support fixed Mac addrs. - ipAllocMode); - networksSet.add(networkUuid); - vcloudNetworkOptions.put(networkUuid, nc); - - i++; - } - //new NetworkConnectionSection() - - //VmApi vmApi = api.getVmApi(); - //vmApi.updateNetworkConnectionOfVm(); - - template.getOptions().networks(networksSet); - template.getOptions().as(VCloudTemplateOptions.class).networkConnections(vcloudNetworkOptions); - } - - //template.getOptions().as(VCloudTemplateOptions.class) - // .ipAddressAllocationMode(IpAddressAllocationMode.POOL); - - // set Template - iaasInfo.setTemplate(template); - } - - @Override - public void setDynamicPayload(byte[] payload) { - // in vCloud case we need to run a script - IaasProvider iaasProvider = getIaasProvider(); - - if (iaasProvider.getTemplate() == null || payload == null) { - if (log.isDebugEnabled()) { - log.debug("Payload for vCloud not found"); - } - return; - } - - String shellType = iaasProvider.getProperty(SHELL_TYPE); - - if (shellType == null || shellType.isEmpty()) { - if (log.isDebugEnabled()) { - log.debug("Shell Type for vCloud Customization script not found from properties"); - } - return; - } - - if (log.isDebugEnabled()) { - log.debug(String.format("Shell Type '%s' will be used for vCloud Customization script", shellType)); - } - - // Payload is a String value - String payloadStr = new String(payload); - - if (log.isDebugEnabled()) { - log.debug(String.format("Payload '%s' will be used for vCloud Customization script", payload)); - } - - Template template = iaasProvider.getTemplate(); - - File scriptPath = new File(CarbonUtils.getCarbonConfigDirPath(), SCRIPTS_PATH); - - File customizationScriptFile = new File(new File(scriptPath, shellType), CUSTOMIZATION_SCRIPT); - - if (!customizationScriptFile.exists()) { - if (log.isWarnEnabled()) { - log.warn(String.format("The vCloud Customization script '%s' does not exist", - customizationScriptFile.getAbsolutePath())); - } - return; - } - - String customizationScript = null; - - try { - customizationScript = FileUtils.readFileToString(customizationScriptFile); - } catch (IOException e) { - if (log.isErrorEnabled()) { - log.error( - String.format("Error reading the vCloud Customization script '%s'", - customizationScriptFile.getAbsolutePath()), e); - } - } - - if (StringUtils.isEmpty(customizationScript)) { - if (log.isDebugEnabled()) { - log.debug("No content vCloud Customization script not found from properties"); - } - return; - } - - // Set payload - customizationScript = customizationScript.replaceAll(PAYLOAD, payloadStr); - - if (log.isDebugEnabled()) { - log.debug(String.format("The vCloud Customization script\n%s", customizationScript)); - } - - // Ensure the script is run. - if (customizationScript.length() >= 49000) { - log.warn("The vCloud customization script is >=49000 bytes in size; uploading dummy script and running real script via ssh."); - String dummyCustomizationScript = "#!/bin/sh\n" - + "#STRATOS: the real customization script will be invoked via ssh, since it exceeds the 49000 byte limit " - + "imposed by vCloud;\n" - + "#see " - + "http://pubs.vmware.com/vcd-55/topic/com.vmware.vcloud.api.doc_55/GUID-1BA3B7C5-B46C-48F7-8704-945BC47A940D.html\n"; - template.getOptions().as(VCloudTemplateOptions.class).customizationScript(dummyCustomizationScript); - template.getOptions().runScript(customizationScript); - } else { - template.getOptions().as(VCloudTemplateOptions.class).customizationScript(customizationScript); - } - - // Run the script - //template.getOptions().runScript(customizationScript); - } - - @Override - public boolean createKeyPairFromPublicKey(String region, String keyPairName, String publicKey) { - - // TODO - return false; - } - - @Override - public List<String> associateAddresses(NodeMetadata node) { - - // TODO - return null; - - } - - @Override - public String associatePredefinedAddress(NodeMetadata node, String ip) { - return ""; - } - - @Override - public void releaseAddress(String ip) { - // TODO - } - - @Override - public boolean isValidRegion(String region) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isValidZone(String region, String zone) { - // TODO Auto-generated method stub - return true; - } - - @Override - public boolean isValidHost(String zone, String host) { - // TODO Auto-generated method stub - return true; - } - - @Override - public PartitionValidator getPartitionValidator() { - return new VCloudPartitionValidator(); - } - - @Override - public String createVolume(int sizeGB, String snapshotId) { - // TODO Auto-generated method stub - return null; - } - - @Override - public String attachVolume(String instanceId, String volumeId, String deviceName) { - IaasProvider iaasInfo = getIaasProvider(); - - if (StringUtils.isEmpty(volumeId)) { - log.error("Volume provided to attach can not be null"); - } - - if (StringUtils.isEmpty(instanceId)) { - log.error("Instance provided to attach can not be null"); - } - - URI instanceIdHref = null; - URI volumeIdHref = null; - try { - //the instanceId format is a bit silly for vCloud. - instanceIdHref = new URI("https:/" + instanceId); - } catch (URISyntaxException e) { - log.error("Failed to attach volume, because the instance id cannot be converted into a url by concatenating " - + "'https:/' with " + instanceId + ". Full stacktrace: " + e.toString()); - return null; - } - try { - volumeIdHref = new URI(volumeId); - } catch (URISyntaxException e) { - log.error("Failed to attach voluume, because the volume id '" + volumeId + "' is not a valid href (URI))" - + e.toString()); - } - - //get 'native' version of jclouds' vCloud API. - ComputeServiceContext context = iaasInfo.getComputeService() - .getContext(); - - VCloudApi api = context.unwrapApi(VCloudApi.class); - - //Disks need to be attached to individual VMs, not vApps. The instanceId is the VApp. - VAppApi vAppApi = api.getVAppApi(); - Set<Vm> vmsInVapp = vAppApi.getVApp(instanceIdHref).getChildren(); - //Each vApp today has just 1 VM in it. Validate assumption. - assert (vmsInVapp.size() == 1); - Vm vm = vmsInVapp.iterator().next(); - URI vmHref = vm.getHref(); - VmApi vmApi = api.getVmApi(); - - // invest - /* - VCloudHardDisk.Builder hardDiskBuilder = new VCloudHardDisk.Builder(); - VCloudHardDisk hardDisk = hardDiskBuilder.instanceID(volumeId).build(); - VCloudVirtualHardwareSection vvhs = vm.getVirtualHardwareSection(); - VCloudHardDisk.Builder Vchd = new VCloudHardDisk.Builder(); - vvhs.toBuilder().item(Vchd.capacity(3).instanceID("hgfhgf").build()).build(); - VApp va = vAppApi.getVApp(instanceIdHref); - - */ //EO invest - DiskAttachOrDetachParams params = new DiskAttachOrDetachParams(volumeIdHref); - Task t = vmApi.attachDisk(vmHref, params); - - log.info(String.format("Volume [id]: %s attachment for instance [id]: %s was successful [status]: Attaching. Iaas : %s, Task: %s", volumeId, instanceId, iaasInfo, t)); - return "Attaching"; - } - - @Override - public void detachVolume(String instanceId, String volumeId) { - // TODO Auto-generated method stub - - } - - @Override - public void deleteVolume(String volumeId) { - // TODO Auto-generated method stub - - } - - @Override - public String getIaasDevice(String device) { - return device; - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudPartitionValidator.java deleted file mode 100644 index 5a19741..0000000 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/vcloud/VCloudPartitionValidator.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.stratos.cloud.controller.iaases.vcloud; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.stratos.cloud.controller.domain.IaasProvider; -import org.apache.stratos.cloud.controller.domain.Partition; -import org.apache.stratos.cloud.controller.exception.InvalidPartitionException; -import org.apache.stratos.cloud.controller.iaases.Iaas; -import org.apache.stratos.cloud.controller.iaases.PartitionValidator; - -import java.util.Properties; - - -/** - * The VCloud {@link org.apache.stratos.cloud.controller.iaases.PartitionValidator} implementation. - */ -public class VCloudPartitionValidator implements PartitionValidator { - - @SuppressWarnings("unused") - private static final Log log = LogFactory.getLog(VCloudPartitionValidator.class); - private IaasProvider iaasProvider; - @SuppressWarnings("unused") - private Iaas iaas; - - @Override - public IaasProvider validate(Partition partition, Properties properties) throws InvalidPartitionException { - //TODO: implement real validation logic - return iaasProvider; - - } - - @Override - public void setIaasProvider(IaasProvider iaas) { - this.iaasProvider = iaas; - this.iaas = iaas.getIaas(); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ComputeServiceBuilderUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ComputeServiceBuilderUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ComputeServiceBuilderUtil.java index ee9d57b..19098cf 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ComputeServiceBuilderUtil.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/ComputeServiceBuilderUtil.java @@ -92,7 +92,7 @@ public class ComputeServiceBuilderUtil { // try to find region if ((region = iaas.getProperty(CloudControllerConstants.REGION_PROPERTY)) == null) { // if the property, isn't specified, try to obtain from the image id - // image id can be in following format - {region}/{UUID} + // image id can be in following format - {REGION}/{UUID} region = (iaas.getImage() != null) && (iaas.getImage().contains("/")) ? iaas.getImage().split("/")[0] : null; } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/Scope.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/Scope.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/Scope.java new file mode 100644 index 0000000..984494e --- /dev/null +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/Scope.java @@ -0,0 +1,26 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ +package org.apache.stratos.cloud.controller.util; + +/** + * represents the scope of each partition which can be configured in stratos. + */ +public enum Scope { + PROVIDER, REGION, ZONE, HOST +} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-1.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-1.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-1.xml index 2d31871..24445d8 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-1.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-1.xml @@ -33,7 +33,7 @@ <deployment baseDir="xyz"> <dir>abc</dir> </deployment> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-2.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-2.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-2.xml index ac89e87..2d7386f 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-2.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-2.xml @@ -26,7 +26,7 @@ specified under iaasProvider child elements of cartridge element. --> <property name="ss" value="slsls"/> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-4.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-4.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-4.xml index 496e373..bc78906 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-4.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-4.xml @@ -28,7 +28,7 @@ <!-- cartridge element can have 0..n properties, and they'll be overwritten by the properties specified under iaasProvider child elements of cartridge element. --> <property name="ss" value="slsls"/> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-5.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-5.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-5.xml index 65dadaa..b4a3ee7 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-5.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-5.xml @@ -26,7 +26,7 @@ <!-- You can have 1..n cartridge elements. --> <cartridge type="php"> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-6.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-6.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-6.xml index 6f42c4e..37c9b9d 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-6.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-6.xml @@ -26,7 +26,7 @@ <!-- You can have 1..n cartridge elements. --> <cartridge type="php"> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-7.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-7.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-7.xml index 993e3cd..214e68f 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-7.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-7.xml @@ -27,7 +27,7 @@ <cartridge type="php" version="5.1"> <!-- Display name of this cartridge --> <displayName>PHP</displayName> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> @@ -47,7 +47,7 @@ <cartridge type="php" version="5.1"> <!-- Display name of this cartridge --> <displayName>PHP</displayName> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-8.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-8.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-8.xml index 1bc3cd4..e0aa4d9 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-8.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-8.xml @@ -28,7 +28,7 @@ specified under iaasProvider child elements of cartridge element. --> <property name="ss" value="slsls"/> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> @@ -85,7 +85,7 @@ specified under iaasProvider child elements of cartridge element. --> <property name="ss" value="slsls"/> -<!-- A cartridge element should add a reference to an existing IaaS provider (specified +<!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-9.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-9.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-9.xml index 9d2070d..5f42a36 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-9.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cartridges-9.xml @@ -33,7 +33,7 @@ <deployment baseDir="xyz"> <dir>abc</dir> </deployment> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> @@ -66,7 +66,7 @@ <deployment baseDir="xyz"> <dir>abc</dir> </deployment> - <!-- A cartridge element should add a reference to an existing IaaS provider (specified + <!-- A cartridge element should add a reference to an existing IaaS PROVIDER (specified in the above <iaasProviders> section) or it can create a completely new IaaS Provider (which should have a unique "type" attribute. --> <iaasProvider type="openstack"> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.cloud.controller/src/test/resources/cloud-controller.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/resources/cloud-controller.xml b/components/org.apache.stratos.cloud.controller/src/test/resources/cloud-controller.xml index 677b020..8305ad9 100644 --- a/components/org.apache.stratos.cloud.controller/src/test/resources/cloud-controller.xml +++ b/components/org.apache.stratos.cloud.controller/src/test/resources/cloud-controller.xml @@ -49,7 +49,7 @@ is not necessary [0..1]. But you can use this section to avoid specifying same property over and over again. --> <iaasProviders> - <!--<iaasProvider type="ec2" name="EC2 specific details"> <provider>aws-ec2</provider> + <!--<iaasProvider type="ec2" name="EC2 specific details"> <PROVIDER>aws-ec2</PROVIDER> <identity svns:secretAlias="elastic.scaler.ec2.identity">cdcd</identity> <credential svns:secretAlias="elastic.scaler.ec2.credential">cdccdc</credential> <scaleUpOrder>2</scaleUpOrder> <scaleDownOrder>1</scaleDownOrder> <property http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer1.conf ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer1.conf b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer1.conf index 8bdced5..11c2a92 100755 --- a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer1.conf +++ b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer1.conf @@ -106,7 +106,7 @@ loadbalancer { # Rewrite location header # If this property is set to true, load balancer will rewrite HTTP Location header values found in response - # messages if the host is set to an ip address of a known member. The resulting Location header host will be + # messages if the HOST is set to an ip address of a known member. The resulting Location header HOST will be # set to corresponding cluster hostname and the port will be set to corresponding transport proxy port. rewrite-location-header: true; } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer2.conf ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer2.conf b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer2.conf index 5d4e950..5680eca 100755 --- a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer2.conf +++ b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer2.conf @@ -106,7 +106,7 @@ loadbalancer { # Rewrite location header # If this property is set to true, load balancer will rewrite HTTP Location header values found in response - # messages if the host is set to an ip address of a known member. The resulting Location header host will be + # messages if the HOST is set to an ip address of a known member. The resulting Location header HOST will be # set to corresponding cluster hostname and the port will be set to corresponding transport proxy port. rewrite-location-header: false; http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer3.conf ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer3.conf b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer3.conf index 2f723e8..a82397d 100755 --- a/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer3.conf +++ b/components/org.apache.stratos.load.balancer/src/test/resources/sample/configuration/loadbalancer3.conf @@ -106,7 +106,7 @@ loadbalancer { # Rewrite location header # If this property is set to true, load balancer will rewrite HTTP Location header values found in response - # messages if the host is set to an ip address of a known member. The resulting Location header host will be + # messages if the HOST is set to an ip address of a known member. The resulting Location header HOST will be # set to corresponding cluster hostname and the port will be set to corresponding transport proxy port. rewrite-location-header: true; } http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.manager/src/scripts/append_zone_file.sh ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/scripts/append_zone_file.sh b/components/org.apache.stratos.manager/src/scripts/append_zone_file.sh index 007cc58..aff5ee1 100644 --- a/components/org.apache.stratos.manager/src/scripts/append_zone_file.sh +++ b/components/org.apache.stratos.manager/src/scripts/append_zone_file.sh @@ -24,7 +24,7 @@ appending_file=$3 subdomain=$1 ip=$2 -#appending the zone file +#appending the ZONE file echo $subdomain'\t'IN'\t'A'\t'$ip>> $appending_file #increasing the count http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Scope.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Scope.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Scope.java deleted file mode 100644 index 4c228b3..0000000 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Scope.java +++ /dev/null @@ -1,26 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ -package org.apache.stratos.messaging.domain.topology; - -/** - * represents the scope of each partition which can be configured in stratos. - */ -public enum Scope { - provider, region, zone, host -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.metadata.service/src/main/resources/axis2_client.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.metadata.service/src/main/resources/axis2_client.xml b/components/org.apache.stratos.metadata.service/src/main/resources/axis2_client.xml index b9f2eb6..707e241 100644 --- a/components/org.apache.stratos.metadata.service/src/main/resources/axis2_client.xml +++ b/components/org.apache.stratos.metadata.service/src/main/resources/axis2_client.xml @@ -73,7 +73,7 @@ <!--POJO deployer , this will alow users to drop .class file and make that into a service--> <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/> - <!-- Following parameter will set the host name for the epr--> + <!-- Following parameter will set the HOST name for the epr--> <!--<parameter name="hostname" locked="true">myhost.com</parameter>--> <!-- ================================================= --> @@ -159,7 +159,7 @@ <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> <parameter name="port">6071</parameter> - <!--If you want to give your own host address for EPR generation--> + <!--If you want to give your own HOST address for EPR generation--> <!--uncomment following parameter , and set as you required.--> <!--<parameter name="hostname">http://myApp.com/ws</parameter>--> </transportReceiver> @@ -168,7 +168,7 @@ <!--<transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer"> <parameter name="port">6061</parameter>--> - <!--If you want to give your own host address for EPR generation--> + <!--If you want to give your own HOST address for EPR generation--> <!--uncomment following parameter , and set as you required.--> <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>--> <!--</transportReceiver>--> http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/THttpClient.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/THttpClient.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/THttpClient.py index 9ef9535..5288bf7 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/THttpClient.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/THttpClient.py @@ -34,14 +34,14 @@ class THttpClient(TTransportBase): def __init__(self, uri_or_host, port=None, path=None): """THttpClient supports two different types constructor parameters. - THttpClient(host, port, path) - deprecated + THttpClient(HOST, port, path) - deprecated THttpClient(uri) Only the second supports https. """ if port is not None: warnings.warn( - "Please use the THttpClient('http://host:port/path') syntax", + "Please use the THttpClient('http://HOST:port/path') syntax", DeprecationWarning, stacklevel=2) self.host = uri_or_host http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSSLSocket.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSSLSocket.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSSLSocket.py index df35be4..9166a0a 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSSLSocket.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSSLSocket.py @@ -152,7 +152,7 @@ class TSSLSocket(TSocket.TSocket): raise TTransportException( type=TTransportException.UNKNOWN, message='Could not validate SSL certificate from ' - 'host "%s". Cert=%s' % (self.host, cert)) + 'HOST "%s". Cert=%s' % (self.host, cert)) class TSSLServerSocket(TSocket.TServerSocket): http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSocket.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSocket.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSocket.py index 9e2b384..1a7d2af 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSocket.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/databridge/thrift/thrift/transport/TSocket.py @@ -50,10 +50,10 @@ class TSocket(TSocketBase): def __init__(self, host='localhost', port=9090, unix_socket=None): """Initialize a TSocket - @param host(str) The host to connect to. + @param host(str) The HOST to connect to. @param port(int) The (TCP) port to connect to. @param unix_socket(str) The filename of a unix socket to connect to. - (host and port will be ignored.) + (HOST and port will be ignored.) """ self.host = host self.port = port http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java index 74397d4..bf99edf 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java @@ -418,8 +418,8 @@ public class StratosApiV41Utils { throw new RestAPIException(errorMsg, axisFault); } catch (RemoteException e) { String errorMsg = - String.format("Error while getting cartridge information for provider %s Cause: %s ", provider, - e.getMessage()); + String.format("Error while getting cartridge information for [provider] %s, [cause] %s ", + provider, e.getMessage()); log.error(errorMsg, e); throw new RestAPIException(errorMsg, e); }
