http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.cloud.controller/pom.xml ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/pom.xml b/components/org.apache.stratos.cloud.controller/pom.xml index 4f2919b..ec808d1 100644 --- a/components/org.apache.stratos.cloud.controller/pom.xml +++ b/components/org.apache.stratos.cloud.controller/pom.xml @@ -17,12 +17,13 @@ # specific language governing permissions and limitations # under the License. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> - <groupId>org.apache.stratos</groupId> - <artifactId>stratos-components-parent</artifactId> - <version>4.1.0-SNAPSHOT</version> + <groupId>org.apache.stratos</groupId> + <artifactId>stratos-components-parent</artifactId> + <version>4.1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -54,8 +55,8 @@ org.apache.stratos.cloud.controller.topology.*, org.apache.stratos.cloud.controller.iaases.*, org.apache.stratos.cloud.controller.pojo.*, - org.apache.stratos.cloud.controller.deployers.*, - org.apache.stratos.cloud.controller.exception.*, + org.apache.stratos.cloud.controller.deployers.*, + org.apache.stratos.cloud.controller.exception.*, </Export-Package> <Private-Package> !org.apache.stratos.cloud.controller.interfaces.*, @@ -69,18 +70,18 @@ org.apache.stratos.cloud.controller.*, </Private-Package> <Import-Package> - !org.apache.commons.logging, + !org.apache.commons.logging, org.apache.commons.logging; version=0.0.0, org.apache.commons.io.*, org.wso2.carbon.utils.*, <!--org.jclouds.compute*;version="${jclouds.version}";resolution:=optional, - org.jclouds*;version="${jclouds.version}",--> + org.jclouds*;version="${jclouds.version}",--> *; resolution:=optional </Import-Package> <DynamicImport-Package>*</DynamicImport-Package> - + <Axis2Deployer>CloudControllerDeployer</Axis2Deployer> - + </instructions> </configuration> </plugin> @@ -91,171 +92,186 @@ <dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.core</artifactId> - </dependency> + </dependency> <dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.utils</artifactId> - </dependency> + </dependency> <dependency> <groupId>org.apache.stratos</groupId> <artifactId>org.apache.stratos.messaging</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.reflections</groupId> - <artifactId>reflections</artifactId> - <version>0.9.9-RC1</version> - </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>17.0</version> + </dependency> + <dependency> + <groupId>com.jcraft</groupId> + <artifactId>jsch.agentproxy.jsch</artifactId> + <version>0.0.7</version> + </dependency> + <dependency> + <groupId>com.jcraft</groupId> + <artifactId>jsch.agentproxy.core</artifactId> + <version>0.0.7</version> + </dependency> + <dependency> + <groupId>com.jcraft</groupId> + <artifactId>jsch.agentproxy.connector-factory</artifactId> + <version>0.0.7</version> + </dependency> + <dependency> + <groupId>org.reflections</groupId> + <artifactId>reflections</artifactId> + <version>0.9.9-RC1</version> + </dependency> -<dependency> - <groupId>org.wso2.carbon</groupId> - <artifactId>org.wso2.carbon.securevault</artifactId> - <version>${wso2carbon.version}</version> -</dependency> -<dependency> - <groupId>org.hectorclient.wso2</groupId> - <artifactId>hector-core</artifactId> - <version>1.1.0.wso2v1</version> - <exclusions> - <exclusion> - <groupId>com.google.guava.wso2</groupId> - <artifactId>guava</artifactId> - </exclusion> - </exclusions> - -</dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>14.0.1</version> - </dependency> -<dependency> - <groupId>org.wso2.andes.wso2</groupId> - <artifactId>andes-client</artifactId> - <version>0.13.wso2v3</version> - </dependency> -<dependency> - <groupId>org.apache.geronimo.specs.wso2</groupId> - <artifactId>geronimo-jms_1.1_spec</artifactId> - <version>${orbit.version.geronimo-jms_1.1_spec}</version> - </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.securevault</artifactId> + <version>${wso2carbon.version}</version> + </dependency> + <dependency> + <groupId>org.hectorclient.wso2</groupId> + <artifactId>hector-core</artifactId> + <version>1.1.0.wso2v1</version> + <exclusions> + <exclusion> + <groupId>com.google.guava.wso2</groupId> + <artifactId>guava</artifactId> + </exclusion> + </exclusions> -<dependency> - <groupId>org.wso2.carbon</groupId> - <artifactId>org.wso2.carbon.analytics.hive.stub</artifactId> - <version>4.2.0</version> -</dependency> + </dependency> + <dependency> + <groupId>org.wso2.andes.wso2</groupId> + <artifactId>andes-client</artifactId> + <version>0.13.wso2v3</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs.wso2</groupId> + <artifactId>geronimo-jms_1.1_spec</artifactId> + <version>${orbit.version.geronimo-jms_1.1_spec}</version> + </dependency> - <!-- jclouds dependencies --> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-core</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-compute</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-bouncycastle</artifactId> - <version>${jclouds.version}</version> - <exclusions> - <exclusion> - <groupId>org.bouncycastle</groupId> - <artifactId>bcprov-jdk16</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-sshj</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-log4j</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-enterprise</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.stratos</groupId> - <artifactId>ec2</artifactId> - <version>1.7.1-stratos</version> - </dependency> - <dependency> - <groupId>org.apache.stratos</groupId> - <artifactId>aws-ec2</artifactId> - <version>1.7.1-stratos</version> - </dependency> - <dependency> - <groupId>org.apache.stratos</groupId> - <artifactId>openstack-nova</artifactId> - <version>1.7.1-stratos</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds.api</groupId> - <artifactId>openstack-keystone</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-scriptbuilder</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.stratos</groupId> - <artifactId>vcloud</artifactId> - <version>1.7.1-stratos</version> - </dependency> + <dependency> + <groupId>org.wso2.carbon</groupId> + <artifactId>org.wso2.carbon.analytics.hive.stub</artifactId> + <version>4.2.0</version> + </dependency> - <dependency> - <groupId>com.jamesmurty.utils.wso2</groupId> - <artifactId>java-xmlbuilder</artifactId> - <version>0.4.wso2v1</version> - </dependency> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - <version>${gson2.version}</version> - </dependency> - <dependency> - <groupId>com.google.guice.wso2</groupId> - <artifactId>guice</artifactId> - <version>${google.guice.wso2.version}</version> - </dependency> - <dependency> - <groupId>com.google.guice.assistedinject.wso2</groupId> - <artifactId>guice-assistedinject</artifactId> - <version>${com.google.guice.assistedinject.wso2.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-core</artifactId> - <version>${sun.jersey.version}</version> - </dependency> - <dependency> - <groupId>net.oauth.core</groupId> - <artifactId>oauth</artifactId> - <version>20100527</version> - </dependency> - <dependency> - <groupId>commons-io.wso2</groupId> - <artifactId>commons-io</artifactId> - <version>2.0.0.wso2v1</version> - </dependency> - <dependency> - <groupId>rhino.wso2</groupId> - <artifactId>js</artifactId> - <version>1.7.0.R1-wso2v3</version> - </dependency> - <dependency> + <!-- jclouds dependencies --> + <dependency> + <groupId>org.apache.jclouds</groupId> + <artifactId>jclouds-core</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds</groupId> + <artifactId>jclouds-compute</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-bouncycastle</artifactId> + <version>${jclouds.version}</version> + <exclusions> + <exclusion> + <groupId>org.bouncycastle</groupId> + <artifactId>bcprov-jdk16</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-sshj</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-log4j</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds.driver</groupId> + <artifactId>jclouds-enterprise</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>ec2</artifactId> + <version>1.8.0-stratos</version> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>aws-ec2</artifactId> + <version>1.8.0-stratos</version> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>openstack-nova</artifactId> + <version>1.8.0-stratos</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds.api</groupId> + <artifactId>openstack-keystone</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jclouds</groupId> + <artifactId>jclouds-scriptbuilder</artifactId> + <version>${jclouds.version}</version> + </dependency> + <dependency> + <groupId>org.apache.stratos</groupId> + <artifactId>vcloud</artifactId> + <version>1.8.0-stratos</version> + </dependency> + + <dependency> + <groupId>com.jamesmurty.utils.wso2</groupId> + <artifactId>java-xmlbuilder</artifactId> + <version>0.4.wso2v1</version> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>${gson2.version}</version> + </dependency> + <dependency> + <groupId>com.google.guice.wso2</groupId> + <artifactId>guice</artifactId> + <version>${google.guice.wso2.version}</version> + </dependency> + <dependency> + <groupId>com.google.guice.assistedinject.wso2</groupId> + <artifactId>guice-assistedinject</artifactId> + <version>${com.google.guice.assistedinject.wso2.version}</version> + </dependency> + <dependency> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + <version>${sun.jersey.version}</version> + </dependency> + <dependency> + <groupId>net.oauth.core</groupId> + <artifactId>oauth</artifactId> + <version>20100527</version> + </dependency> + <dependency> + <groupId>commons-io.wso2</groupId> + <artifactId>commons-io</artifactId> + <version>2.0.0.wso2v1</version> + </dependency> + <dependency> + <groupId>rhino.wso2</groupId> + <artifactId>js</artifactId> + <version>1.7.0.R1-wso2v3</version> + </dependency> + <dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.databridge.agent.thrift</artifactId> <version>4.2.0</version>
http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/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 722b4b2..1c953a8 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 @@ -18,6 +18,7 @@ */ package org.apache.stratos.cloud.controller.iaases; +import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; @@ -44,10 +45,8 @@ import org.jclouds.compute.domain.NodeMetadataBuilder; import org.jclouds.compute.domain.Template; import org.jclouds.compute.domain.TemplateBuilder; import org.jclouds.compute.options.TemplateOptions; -import org.jclouds.ec2.options.CreateSnapshotOptions; import org.jclouds.openstack.nova.v2_0.NovaApi; import org.jclouds.openstack.nova.v2_0.NovaApiMetadata; -import org.jclouds.openstack.nova.v2_0.NovaAsyncApi; import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions; import org.jclouds.openstack.nova.v2_0.domain.FloatingIP; import org.jclouds.openstack.nova.v2_0.domain.HostAggregate; @@ -55,16 +54,14 @@ import org.jclouds.openstack.nova.v2_0.domain.KeyPair; import org.jclouds.openstack.nova.v2_0.domain.Network; import org.jclouds.openstack.nova.v2_0.domain.Volume; import org.jclouds.openstack.nova.v2_0.domain.VolumeAttachment; -import org.jclouds.openstack.nova.v2_0.domain.VolumeSnapshot; import org.jclouds.openstack.nova.v2_0.domain.zonescoped.AvailabilityZone; -import org.jclouds.openstack.nova.v2_0.extensions.AvailabilityZoneAPI; +import org.jclouds.openstack.nova.v2_0.extensions.AvailabilityZoneApi; import org.jclouds.openstack.nova.v2_0.extensions.FloatingIPApi; import org.jclouds.openstack.nova.v2_0.extensions.HostAggregateApi; import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi; import org.jclouds.openstack.nova.v2_0.extensions.VolumeApi; import org.jclouds.openstack.nova.v2_0.extensions.VolumeAttachmentApi; import org.jclouds.openstack.nova.v2_0.options.CreateVolumeOptions; -import org.jclouds.openstack.nova.v2_0.options.CreateVolumeSnapshotOptions; import org.jclouds.rest.RestContext; import java.util.ArrayList; @@ -202,8 +199,8 @@ public class OpenstackNovaIaas extends Iaas { ComputeServiceContext context = iaasInfo.getComputeService() .getContext(); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - KeyPairApi api = nova.getApi().getKeyPairExtensionForZone(region).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + KeyPairApi api = novaApi.getKeyPairExtensionForZone(region).get(); KeyPair keyPair = api.createWithPublicKey(keyPairName, publicKey); @@ -231,8 +228,8 @@ public class OpenstackNovaIaas extends Iaas { String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - FloatingIPApi floatingIp = nova.getApi().getFloatingIPExtensionForZone( + NovaApi novaApi = context.unwrapApi(NovaApi.class); + FloatingIPApi floatingIp = novaApi.getFloatingIPExtensionForZone( region).get(); String ip = null; @@ -314,11 +311,10 @@ public class OpenstackNovaIaas extends Iaas { ComputeServiceContext context = iaasInfo.getComputeService() .getContext(); - NovaApi novaClient = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi(); String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo); - FloatingIPApi floatingIp = novaClient.getFloatingIPExtensionForZone( - region).get(); + FloatingIPApi floatingIp = context.unwrapApi(NovaApi.class).getFloatingIPExtensionForZone( + region).get(); if(log.isDebugEnabled()) { log.debug("OpenstackNovaIaas:associatePredefinedAddress:floatingip:" + floatingIp); @@ -406,9 +402,8 @@ public class OpenstackNovaIaas extends Iaas { String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - FloatingIPApi floatingIPApi = nova.getApi() - .getFloatingIPExtensionForZone(region).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + FloatingIPApi floatingIPApi = novaApi.getFloatingIPExtensionForZone(region).get(); for (FloatingIP floatingIP : floatingIPApi.list()) { if (floatingIP.getIp().equals(ip)) { @@ -442,8 +437,8 @@ public class OpenstackNovaIaas extends Iaas { } ComputeServiceContext context = iaasInfo.getComputeService().getContext(); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - Set<String> zones = nova.getApi().getConfiguredZones(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + Set<String> zones = novaApi.getConfiguredZones(); for (String configuredZone : zones) { if (region.equalsIgnoreCase(configuredZone)) { if (log.isDebugEnabled()) { @@ -470,9 +465,9 @@ public class OpenstackNovaIaas extends Iaas { throw new InvalidZoneException(msg); } ComputeServiceContext context = iaasInfo.getComputeService().getContext(); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - AvailabilityZoneAPI zoneApi = nova.getApi().getAvailabilityZoneApi(region); - for (AvailabilityZone z : zoneApi.list()) { + NovaApi novaApi = context.unwrapApi(NovaApi.class); + Optional<? extends AvailabilityZoneApi> availabilityZoneApi = novaApi.getAvailabilityZoneApi(region); + for (AvailabilityZone z : availabilityZoneApi.get().list()) { if (zone.equalsIgnoreCase(z.getName())) { if (log.isDebugEnabled()) { @@ -498,8 +493,8 @@ public class OpenstackNovaIaas extends Iaas { throw new InvalidHostException(msg); } ComputeServiceContext context = iaasInfo.getComputeService().getContext(); - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - HostAggregateApi hostApi = nova.getApi().getHostAggregateExtensionForZone(zone).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + HostAggregateApi hostApi = novaApi.getHostAggregateExtensionForZone(zone).get(); for (HostAggregate hostAggregate : hostApi.list()) { for (String configuredHost : hostAggregate.getHosts()) { if (host.equalsIgnoreCase(configuredHost)) { @@ -532,9 +527,9 @@ public class OpenstackNovaIaas extends Iaas { return null; } ComputeServiceContext context = iaasInfo.getComputeService().getContext(); - - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - VolumeApi volumeApi = nova.getApi().getVolumeExtensionForZone(region).get(); + + NovaApi novaApi = context.unwrapApi(NovaApi.class); + VolumeApi volumeApi = novaApi.getVolumeExtensionForZone(region).get(); Volume volume; if(StringUtils.isEmpty(snapshotId)){ if(log.isDebugEnabled()){ @@ -581,9 +576,8 @@ public class OpenstackNovaIaas extends Iaas { IaasProvider iaasInfo = getIaasProvider(); String region = ComputeServiceBuilderUtil.extractRegion(iaasInfo); ComputeServiceContext context = iaasInfo.getComputeService().getContext();; - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - VolumeApi volumeApi = nova.getApi().getVolumeExtensionForZone(region).get(); - VolumeAttachmentApi volumeAttachmentApi = nova.getApi().getVolumeAttachmentExtensionForZone(region).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + VolumeApi volumeApi = novaApi.getVolumeExtensionForZone(region).get(); Volume.Status volumeStatus = this.getVolumeStatus(volumeApi, volumeId); while(volumeStatus != expectedStatus){ @@ -633,9 +627,9 @@ public class OpenstackNovaIaas extends Iaas { return null; } - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - VolumeApi volumeApi = nova.getApi().getVolumeExtensionForZone(region).get(); - VolumeAttachmentApi volumeAttachmentApi = nova.getApi().getVolumeAttachmentExtensionForZone(region).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + VolumeApi volumeApi = novaApi.getVolumeExtensionForZone(region).get(); + VolumeAttachmentApi volumeAttachmentApi = novaApi.getVolumeAttachmentExtensionForZone(region).get(); Volume.Status volumeStatus = this.getVolumeStatus(volumeApi, volumeId); @@ -702,8 +696,8 @@ public class OpenstackNovaIaas extends Iaas { log.debug(String.format("Starting to detach volume %s from the instance %s", volumeId, instanceId)); } - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - VolumeAttachmentApi api = nova.getApi().getVolumeAttachmentExtensionForZone(region).get(); + NovaApi novaApi = context.unwrapApi(NovaApi.class); + VolumeAttachmentApi api = novaApi.getVolumeAttachmentExtensionForZone(region).get(); if (api.detachVolumeFromServer(volumeId, instanceId)) { log.info(String.format("Detachment of Volume [id]: %s from instance [id]: %s was successful. [region] : %s of Iaas : %s", volumeId, instanceId, region, iaasInfo)); }else{ @@ -725,9 +719,9 @@ public class OpenstackNovaIaas extends Iaas { log.fatal(String.format("Cannot delete the volume [id]: %s of the [region] : %s of Iaas : %s", volumeId, region, iaasInfo)); return; } - - RestContext<NovaApi, NovaAsyncApi> nova = context.unwrap(); - VolumeApi api = nova.getApi().getVolumeExtensionForZone(region).get(); + + NovaApi novaApi = context.unwrapApi(NovaApi.class); + VolumeApi api = novaApi.getVolumeExtensionForZone(region).get(); if (api.delete(volumeId)) { log.info(String.format("Deletion of Volume [id]: %s was successful. [region] : %s of Iaas : %s", volumeId, region, iaasInfo)); } http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/cartridge_info.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/cartridge_info.jag b/components/org.apache.stratos.manager.console/console/cartridge_info.jag index 653e31a..3b45af6 100644 --- a/components/org.apache.stratos.manager.console/console/cartridge_info.jag +++ b/components/org.apache.stratos.manager.console/console/cartridge_info.jag @@ -23,11 +23,15 @@ var caramel = require('caramel'); var error = []; var utils = require('/util/utility.jag'); var process = require('process'); - var log = new Log('utility.cartridgeInfo'); +var log = new Log('utility.cartridgeInfo'); var alias = request.getParameter("alias"); var lbCluster = {}; var cartridgeInfo = utils.consoleAppUtil.getCartridgeInfo(alias); +if(cartridgeInfo == null || cartridgeInfo == undefined || cartridgeInfo == ""){ + cartridgeInfo = {}; +} + if(cartridgeInfo.Error != undefined){ error.push(cartridgeInfo.Error); }else{ @@ -43,11 +47,17 @@ if(cartridgeInfo.Error != undefined){ } */ lbCluster = utils.consoleAppUtil.getLBClusterInfo(); - if(lbCluster.Error != undefined){ - error.push(lbCluster.Error); + if(lbCluster == null || lbCluster == undefined || lbCluster == ""){ + lbCluster = {}; } - + if(lbCluster.Error != undefined){ + error.push(lbCluster.Error); + } + var clusterInfo = utils.consoleAppUtil.getClusterInfoWithAlias(cartridgeInfo.cartridge.cartridgeType, alias); + if(clusterInfo == null || clusterInfo == undefined || clusterInfo == ""){ + clusterInfo = {}; + } if(clusterInfo.Error != undefined){ error.push(clusterInfo.Error); } http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/cartridge_info_sg.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/cartridge_info_sg.jag b/components/org.apache.stratos.manager.console/console/cartridge_info_sg.jag index 0d1c521..7c874f3 100644 --- a/components/org.apache.stratos.manager.console/console/cartridge_info_sg.jag +++ b/components/org.apache.stratos.manager.console/console/cartridge_info_sg.jag @@ -27,6 +27,10 @@ var process = require('process'); var serviceGroup = request.getParameter("serviceGroup"); //Get all alias for a service group var cartridges = utils.consoleAppUtil.getCartridgeServiceGroup(serviceGroup); + +if(cartridges == null || cartridges == undefined || cartridges == ""){ + cartridges = {}; +} cartridges=cartridges.cartridge; if(cartridges.Error != undefined){ @@ -41,24 +45,31 @@ if(cartridges.Error != undefined){ var alias = cartridges[i].cartridgeAlias; var lbCluster = {}; - lbCluster = utils.consoleAppUtil.getLBClusterInfo(); - if(lbCluster.Error != undefined){ - error.push(lbCluster.Error); - }else{ - //cartridges[i].lbClusterinfo = {member:[{memberIp:"foo"},{}]};//lbCluster.cluster; - //cartridges[i].lbClusterinfo = lbCluster.cluster[0]; - cartridges[i].lbclusterinfo = lbCluster.cluster[0]; - } + lbCluster = utils.consoleAppUtil.getLBClusterInfo(); + if(lbCluster == null || lbCluster == undefined || lbCluster == ""){ + lbCluster = {}; + } + if(lbCluster.Error != undefined){ + error.push(lbCluster.Error); + }else{ + //cartridges[i].lbClusterinfo = {member:[{memberIp:"foo"},{}]};//lbCluster.cluster; + //cartridges[i].lbClusterinfo = lbCluster.cluster[0]; + cartridges[i].lbclusterinfo = lbCluster.cluster[0]; + } + //Getting the clusterInfo and putting it to the relevant cartridge json var clusterInfo = utils.consoleAppUtil.getClusterInfoWithAlias(cartridgeInfo.cartridgeType, alias); + if(clusterInfo == null || clusterInfo == undefined || clusterInfo == ""){ + clusterInfo = {}; + } if(clusterInfo.Error != undefined){ error.push(clusterInfo.Error); }else{ cartridges[i].clusterInfo = clusterInfo.cluster[0]; } - } } + var bamInfo ={bamip:process.getProperty('bam.ip'),bamport:process.getProperty('bam.port')}; caramel.render({ cartridges:cartridges, http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/cartridges.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/cartridges.jag b/components/org.apache.stratos.manager.console/console/cartridges.jag index 3060bc1..3403427 100644 --- a/components/org.apache.stratos.manager.console/console/cartridges.jag +++ b/components/org.apache.stratos.manager.console/console/cartridges.jag @@ -24,9 +24,14 @@ var error = []; var utils = require('/util/utility.jag'); var process = require('process'); var availableCartridges = utils.consoleAppUtil.getCartridges(); + +if(availableCartridges == null || availableCartridges == undefined || availableCartridges == ""){ + availableCartridges = {}; +} if(availableCartridges.Error != undefined){ error.push(availableCartridges.Error); } + var bamInfo ={bamip:process.getProperty('bam.ip'),bamport:process.getProperty('bam.port')}; caramel.render({ cartridges:availableCartridges, http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/configure_stratos.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/configure_stratos.jag b/components/org.apache.stratos.manager.console/console/configure_stratos.jag index 6e8435f..8718bbc 100644 --- a/components/org.apache.stratos.manager.console/console/configure_stratos.jag +++ b/components/org.apache.stratos.manager.console/console/configure_stratos.jag @@ -39,22 +39,29 @@ var config_status = utils.consoleAppUtil.getConfigStatus(); if(wizard.step == 1){ var step_data = utils.consoleAppUtil.getPartitions(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.partition; } - }else if(wizard.step == 2){ step_data = utils.consoleAppUtil.getPolicyAutoScale(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.autoscalePolicy; } - }else if(wizard.step == 3){ step_data = utils.consoleAppUtil.getPolicyDeployment(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ @@ -62,6 +69,9 @@ if(wizard.step == 1){ } }else if(wizard.step == 4){ step_data = utils.consoleAppUtil.getLbCartridges(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ @@ -69,25 +79,32 @@ if(wizard.step == 1){ } }else if(wizard.step == 5){ step_data = utils.consoleAppUtil.getCartridges(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.cartridge; - for(var i=0;i<step_data.length;i++) { - if(step_data[i].loadBalancer == true ) { - step_data.splice(i,1); - i = i - 1; - } - } + for(var i=0;i<step_data.length;i++) { + if(step_data[i].loadBalancer == true ) { + step_data.splice(i,1); + i = i - 1; + } + } } }else if(wizard.step == 6){ step_data = utils.consoleAppUtil.getServices(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.serviceDefinitionBean; } } + caramel.render({ step_data:step_data, wizard:wizard, http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag b/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag index ac7f802..314b1a7 100644 --- a/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag +++ b/components/org.apache.stratos.manager.console/console/configure_stratos_wizard.jag @@ -35,16 +35,21 @@ var wizard = { var utils = require('/util/utility.jag'); - if(wizard.step == 1){ var step_data = utils.consoleAppUtil.getPartitions(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); - }else{ + }else{ step_data = step_data.partition; - } + } }else if(wizard.step == 2){ step_data = utils.consoleAppUtil.getPolicyAutoScale(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ @@ -52,6 +57,9 @@ if(wizard.step == 1){ } }else if(wizard.step == 3){ step_data = utils.consoleAppUtil.getPolicyDeployment(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ @@ -59,32 +67,42 @@ if(wizard.step == 1){ } }else if(wizard.step == 4){ step_data = utils.consoleAppUtil.getLbCartridges(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.cartridge; } -}else if(wizard.step == 5){ + }else if(wizard.step == 5){ step_data = utils.consoleAppUtil.getCartridges(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.cartridge; - for(var i=0;i<step_data.length;i++) { - if(step_data[i].loadBalancer == true ) { - step_data.splice(i,1); - i = i - 1; - } - } + for(var i=0;i<step_data.length;i++) { + if(step_data[i].loadBalancer == true ) { + step_data.splice(i,1); + i = i - 1; + } + } } }else if(wizard.step == 6){ step_data = utils.consoleAppUtil.getServices(); + if(step_data == null || step_data == undefined || step_data == ""){ + step_data = {}; + } if(step_data.Error != undefined){ error.push(step_data.Error); }else{ step_data = step_data.serviceDefinitionBean; } } + var bamInfo ={bamip:process.getProperty('bam.ip'),bamport:process.getProperty('bam.port')}; caramel.render({ step_data:step_data, http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/index.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/index.jag b/components/org.apache.stratos.manager.console/console/index.jag index e99bcd1..368bade 100644 --- a/components/org.apache.stratos.manager.console/console/index.jag +++ b/components/org.apache.stratos.manager.console/console/index.jag @@ -27,6 +27,10 @@ var process = require('process'); var subscribedCartridges = utils.consoleAppUtil.getSubscribedCartridges(); +if(subscribedCartridges == null || subscribedCartridges == undefined || subscribedCartridges == ""){ + subscribedCartridges = {}; +} + var errorInSession = session.get("errorinbackend"); if(errorInSession != undefined) { session.remove("errorinbackend"); @@ -34,7 +38,7 @@ if(errorInSession != undefined) { } if(subscribedCartridges.Error != undefined){ - error.push(subscribedCartridges.Error); + error.push(subscribedCartridges.Error); } var bamInfo ={bamip:process.getProperty('bam.ip'),bamport:process.getProperty('bam.port')}; http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/subscribe_cartridge.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/subscribe_cartridge.jag b/components/org.apache.stratos.manager.console/console/subscribe_cartridge.jag index c73208b..b0b06c2 100644 --- a/components/org.apache.stratos.manager.console/console/subscribe_cartridge.jag +++ b/components/org.apache.stratos.manager.console/console/subscribe_cartridge.jag @@ -30,13 +30,31 @@ var deploymentPolicies = utils.consoleAppUtil.getApplicableDeploymentPolicies(ty var mtServiceInfo = utils.consoleAppUtil.getServiceInfo(type); var cartridge = utils.consoleAppUtil.getSingleTenantCartridgeInfo(type); +if(autoScalePolicies == null || autoScalePolicies == undefined || autoScalePolicies == ""){ + autoScalePolicies = {}; +} if(autoScalePolicies.Error != undefined ){ error.push(autoScalePolicies.Error); -}if(deploymentPolicies.Error != undefined ){ +} + +if(deploymentPolicies == null || deploymentPolicies == undefined || deploymentPolicies == ""){ + deploymentPolicies = {}; +} +if(deploymentPolicies.Error != undefined ){ error.push(deploymentPolicies.Error); -}if(cartridge.Error != undefined ){ +} + +if(cartridge == null || cartridge == undefined || cartridge == ""){ + cartridge = {}; +} +if(cartridge.Error != undefined ){ error.push(cartridge.Error); -}if(mtServiceInfo.Error != undefined ){ +} + +if(mtServiceInfo == null || mtServiceInfo == undefined || mtServiceInfo == ""){ + mtServiceInfo = {}; +} +if(mtServiceInfo.Error != undefined ){ error.push(mtServiceInfo.Error); } http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/tenant_management.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/tenant_management.jag b/components/org.apache.stratos.manager.console/console/tenant_management.jag index f805717..df20752 100644 --- a/components/org.apache.stratos.manager.console/console/tenant_management.jag +++ b/components/org.apache.stratos.manager.console/console/tenant_management.jag @@ -25,9 +25,14 @@ var error = []; var utils = require('/util/utility.jag'); var process = require('process'); var tenants = utils.consoleAppUtil.getTenants(); + +if(tenants == null || tenants == undefined || tenants == ""){ + tenants = {}; +} if(tenants.Error != undefined){ error.push(tenants.Error); } + var bamInfo ={bamip:process.getProperty('bam.ip'),bamport:process.getProperty('bam.port')}; caramel.render({ tenants:tenants, http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js index 46aab9f..d258013 100755 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos.js @@ -89,8 +89,10 @@ var render = function (theme, data, meta, require) { session.remove("get-status"); session.remove("deploy-status"); - for(var i=0;i<step_data.length;i++){ - step_data[i].json_string = stringify(step_data[i]); + if(step_data != null && step_data != undefined){ + for(var i=0;i<step_data.length;i++){ + step_data[i].json_string = stringify(step_data[i]); + } } var log = new Log(); theme('index', { http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos_wizard.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos_wizard.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos_wizard.js index 2c2d4c6..804c6df 100755 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos_wizard.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/configure_stratos_wizard.js @@ -87,9 +87,13 @@ var render = function (theme, data, meta, require) { }else{ title = 'Configure Stratos Wizard Finished'; } - for(var i=0;i<step_data.length;i++){ - step_data[i].json_string = stringify(step_data[i]); + + if(step_data != null && step_data != undefined){ + for(var i=0;i<step_data.length;i++){ + step_data[i].json_string = stringify(step_data[i]); + } } + theme('index', { body: [ { http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/index.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/index.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/index.js index 47aaf53..fa6e688 100755 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/index.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/index.js @@ -23,6 +23,9 @@ var render = function (theme, data, meta, require) { // Re-create the data structure of the cartridges. var log = new Log(); if(data.error.length == 0 ){ + if(data.mycartridges == null || data.mycartridges == undefined || data.mycartridges == ""){ + data.mycartridges = {}; + } var cartridges= data.mycartridges.cartridge,cartridges_new =[]; session.remove("get-status"); session.remove("deploy-status"); http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/subscribe_cartridge.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/subscribe_cartridge.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/subscribe_cartridge.js index 92ec3f3..04270a5 100755 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/subscribe_cartridge.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/subscribe_cartridge.js @@ -25,14 +25,26 @@ var render = function (theme, data, meta, require) { if(cartridge == undefined){ cartridge = data.cartridge; } + var mtServiceInfo = {} + if(data.mtServiceInfo != null || data.mtServiceInfo != undefined && data.mtServiceInfo != ""){ + mtServiceInfo = data.mtServiceInfo.serviceDefinitionBean; + } + var autoScalePolicies = {} + if(data.autoScalePolicies != null && data.autoScalePolicies != undefined && data.autoScalePolicies != ""){ + autoScalePolicies = data.autoScalePolicies.autoscalePolicy; + } + var deploymentPolicies = {} + if(data.deploymentPolicies != null && data.deploymentPolicies != undefined && data.deploymentPolicies != ""){ + deploymentPolicies = data.deploymentPolicies.deploymentPolicy; + } theme('index', { body: [ { partial: 'subscribe_cartridge', context: { - autoScalePolicies:data.autoScalePolicies.autoscalePolicy, - deploymentPolicies:data.deploymentPolicies.deploymentPolicy, - mtServiceInfo:data.mtServiceInfo.serviceDefinitionBean, + autoScalePolicies:autoScalePolicies, + deploymentPolicies:deploymentPolicies, + mtServiceInfo:mtServiceInfo, cartridge:cartridge, cartridgeType:meta.request.getParameter('cartridgeType'), serviceGroup:meta.request.getParameter('serviceGroup') http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/tenant_management.js ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/tenant_management.js b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/tenant_management.js index 7be977a..34d2017 100755 --- a/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/tenant_management.js +++ b/components/org.apache.stratos.manager.console/console/themes/theme1/renderers/tenant_management.js @@ -84,12 +84,8 @@ var render = function (theme, data, meta, require) { name: 'Subscribe to Cartridge', class_name: 'btn-important' }, -<<<<<<< HEAD - has_help:false, -======= bamInfo:data.bamInfo, - has_help: true, ->>>>>>> 400 + has_help: false, help: 'Create cartridges like PHP, Python, Ruby etc.. Or create data cartridges with mySql, PostgreSQL. Directly install applications like Drupal, Wordpress etc..' } } http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.manager.console/console/util/utility.jag ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager.console/console/util/utility.jag b/components/org.apache.stratos.manager.console/console/util/utility.jag index 3cd93eb..083b330 100644 --- a/components/org.apache.stratos.manager.console/console/util/utility.jag +++ b/components/org.apache.stratos.manager.console/console/util/utility.jag @@ -98,150 +98,150 @@ consoleAppUtil = new function(){ var log = new Log('utility.consoleAppUtil'); this.getAvailableSingleTenantCartridges = function(){ - return this.sendReceive("GET","/cartridge/list",{}).data; + return this.sendReceive("GET","/cartridge/list",{}); }; this.getAvailableMultiTenantCartridges = function(){ - return this.sendReceive("GET","/cartridge/tenanted/list",{}).data; + return this.sendReceive("GET","/cartridge/tenanted/list",{}); }; this.getSubscribedCartridges = function(){ - return this.sendReceive("GET","/cartridge/list/subscribed",{}).data; + return this.sendReceive("GET","/cartridge/list/subscribed",{}); } this.getTenants = function(){ - return this.sendReceive("GET","/tenant/list",{}).data; + return this.sendReceive("GET","/tenant/list",{}); }; this.getServices = function(){ - return this.sendReceive("GET","/service",{}).data; + return this.sendReceive("GET","/service",{}); }; this.deployCartridgeDefinition = function(cartridgeDefinition){ - return this.send("POST","/cartridge/definition",cartridgeDefinition).data; + return this.send("POST","/cartridge/definition",cartridgeDefinition); }; this.deployServiceDefinition = function(serviceDefinition){ - return this.send("POST","/service/definition",serviceDefinition).data; + return this.send("POST","/service/definition",serviceDefinition); }; this.deployLbDefinition = function(lbDefinition){ - return this.send("POST","/cartridge/definition",lbDefinition).data; + return this.send("POST","/cartridge/definition",lbDefinition); }; this.activateTenant = function(tenantDomain){ - return this.send("POST","/tenant/activate/" + tenantDomain,{}).data; + return this.send("POST","/tenant/activate/" + tenantDomain,{}); }; this.deactivateTenant = function(tenantDomain){ - return this.send("POST","/tenant/deactivate/" + tenantDomain,{}).data; + return this.send("POST","/tenant/deactivate/" + tenantDomain,{}); }; this.deleteTenant = function(tenantDomain){ - return this.send("DELETE","/tenant/" + tenantDomain,{}).data; + return this.send("DELETE","/tenant/" + tenantDomain,{}); }; this.checkAvailability = function(tenantDomain){ - return this.send("POST","/tenant/availability/" + tenantDomain,{}).data; + return this.send("POST","/tenant/availability/" + tenantDomain,{}); }; this.deployPartitionDefinition = function(partitionDefinition){ - return this.send("POST","/policy/deployment/partition",partitionDefinition).data; + return this.send("POST","/policy/deployment/partition",partitionDefinition); }; this.deployDeploymentPolicyDefinition = function(policyDefinition){ - return this.send("POST","/policy/deployment",policyDefinition).data; + return this.send("POST","/policy/deployment",policyDefinition); }; this.deployAutoscalePolicyDefinition = function(policyDefinition){ - return this.send("POST","/policy/autoscale",policyDefinition).data; + return this.send("POST","/policy/autoscale",policyDefinition); }; this.subscribeToCartridge = function(cartridgeBeanInfo){ - return this.sendReceive("POST","/cartridge/subscribe", cartridgeBeanInfo).data; + return this.sendReceive("POST","/cartridge/subscribe", cartridgeBeanInfo); }; this.addTenant = function(tenantInfoBean){ - return this.sendReceive("POST","/tenant",tenantInfoBean).data; + return this.sendReceive("POST","/tenant",tenantInfoBean); }; this.syncRepo = function(alias){ - return this.send("POST","/cartridge/sync",alias).data; + return this.send("POST","/cartridge/sync",alias); }; this.getAutoScalePolicies = function(){ - return this.sendReceive("GET","/policy/autoscale",{}).data; + return this.sendReceive("GET","/policy/autoscale",{}); }; this.getDeploymentPolicies = function(){ - return this.sendReceive("GET","/policy/deployment",{}).data; + return this.sendReceive("GET","/policy/deployment",{}); }; this.getApplicableDeploymentPolicies = function(cartridgeType){ - return this.sendReceive("GET","/" + cartridgeType + "/policy/deployment/",{}).data; + return this.sendReceive("GET","/" + cartridgeType + "/policy/deployment/",{}); }; this.getPartitions = function(){ - return this.sendReceive("GET","/partition",{}).data; + return this.sendReceive("GET","/partition",{}); }; this.getSingleTenantCartridgeInfo = function(cartridgeType){ - return this.sendReceive("GET","/cartridge/available/info/" + cartridgeType,{}).data; + return this.sendReceive("GET","/cartridge/available/info/" + cartridgeType,{}); }; this.getServiceInfo = function(cartridgeType){ - return this.sendReceive("GET","/service/" + cartridgeType,{}).data; + return this.sendReceive("GET","/service/" + cartridgeType,{}); }; this.getPolicyAutoScale = function(){ - return this.sendReceive("GET","/policy/autoscale",{}).data; + return this.sendReceive("GET","/policy/autoscale",{}); }; this.getPolicyDeployment = function(){ - return this.sendReceive("GET","/policy/deployment",{}).data; + return this.sendReceive("GET","/policy/deployment",{}); }; this.unsubscribeCartridge = function(alias){ - return this.send("POST","/cartridge/unsubscribe",alias).data; + return this.send("POST","/cartridge/unsubscribe",alias); }; this.getCartridges = function(){ - return this.sendReceive("GET","/cartridge/available/list",{}).data; + return this.sendReceive("GET","/cartridge/available/list",{}); }; this.getLbCartridges = function(){ - return this.sendReceive("GET","/cartridge/lb",{}).data; + return this.sendReceive("GET","/cartridge/lb",{}); }; this.getClusterInfo = function(clusterId){ - return this.sendReceive("GET","/cluster/clusterId/" + clusterId,{}).data; + return this.sendReceive("GET","/cluster/clusterId/" + clusterId,{}); }; this.getLBClusterInfo = function(){ - return this.sendReceive("GET","/cluster/lb",{}).data; + return this.sendReceive("GET","/cluster/lb",{}); }; this.getClusterInfoWithAlias = function(cartridgeType, alias){ - return this.sendReceive("GET","/cluster/" + cartridgeType + "/" + alias,{}).data; + return this.sendReceive("GET","/cluster/" + cartridgeType + "/" + alias,{}); }; this.getCartridgeInfo = function(alias){ - return this.sendReceive("GET","/cartridge/info/"+alias,{}).data; + return this.sendReceive("GET","/cartridge/info/"+alias,{}); }; this.getCartridgeServiceGroup = function(serviceGroup){ - return this.sendReceive("GET","/cartridge/list/subscribed/group/"+serviceGroup,{}).data; + return this.sendReceive("GET","/cartridge/list/subscribed/group/"+serviceGroup,{}); }; this.validateCaptcha = function(captchaText){ - return this.sendReceive("POST","/captcha",captchaText).data; + return this.sendReceive("POST","/captcha",captchaText); }; this.getCaptcha = function(){ return this.sendReceiveImage("Get","/simpleImg",{}); }; this.undeployCartridge = function(cartridgeType){ - return this.sendReceive("DELETE","/cartridge/definition/"+cartridgeType,{}).data; + return this.sendReceive("DELETE","/cartridge/definition/"+cartridgeType,{}); }; this.getConfigStatus = function(){ var configStatus = {}; var error; - var par_res = this.sendReceive("GET","/partition",{}).data; + var par_res = this.sendReceive("GET","/partition",{}); var get_status = session.get("get-status"); if(par_res.Error != undefined){ error = par_res.Error; @@ -251,7 +251,7 @@ consoleAppUtil = new function(){ if(par_res.partition.length == 0){ configStatus.first_use = true; }else{ - var car_res = this.sendReceive("GET","/cartridge/available/list",{}).data; + var car_res = this.sendReceive("GET","/cartridge/available/list",{}); if(car_res.Error != undefined){ error=car_res.Error; configStatus.first_use = false; @@ -301,33 +301,43 @@ consoleAppUtil = new function(){ // getting the access token from the session. var endpoint = backendServerURL + urlPostFix; var headers = this.getRequestHeaders(config.ssoConfiguration.enabled); - var type = "json"; // response format var response; switch (httpMethod){ case "GET": - response = get(endpoint,{},headers,type); + response = get(endpoint,{},headers); break; case "POST": - response = post(endpoint,stringify(data),headers,type); + response = post(endpoint,stringify(data),headers); break; case "PUT": - response = put(endpoint,stringify(data),headers,type); + response = put(endpoint,stringify(data),headers); break; case "DELETE": - response = del(endpoint,stringify(data),headers,type); + response = del(endpoint,stringify(data),headers); break; default : log.error("Error in the programme flow."); } - log.debug("-----------------------:" + stringify(response)); - if(response.data.Error) { - session.put("get-status", response.data.Error.errorMessage); - } else { - session.put("get-status", "succeeded"); + + if (response.xhr.status >= 200 && response.xhr.status < 300) { //if success + session.put("get-status", "succeeded"); + } else if (response.xhr.status >= 400 && response.xhr.status < 500) { //if client error + if(response.data != null && response.data != undefined) { + session.put("get-status", parse(response.data).Error.errorMessage); + } + } else if (response.xhr.status >= 500 && response.xhr.status < 600) { //if server error + if(response.data != null && response.data != undefined) { + session.put("get-status", response.data); return; + } } - log.debug("--------------------: + " + urlPostFix + " "+ session.get("get-status")); - return response; + log.debug("sent is: " + stringify(response)); + + if (response.data != null && response.data != undefined) { + return parse(response.data); + } else { + return response.data; + } }; // refactor sendRecive and send method. duplicate code... @@ -365,33 +375,43 @@ consoleAppUtil = new function(){ // getting the access token from the session. var endpoint = backendServerURL + urlPostFix; var headers = this.getRequestHeaders(config.ssoConfiguration.enabled); - var type = "json"; // response format var response; switch (httpMethod){ case "GET": - response = get(endpoint,{},headers, 'json'); + response = get(endpoint,{},headers); break; case "POST": - response = post(endpoint,data,headers, 'json'); + response = post(endpoint,data,headers); break; case "PUT": - response = put(endpoint,data,headers, 'json'); + response = put(endpoint,data,headers); break; case "DELETE": - response = del(endpoint,data,headers, 'json'); + response = del(endpoint,data,headers); break; default : log.error("Error in the programme flow."); } - if (response.data.Error) { - session.put("deploy-status", response.data.Error.errorMessage); - } else { - session.put("deploy-status", "succeeded"); + if (response.xhr.status >= 200 && response.xhr.status < 300) { //if success + session.put("deploy-status", "succeeded"); + } else if (response.xhr.status >= 400 && response.xhr.status < 500) { //if client error + if(response.data != null && response.data != undefined) { + session.put("deploy-status", parse(response.data).Error.errorMessage); + } + } else if (response.xhr.status >= 500 && response.xhr.status < 600) { //if server error + if(response.data != null && response.data != undefined) { + session.put("deploy-status", response.data); return; + } } + log.debug("sent is: " + stringify(response)); - return response; + if (response.data != null && response.data != undefined) { + return parse(response.data); + } else { + return response.data; + } }; http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java index 2759ad4..5c86c50 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java @@ -516,7 +516,8 @@ public class StratosAdmin extends AbstractAdmin { @Consumes("application/json") @AuthorizationAction("/permission/protected/manage/monitor/tenants") public Response getAvailableLbCartridges() throws RestAPIException { - return Response.ok().entity(ServiceUtils.getAvailableLbCartridges(false, getConfigContext())).build(); + List<Cartridge> lbCartridges = ServiceUtils.getAvailableLbCartridges(false, getConfigContext()); + return Response.ok().entity(lbCartridges.isEmpty() ? new Cartridge[0] : lbCartridges.toArray(new Cartridge[lbCartridges.size()])).build(); } @GET http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd index e6fd796..768aeb9 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd +++ b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos-test/WEB-INF/schemas/schema.xsd @@ -88,7 +88,7 @@ <xs:element name="host" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="displayName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> - <xs:element name="version" type="xs:float" minOccurs="1" maxOccurs="1" nillable="false"/> + <xs:element name="version" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="defaultAutoscalingPolicy" type="xs:string" minOccurs="0" maxOccurs="1" nillable="false"/> <xs:element name="multiTenant" type="xs:boolean" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="portMapping" minOccurs="1" maxOccurs="unbounded"> @@ -219,11 +219,8 @@ <xs:complexType name="thresholdValues"> <xs:all> - <xs:element name="average" type="xs:int" minOccurs="1" maxOccurs="1"/> - <xs:element name="gradient" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="secondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="scaleDownMarginOfGradient" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="scaleDownMarginOfSecondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/> + <xs:element name="upperLimit" type="xs:float" minOccurs="1" maxOccurs="1"/> + <xs:element name="lowerLimit" type="xs:float" minOccurs="1" maxOccurs="1"/> </xs:all> </xs:complexType> </xs:schema> http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd index f59bf28..0de935f 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd +++ b/components/org.apache.stratos.rest.endpoint/src/main/webapp/stratos/WEB-INF/schemas/schema.xsd @@ -88,7 +88,7 @@ <xs:element name="host" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="displayName" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> - <xs:element name="version" type="xs:float" minOccurs="1" maxOccurs="1" nillable="false"/> + <xs:element name="version" type="xs:string" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="defaultAutoscalingPolicy" type="xs:string" minOccurs="0" maxOccurs="1" nillable="false"/> <xs:element name="multiTenant" type="xs:boolean" minOccurs="1" maxOccurs="1" nillable="false"/> <xs:element name="portMapping" minOccurs="1" maxOccurs="unbounded"> @@ -219,11 +219,8 @@ <xs:complexType name="thresholdValues"> <xs:all> - <xs:element name="average" type="xs:int" minOccurs="1" maxOccurs="1"/> - <xs:element name="gradient" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="secondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="scaleDownMarginOfGradient" type="xs:float" minOccurs="0" maxOccurs="1"/> - <xs:element name="scaleDownMarginOfSecondDerivative" type="xs:float" minOccurs="0" maxOccurs="1"/> + <xs:element name="upperLimit" type="xs:float" minOccurs="1" maxOccurs="1"/> + <xs:element name="lowerLimit" type="xs:float" minOccurs="1" maxOccurs="1"/> </xs:all> </xs:complexType> </xs:schema> http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/docker/1.7.1-stratos/README.md ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/docker/1.7.1-stratos/README.md b/dependencies/jclouds/apis/docker/1.7.1-stratos/README.md deleted file mode 100644 index 3ce8cf0..0000000 --- a/dependencies/jclouds/apis/docker/1.7.1-stratos/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Docker as a local cloud provider -jclouds-docker is a local cloud provider modelled on [docker](http://www.docker.io). Similar to other jclouds supported -providers, it supports the same portable abstractions offered by jclouds. - -##Setup - -Please follow these steps to configure your workstation for jclouds-docker: - -- install the latest Docker release (please visit http://www.docker.io/gettingstarted/) - -If you are on OS X, please consider [boot2docker](http://docs.docker.io/en/latest/installation/mac/) as simplified -way to install docker locally. - -#How it works - - - --------------- ------------- - | Image(s) | | Node(s) | - --------------- ------------- - --------- docker remote api ---------------------------------------- - | jclouds | ---------------------------> | DOCKER_HOST | - --------- ---------------------------------------- - -##Components - -- jclouds \- acts as a java client to access to docker features -- DOCKER_HOST \- hosts Docker API, NB: jclouds-docker assumes that the latest Docker is installed -- Image \- it is a docker image that can be started. -- Node \- is a docker container - -## Assumptions - -- jclouds-docker assumes that the images specified using the template are ssh'able. -- jclouds-docker will mount ${user.home} to /root of the container - --------------- - -#Notes: -- jclouds-docker is still at alpha stage please report any issues you find at [jclouds issues](https://github.com/jclouds/jclouds/issues?state=open) -- jclouds-docker has been tested on Mac OSX, it might work on Linux iff vbox is running and set up correctly. However, it will not currently run on Windows. - --------------- - -#Troubleshooting -As jclouds docker support is quite new, issues may occasionally arise. Please follow these steps to get things going again: - -1. Remove all containers - - `$ docker ps -a -q | xargs docker stop | xargs docker rm` -2. remove all the images - - `$ docker images -q | xargs docker rmi` http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/docker/1.7.1-stratos/pom.xml ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/docker/1.7.1-stratos/pom.xml b/dependencies/jclouds/apis/docker/1.7.1-stratos/pom.xml deleted file mode 100644 index 0fb9b96..0000000 --- a/dependencies/jclouds/apis/docker/1.7.1-stratos/pom.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - 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. - ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.jclouds.labs</groupId> - <artifactId>jclouds-labs</artifactId> - <version>1.7.1</version> - </parent> - - <!-- TODO: when out of labs, switch to org.jclouds.provider --> - <groupId>org.apache.stratos</groupId> - <artifactId>docker</artifactId> - <name>jclouds docker API</name> - <version>1.7.1-stratos</version> - <description>ComputeService binding to the Docker API</description> - <packaging>bundle</packaging> - - <properties> - <jclouds.version>1.7.1</jclouds.version> - <test.docker.endpoint>https://localhost:4243</test.docker.endpoint> - <test.docker.api-version>1.10</test.docker.api-version> - <test.docker.identity>FIXME</test.docker.identity> - <test.docker.credential>FIXME</test.docker.credential> - <jclouds.osgi.export>org.jclouds.docker*;version="${project.version}"</jclouds.osgi.export> - <jclouds.osgi.import> - org.jclouds.compute.internal;version="${jclouds.version}", - org.jclouds.rest.internal;version="${jclouds.version}", - org.jclouds*;version="${jclouds.version}", - * - </jclouds.osgi.import> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-core</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-compute</artifactId> - <version>${jclouds.version}</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-compress</artifactId> - <version>1.5</version> - </dependency> - - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-sshj</artifactId> - <version>${jclouds.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-core</artifactId> - <version>${jclouds.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.jclouds</groupId> - <artifactId>jclouds-compute</artifactId> - <version>${jclouds.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.jclouds.driver</groupId> - <artifactId>jclouds-slf4j</artifactId> - <version>${jclouds.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.squareup.okhttp</groupId> - <artifactId>mockwebserver</artifactId> - <scope>test</scope> - <exclusions> - <!-- Already provided by jclouds-sshj --> - <exclusion> - <groupId>org.bouncycastle</groupId> - <artifactId>bcprov-jdk15on</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - - <profiles> - <profile> - <id>live</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <executions> - <execution> - <id>integration</id> - <phase>integration-test</phase> - <goals> - <goal>test</goal> - </goals> - <configuration> - <systemPropertyVariables> - <test.docker.endpoint>${test.docker.endpoint}</test.docker.endpoint> - <test.docker.api-version>${test.docker.api-version}</test.docker.api-version> - <test.docker.credential>${test.docker.identity}</test.docker.credential> - <test.docker.credential>${test.docker.credential}</test.docker.credential> - </systemPropertyVariables> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - -</project> http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApi.java b/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApi.java deleted file mode 100644 index 9fe6135..0000000 --- a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApi.java +++ /dev/null @@ -1,38 +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.jclouds.docker; - -import org.jclouds.docker.compute.features.RemoteApi; -import org.jclouds.rest.annotations.Delegate; - -import java.io.Closeable; - -/** - * Provides synchronous access to Docker Remote API. - * - * @author Andrea Turli - * @see <a href="http://docs.docker.io/en/latest/api/docker_remote_api_v1.8/#docker-remote-api-v1-8"></a> - */ -public interface DockerApi extends Closeable { - - /** - * Provides synchronous access to Docker Remote API features. - */ - @Delegate - RemoteApi getRemoteApi(); - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApiMetadata.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApiMetadata.java b/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApiMetadata.java deleted file mode 100644 index c627d82..0000000 --- a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/DockerApiMetadata.java +++ /dev/null @@ -1,100 +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.jclouds.docker; - -import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE; -import static org.jclouds.reflect.Reflection2.typeToken; -import java.net.URI; -import java.util.Properties; - -import org.jclouds.Constants; -import org.jclouds.apis.ApiMetadata; -import org.jclouds.compute.ComputeServiceContext; -import org.jclouds.compute.config.ComputeServiceProperties; -import org.jclouds.docker.compute.config.DockerComputeServiceContextModule; -import org.jclouds.docker.config.DockerHttpApiModule; -import org.jclouds.docker.config.DockerParserModule; -import org.jclouds.rest.internal.BaseHttpApiMetadata; - -import com.google.common.collect.ImmutableSet; -import com.google.inject.Module; - -/** - * Implementation of {@link BaseHttpApiMetadata} for the Docker API - * - * @author Andrea Turli - */ -public class DockerApiMetadata extends BaseHttpApiMetadata<DockerApi> { - - @Override - public Builder toBuilder() { - return new Builder().fromApiMetadata(this); - } - - public DockerApiMetadata() { - this(new Builder()); - } - - protected DockerApiMetadata(Builder builder) { - super(builder); - } - - public static Properties defaultProperties() { - Properties properties = BaseHttpApiMetadata.defaultProperties(); - properties.setProperty(Constants.PROPERTY_MAX_RETRIES, "15"); - properties.setProperty("jclouds.ssh.retry-auth", "true"); - properties.setProperty(Constants.PROPERTY_CONNECTION_TIMEOUT, "1200000"); // 15 minutes - properties.setProperty(ComputeServiceProperties.IMAGE_LOGIN_USER, "root:password"); - properties.setProperty(TEMPLATE, "osFamily=UBUNTU,os64Bit=true,osVersionMatches=1[012].[01][04]"); - return properties; - } - - public static class Builder extends BaseHttpApiMetadata.Builder<DockerApi, Builder> { - - protected Builder() { - super(DockerApi.class); - id("docker") - .name("Docker API") - .identityName("user") - .credentialName("password") - .documentation(URI.create("http://docs.docker.io/en/latest/api/docker_remote_api/")) - .version("1.10") - .defaultEndpoint("http://127.0.0.1:4243") - .defaultProperties(DockerApiMetadata.defaultProperties()) - .view(typeToken(ComputeServiceContext.class)) - .defaultModules(ImmutableSet.<Class<? extends Module>>of( - DockerHttpApiModule.class, - DockerParserModule.class, - DockerComputeServiceContextModule.class)); - } - - @Override - public DockerApiMetadata build() { - return new DockerApiMetadata(this); - } - - @Override - protected Builder self() { - return this; - } - - @Override - public Builder fromApiMetadata(ApiMetadata in) { - return this; - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java b/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java deleted file mode 100644 index ea485d2..0000000 --- a/dependencies/jclouds/apis/docker/1.7.1-stratos/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java +++ /dev/null @@ -1,74 +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.jclouds.docker.binders; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import javax.annotation.Resource; -import javax.inject.Named; -import javax.inject.Singleton; -import javax.ws.rs.core.MediaType; - -import org.jclouds.compute.reference.ComputeServiceConstants; -import org.jclouds.docker.compute.features.internal.Archives; -import org.jclouds.http.HttpRequest; -import org.jclouds.io.Payload; -import org.jclouds.io.Payloads; -import org.jclouds.logging.Logger; -import org.jclouds.rest.Binder; - -import com.google.common.base.Throwables; -import com.google.common.io.Files; - -/** - * @author Andrea Turli - */ -@Singleton -public class BindInputStreamToRequest implements Binder { - - @Resource - @Named(ComputeServiceConstants.COMPUTE_LOGGER) - protected Logger logger = Logger.NULL; - - @SuppressWarnings("unchecked") - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - checkArgument(checkNotNull(input, "input") instanceof File, "this binder is only valid for File!"); - checkNotNull(request, "request"); - - File dockerFile = (File) input; - File tmpDir = Files.createTempDir(); - final File targetFile = new File(tmpDir + File.separator + "Dockerfile"); - try { - Files.copy(dockerFile, targetFile); - File archive = Archives.tar(tmpDir, File.createTempFile("archive", ".tar")); - FileInputStream data = new FileInputStream(archive); - Payload payload = Payloads.newInputStreamPayload(data); - payload.getContentMetadata().setContentLength(data.getChannel().size()); - payload.getContentMetadata().setContentType(MediaType.TEXT_PLAIN); - request.setPayload(payload); - } catch (IOException e) { - logger.error(e, "Couldn't create a tarball for %s", targetFile); - throw Throwables.propagate(e); - } - return request; - } -}
