Removed trystack-nova provider.

This commit is contained in:
Everett Toews 2013-04-26 10:54:49 -05:00
parent 6d6be564de
commit 2bbd03939f
28 changed files with 71 additions and 857 deletions

View File

@ -180,11 +180,6 @@
<artifactId>hpcloud-compute</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>trystack-nova</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>rackspace-cloudservers-us</artifactId>

View File

@ -10,10 +10,10 @@
},
"serviceCatalog": [{
"endpoints": [{
"adminURL": "https://nova-api.trystack.org:9774/v1.1/3456",
"adminURL": "https://nova-api.openstack.org:9774/v1.1/3456",
"region": "RegionOne",
"internalURL": "https://nova-api.trystack.org:9774/v1.1/3456",
"publicURL": "https://nova-api.trystack.org:9774/v1.1/3456"
"internalURL": "https://nova-api.openstack.org:9774/v1.1/3456",
"publicURL": "https://nova-api.openstack.org:9774/v1.1/3456"
}],
"type": "compute",
"name": "nova"
@ -28,7 +28,7 @@
"name": "glance"
}, {
"endpoints": [{
"adminURL": "https://nova-api.trystack.org:5443/v2.0",
"adminURL": "https://nova-api.openstack.org:5443/v2.0",
"region": "RegionOne",
"internalURL": "https://keystone.thefreecloud.org:5000/v2.0",
"publicURL": "https://keystone.thefreecloud.org:5000/v2.0"

View File

@ -86,7 +86,6 @@ public class CreateSecurityGroupIfNeeded implements Function<ZoneSecurityGroupNa
private void authorizeGroupToItselfAndAllIPsToTCPPort(SecurityGroupApi securityGroupApi,
SecurityGroup securityGroup, int port) {
// NOTE that permission to itself isn't supported on trystack!
logger.debug(">> authorizing securityGroup(%s) permission to 0.0.0.0/0 on port %d", securityGroup, port);
securityGroupApi.createRuleAllowingCidrBlock(securityGroup.getId(), Ingress.builder().ipProtocol(
IpProtocol.TCP).fromPort(port).toPort(port).build(), "0.0.0.0/0");

View File

@ -58,7 +58,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
protected Properties setupProperties() {
Properties overrides = super.setupProperties();
// only specify limited zones so that we don't have to configure requests for multiple zones.
// since we are doing tests with keystone responses from hpcloud and also trystack, we have
// since we are doing tests with keystone responses from hpcloud and also openstack, we have
// to whitelist one zone from each
overrides.setProperty("jclouds.zones", "az-1.region-a.geo-1,RegionOne");
return overrides;
@ -85,7 +85,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
assertEquals(apiWhenServersExist.listNodes().iterator().next().getName(), "sample-server");
}
Map<HttpRequest, HttpResponse> defaultTemplateTryStack = ImmutableMap
Map<HttpRequest, HttpResponse> defaultTemplateOpenStack = ImmutableMap
.<HttpRequest, HttpResponse> builder()
.put(keystoneAuthWithUsernameAndPasswordAndTenantName,
HttpResponse
@ -93,31 +93,31 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
.statusCode(200)
.message("HTTP/1.1 200")
.payload(
payloadFromResourceWithContentType("/keystoneAuthResponse_trystack.json", "application/json"))
payloadFromResourceWithContentType("/keystoneAuthResponse_openstack.json", "application/json"))
.build())
.put(extensionsOfNovaRequest.toBuilder()
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/extensions").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/extension_list_trystack.json"))
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/extensions").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/extension_list_openstack.json"))
.build())
.put(listDetail.toBuilder()
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/images/detail").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/image_list_detail_trystack.json"))
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/images/detail").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/image_list_detail_openstack.json"))
.build())
.put(listServers.toBuilder()
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/servers/detail").build(),
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/servers/detail").build(),
listServersResponse)
.put(listFlavorsDetail.toBuilder()
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/flavors/detail").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_list_detail_trystack.json"))
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/flavors/detail").build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_list_detail_openstack.json"))
.build()).build();
public void testDefaultTemplateTryStack() throws Exception {
public void testDefaultTemplateOpenStack() throws Exception {
ComputeService apiForTryStack = requestsSendResponses(defaultTemplateTryStack);
ComputeService apiForOpenStack = requestsSendResponses(defaultTemplateOpenStack);
Template defaultTemplate = apiForTryStack.templateBuilder().imageId("RegionOne/15").build();
Template defaultTemplate = apiForOpenStack.templateBuilder().imageId("RegionOne/15").build();
checkTemplate(defaultTemplate);
checkTemplate(apiForTryStack.templateBuilder().fromTemplate(defaultTemplate).build());
checkTemplate(apiForOpenStack.templateBuilder().fromTemplate(defaultTemplate).build());
}
@ -149,7 +149,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest list = HttpRequest
.builder()
.method("GET")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/os-security-groups")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/os-security-groups")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken).build();
@ -158,7 +158,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest createWithPrefixOnGroup = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/os-security-groups")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/os-security-groups")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(
@ -172,7 +172,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest createRuleForDefaultPort22 = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/os-security-group-rules")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/os-security-group-rules")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(
@ -186,7 +186,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest getSecurityGroup = HttpRequest
.builder()
.method("GET")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/os-security-groups/160")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/os-security-groups/160")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken).build();
@ -196,7 +196,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest create = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/os-keypairs")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/os-keypairs")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(
@ -210,7 +210,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest serverDetail = HttpRequest
.builder()
.method("GET")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/servers/71752")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/servers/71752")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken).build();
@ -220,7 +220,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
@Test
public void testCreateNodeWithGeneratedKeyPair() throws Exception {
Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder()
.putAll(defaultTemplateTryStack);
.putAll(defaultTemplateOpenStack);
requestResponseMap.put(list, notFound);
requestResponseMap.put(createWithPrefixOnGroup, securityGroupCreated);
@ -236,7 +236,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest createServerWithGeneratedKeyPair = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/servers")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/servers")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(
@ -276,7 +276,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
@Test
public void testCreateNodeWhileUserSpecifiesKeyPair() throws Exception {
Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder()
.putAll(defaultTemplateTryStack);
.putAll(defaultTemplateOpenStack);
requestResponseMap.put(list, notFound);
requestResponseMap.put(createWithPrefixOnGroup, securityGroupCreated);
@ -290,7 +290,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest createServerWithSuppliedKeyPair = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/servers")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/servers")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(
@ -332,7 +332,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
@Test
public void testCreateNodeWhileUserSpecifiesKeyPairAndUserSpecifiedGroups() throws Exception {
Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder()
.putAll(defaultTemplateTryStack);
.putAll(defaultTemplateOpenStack);
requestResponseMap.put(list, notFound);
requestResponseMap.put(serverDetail, serverDetailResponse);
@ -340,7 +340,7 @@ public class NovaComputeServiceExpectTest extends BaseNovaComputeServiceExpectTe
HttpRequest createServerWithSuppliedKeyPairAndGroup = HttpRequest
.builder()
.method("POST")
.endpoint("https://nova-api.trystack.org:9774/v1.1/3456/servers")
.endpoint("https://nova-api.openstack.org:9774/v1.1/3456/servers")
.addHeader("Accept", "application/json")
.addHeader("X-Auth-Token", authToken)
.payload(

View File

@ -48,7 +48,7 @@ public class ParseServerWithInternetAddressesTest extends BaseItemParserTest<Ser
@Override
public String resource() {
return "/server_details_trystack.json";
return "/server_details_openstack.json";
}
@Override
@ -73,7 +73,7 @@ public class ParseServerWithInternetAddressesTest extends BaseItemParserTest<Ser
.links(
Link.create(
Relation.BOOKMARK,
URI.create("https://nova-api.trystack.org:9774/37/images/14")))
URI.create("https://nova-api.openstack.org:9774/37/images/14")))
.build())
.flavor(
Resource
@ -82,15 +82,15 @@ public class ParseServerWithInternetAddressesTest extends BaseItemParserTest<Ser
.links(
Link.create(
Relation.BOOKMARK,
URI.create("https://nova-api.trystack.org:9774/37/flavors/1")))
URI.create("https://nova-api.openstack.org:9774/37/flavors/1")))
.build())
.links(
Link.create(
Relation.SELF,
URI.create("https://nova-api.trystack.org:9774/v1.1/37/servers/1459")),
URI.create("https://nova-api.openstack.org:9774/v1.1/37/servers/1459")),
Link.create(
Relation.BOOKMARK,
URI.create("https://nova-api.trystack.org:9774/37/servers/1459")))
URI.create("https://nova-api.openstack.org:9774/37/servers/1459")))
.addresses(ImmutableMultimap.of("internet", Address.createV4("8.21.28.47"))).build();
}

View File

@ -3,10 +3,10 @@
"rxtx_quota": 0,
"name": "m1.medium",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/flavors/3",
"href": "https://nova-api.openstack.org:9774/v1.1/37/flavors/3",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/flavors/3",
"href": "https://nova-api.openstack.org:9774/37/flavors/3",
"rel": "bookmark"
}],
"ram": 4096,
@ -19,10 +19,10 @@
"rxtx_quota": 0,
"name": "m1.large",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/flavors/4",
"href": "https://nova-api.openstack.org:9774/v1.1/37/flavors/4",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/flavors/4",
"href": "https://nova-api.openstack.org:9774/37/flavors/4",
"rel": "bookmark"
}],
"ram": 8192,
@ -35,10 +35,10 @@
"rxtx_quota": 0,
"name": "m1.tiny",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/flavors/1",
"href": "https://nova-api.openstack.org:9774/v1.1/37/flavors/1",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/flavors/1",
"href": "https://nova-api.openstack.org:9774/37/flavors/1",
"rel": "bookmark"
}],
"ram": 512,
@ -51,10 +51,10 @@
"rxtx_quota": 0,
"name": "m1.xlarge",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/flavors/5",
"href": "https://nova-api.openstack.org:9774/v1.1/37/flavors/5",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/flavors/5",
"href": "https://nova-api.openstack.org:9774/37/flavors/5",
"rel": "bookmark"
}],
"ram": 16384,
@ -67,10 +67,10 @@
"rxtx_quota": 0,
"name": "m1.small",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/flavors/2",
"href": "https://nova-api.openstack.org:9774/v1.1/37/flavors/2",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/flavors/2",
"href": "https://nova-api.openstack.org:9774/37/flavors/2",
"rel": "bookmark"
}],
"ram": 2048,

View File

@ -4,10 +4,10 @@
"updated": "2012-02-02T19:11:00Z",
"name": "oneiric-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/15",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/15",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/15",
"href": "https://nova-api.openstack.org:9774/37/images/15",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:52Z",
@ -24,10 +24,10 @@
"updated": "2012-02-02T19:10:51Z",
"name": "oneiric-server-cloudimg-amd64-kernel",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/14",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/14",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/14",
"href": "https://nova-api.openstack.org:9774/37/images/14",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:50Z",
@ -43,10 +43,10 @@
"updated": "2012-02-02T19:10:41Z",
"name": "natty-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/13",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/13",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/13",
"href": "https://nova-api.openstack.org:9774/37/images/13",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:33Z",
@ -63,10 +63,10 @@
"updated": "2012-02-02T19:10:33Z",
"name": "natty-server-cloudimg-amd64-kernel",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/12",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/12",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/12",
"href": "https://nova-api.openstack.org:9774/37/images/12",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:32Z",
@ -82,10 +82,10 @@
"updated": "2012-02-02T19:10:41Z",
"name": "natty-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/11",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/11",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/11",
"href": "https://nova-api.openstack.org:9774/37/images/11",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:33Z",
@ -102,10 +102,10 @@
"updated": "2012-02-02T19:10:41Z",
"name": "natty-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/10",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/10",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/10",
"href": "https://nova-api.openstack.org:9774/37/images/10",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:33Z",

View File

@ -4,10 +4,10 @@
"updated": "2012-02-02T19:11:00Z",
"name": "oneiric-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/15",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/15",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/15",
"href": "https://nova-api.openstack.org:9774/37/images/15",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:52Z",
@ -24,10 +24,10 @@
"updated": "2012-02-02T19:10:51Z",
"name": "oneiric-server-cloudimg-amd64-kernel",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/14",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/14",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/14",
"href": "https://nova-api.openstack.org:9774/37/images/14",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:50Z",
@ -43,10 +43,10 @@
"updated": "2012-02-02T19:10:41Z",
"name": "natty-server-cloudimg-amd64",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/13",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/13",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/13",
"href": "https://nova-api.openstack.org:9774/37/images/13",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:33Z",
@ -63,10 +63,10 @@
"updated": "2012-02-02T19:10:33Z",
"name": "natty-server-cloudimg-amd64-kernel",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/images/12",
"href": "https://nova-api.openstack.org:9774/v1.1/37/images/12",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/images/12",
"href": "https://nova-api.openstack.org:9774/37/images/12",
"rel": "bookmark"
}],
"created": "2012-02-02T19:10:32Z",

View File

@ -6,10 +6,10 @@
"user_id": "508151008",
"name": "mygroup-72c",
"links": [{
"href": "https://nova-api.trystack.org:9774/v1.1/37/servers/1459",
"href": "https://nova-api.openstack.org:9774/v1.1/37/servers/1459",
"rel": "self"
}, {
"href": "https://nova-api.trystack.org:9774/37/servers/1459",
"href": "https://nova-api.openstack.org:9774/37/servers/1459",
"rel": "bookmark"
}],
"addresses": {
@ -22,7 +22,7 @@
"image": {
"id": "14",
"links": [{
"href": "https://nova-api.trystack.org:9774/37/images/14",
"href": "https://nova-api.openstack.org:9774/37/images/14",
"rel": "bookmark"
}]
},
@ -35,7 +35,7 @@
"flavor": {
"id": "1",
"links": [{
"href": "https://nova-api.trystack.org:9774/37/flavors/1",
"href": "https://nova-api.openstack.org:9774/37/flavors/1",
"rel": "bookmark"
}]
},

View File

@ -44,7 +44,7 @@ public class BaseSwiftKeystoneExpectTest<T> extends BaseRestClientExpectTest<T>
@Override
protected Properties setupProperties() {
Properties overrides = super.setupProperties();
// hpcloud or trystack
// hpcloud or openstack
overrides.setProperty("jclouds.regions", "region-a.geo-1,RegionOne");
return overrides;
}

View File

@ -120,7 +120,7 @@ public interface ProviderMetadata {
/**
*
* @return the provider's unique identifier (ex. aws-ec2, trystack-nova)
* @return the provider's unique identifier (ex. aws-ec2, rackspace-cloudservers-us)
*/
public String getId();

View File

@ -61,7 +61,6 @@
<module>ninefold-compute</module>
<module>hpcloud-compute</module>
<module>hpcloud-objectstorage</module>
<module>trystack-nova</module>
<module>cloudservers-us</module>
<module>cloudservers-uk</module>
<module>cloudfiles-us</module>

View File

@ -1,140 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to jclouds, Inc. (jclouds) under one or more
contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. jclouds 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.jclouds</groupId>
<artifactId>jclouds-project</artifactId>
<version>1.7.0-SNAPSHOT</version>
<relativePath>../../project/pom.xml</relativePath>
</parent>
<groupId>org.jclouds.provider</groupId>
<artifactId>trystack-nova</artifactId>
<name>jclouds TryStack.org Compute provider</name>
<description>OpenStack Nova implementation targeted to TryStack.org</description>
<packaging>bundle</packaging>
<properties>
<test.trystack-nova.endpoint>https://nova-api.trystack.org:5443/v2.0/</test.trystack-nova.endpoint>
<test.trystack-nova.api-version>1.1</test.trystack-nova.api-version>
<test.trystack-nova.build-version />
<test.trystack-nova.identity>FIXME_IDENTITY</test.trystack-nova.identity>
<test.trystack-nova.credential>FIXME_CREDENTIAL</test.trystack-nova.credential>
<test.trystack-nova.template />
<jclouds.osgi.export>org.jclouds.trystack.nova*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>
<dependencies>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>openstack-nova</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-core</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-compute</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>openstack-nova</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>openstack-keystone</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-slf4j</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</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>
<threadCount>1</threadCount>
<systemPropertyVariables>
<test.trystack-nova.endpoint>${test.trystack-nova.endpoint}</test.trystack-nova.endpoint>
<test.trystack-nova.api-version>${test.trystack-nova.api-version}</test.trystack-nova.api-version>
<test.trystack-nova.build-version>${test.trystack-nova.build-version}</test.trystack-nova.build-version>
<test.trystack-nova.identity>${test.trystack-nova.identity}</test.trystack-nova.identity>
<test.trystack-nova.credential>${test.trystack-nova.credential}</test.trystack-nova.credential>
<test.trystack-nova.template>${test.trystack-nova.template}</test.trystack-nova.template>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -1,105 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova;
import static org.jclouds.Constants.PROPERTY_TRUST_ALL_CERTS;
import static org.jclouds.openstack.nova.v2_0.config.NovaProperties.AUTO_GENERATE_KEYPAIRS;
import java.net.URI;
import java.util.Properties;
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ZoneModule;
import org.jclouds.openstack.keystone.v2_0.config.MappedAuthenticationApiModule;
import org.jclouds.openstack.nova.v2_0.NovaApiMetadata;
import org.jclouds.openstack.nova.v2_0.config.NovaParserModule;
import org.jclouds.openstack.nova.v2_0.config.NovaRestClientModule;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;
import org.jclouds.trystack.nova.config.TryStackNovaServiceContextModule;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Module;
/**
* Implementation of {@link org.jclouds.types.ProviderMetadata} for TryStack Nova
*
* @author Adrian Cole
*/
public class TryStackNovaProviderMetadata extends BaseProviderMetadata {
public static Builder builder() {
return new Builder();
}
@Override
public Builder toBuilder() {
return builder().fromProviderMetadata(this);
}
public TryStackNovaProviderMetadata() {
super(builder());
}
public TryStackNovaProviderMetadata(Builder builder) {
super(builder);
}
public static Properties defaultProperties() {
Properties properties = new Properties();
properties.setProperty(PROPERTY_TRUST_ALL_CERTS, "true");
properties.setProperty(AUTO_GENERATE_KEYPAIRS, "true");
return properties;
}
public static class Builder extends BaseProviderMetadata.Builder {
protected Builder(){
id("trystack-nova")
.name("TryStack.org (Nova)")
.apiMetadata(
new NovaApiMetadata().toBuilder()
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
.add(MappedAuthenticationApiModule.class)
.add(KeystoneAuthenticationModule.class)
.add(ZoneModule.class)
.add(NovaParserModule.class)
.add(NovaRestClientModule.class)
.add(TryStackNovaServiceContextModule.class).build())
.build())
.homepage(URI.create("https://trystack.org"))
.console(URI.create("https://trystack.org/dash"))
.iso3166Codes("US-CA")
.endpoint("https://nova-api.trystack.org:5443/v2.0/")
.defaultProperties(TryStackNovaProviderMetadata.defaultProperties());
}
@Override
public TryStackNovaProviderMetadata build() {
return new TryStackNovaProviderMetadata(this);
}
@Override
public Builder fromProviderMetadata(
ProviderMetadata in) {
super.fromProviderMetadata(in);
return this;
}
}
}

View File

@ -1,48 +0,0 @@
package org.jclouds.trystack.nova;
import java.util.Set;
import javax.inject.Inject;
import org.jclouds.location.Zone;
import org.jclouds.openstack.nova.v2_0.NovaApi;
import org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceAdapter;
import org.jclouds.openstack.nova.v2_0.compute.functions.RemoveFloatingIpFromNodeAndDeallocate;
import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
import org.jclouds.openstack.nova.v2_0.domain.zonescoped.ImageInZone;
import org.jclouds.openstack.nova.v2_0.domain.zonescoped.ZoneAndName;
import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.google.common.cache.LoadingCache;
import com.google.common.collect.Iterables;
/**
*
* @author Adrian Cole
*/
public class TryStackNovaServiceAdapter extends NovaComputeServiceAdapter {
@Inject
public TryStackNovaServiceAdapter(NovaApi novaApi, @Zone Supplier<Set<String>> zoneIds,
RemoveFloatingIpFromNodeAndDeallocate removeFloatingIpFromNodeAndDeallocate, LoadingCache<ZoneAndName, KeyPair> keyPairCache) {
super(novaApi, zoneIds, removeFloatingIpFromNodeAndDeallocate, keyPairCache);
}
@Override
public Iterable<ImageInZone> listImages() {
return Iterables.filter(super.listImages(), new Predicate<ImageInZone>() {
@Override
public boolean apply(ImageInZone arg0) {
String imageName = arg0.getImage().getName();
return imageName.indexOf("kernel") == -1;
}
@Override
public String toString() {
return "notKernel";
}
});
}
}

View File

@ -1,36 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.config;
import org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceAdapter;
import org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule;
import org.jclouds.trystack.nova.TryStackNovaServiceAdapter;
/**
*
* @author Adrian Cole
*/
public class TryStackNovaServiceContextModule extends NovaComputeServiceContextModule {
@Override
protected void configure() {
super.configure();
bind(NovaComputeServiceAdapter.class).to(TryStackNovaServiceAdapter.class);
}
}

View File

@ -1 +0,0 @@
org.jclouds.trystack.nova.TryStackNovaProviderMetadata

View File

@ -1,64 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova;
import static org.testng.Assert.assertEquals;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.jclouds.openstack.nova.v2_0.NovaApi;
import org.jclouds.openstack.nova.v2_0.internal.BaseNovaApiExpectTest;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
/**
* This test ensures that the wiring in {@link TryStackNovaProviderMetadata} is correct.
*
* @author Adrian Cole
*/
@Test(groups = "unit", testName = "TryStackNovaProviderMetadataExpectTest")
public class TryStackNovaProviderMetadataExpectTest extends BaseNovaApiExpectTest {
public TryStackNovaProviderMetadataExpectTest() {
this.provider = "trystack-nova";
this.identity = "demo:demo";
this.credential = "password";
}
public void testCanGetConfiguredZones() {
HttpRequest authenticate = HttpRequest.builder().method("POST")
.endpoint("https://nova-api.trystack.org:5443/v2.0/tokens")
.addHeader("Accept", "application/json")
.payload(payloadFromStringWithContentType(
"{\"auth\":{\"passwordCredentials\":{\"username\":\"demo\",\"password\":\"password\"},\"tenantName\":\"demo\"}}"
, "application/json")).build();
HttpResponse authenticationResponse = HttpResponse.builder().statusCode(200)
.payload(payloadFromResourceWithContentType("/access_trystack.json", "application/json")).build();
NovaApi whenNovaRegionExists = requestSendsResponse(authenticate, authenticationResponse);
assertEquals(whenNovaRegionExists.getConfiguredZones(), ImmutableSet.of("RegionOne"));
}
}

View File

@ -1,52 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not computee 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.
*/
/**
*
*
* ====================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not computee 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.trystack.nova;
import org.jclouds.openstack.nova.v2_0.NovaApiMetadata;
import org.jclouds.providers.internal.BaseProviderMetadataTest;
import org.testng.annotations.Test;
/**
*
* @author Adrian Cole
*/
@Test(groups = "unit", testName = "TryStackNovaProviderTest")
public class TryStackNovaProviderTest extends BaseProviderMetadataTest {
public TryStackNovaProviderTest() {
super(new TryStackNovaProviderMetadata(), new NovaApiMetadata());
}
}

View File

@ -1,34 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not computee 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.trystack.nova.compute;
import org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Adrian Cole
*/
@Test(groups = "live", singleThreaded = true, testName = "TryStackNovaComputeServiceLiveTest")
public class TryStackNovaComputeServiceLiveTest extends NovaComputeServiceLiveTest {
public TryStackNovaComputeServiceLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,82 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not computee 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.trystack.nova.compute;
import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
import static org.testng.Assert.assertEquals;
import java.util.Set;
import org.jclouds.compute.domain.OsFamily;
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
import org.jclouds.compute.domain.Template;
import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
import org.testng.annotations.Test;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableSet;
/**
*
* @author Adrian Cole
*/
@Test(groups = "live", singleThreaded = true, testName = "TryStackNovaTemplateBuilderLiveTest")
public class TryStackNovaTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
public TryStackNovaTemplateBuilderLiveTest() {
provider = "trystack-nova";
}
@Override
protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
@Override
public boolean apply(OsFamilyVersion64Bit input) {
switch (input.family) {
case UBUNTU:
return (input.version.equals("") || input.version.matches("^11.*")) && input.is64Bit;
default:
return false;
}
}
});
}
@Test
public void testTemplateBuilder() {
Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "11.10");
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
assertEquals(defaultTemplate.getImage().getName(), "oneiric-server-cloudimg-amd64");
assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "ubuntu");
assertEquals(defaultTemplate.getLocation().getId(), "RegionOne");
assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), false);
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
}
@Override
protected Set<String> getIso3166Codes() {
return ImmutableSet.<String> of("US-CA");
}
}

View File

@ -1,34 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.features;
import org.jclouds.openstack.nova.v2_0.features.FlavorApiLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Adrian Cole
*/
@Test(groups = "live", testName = "TryStackNovaFlavorApiLiveTest")
public class TryStackNovaFlavorApiLiveTest extends FlavorApiLiveTest {
public TryStackNovaFlavorApiLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,33 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.features;
import org.jclouds.openstack.nova.v2_0.features.ImageApiLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Michael Arnold
*/
@Test(groups = "live", testName = "TryStackNovaImageApiLiveTest")
public class TryStackNovaImageApiLiveTest extends ImageApiLiveTest {
public TryStackNovaImageApiLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,34 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.features;
import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApiLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Michael Arnold
*/
@Test(groups = "live", testName = "TryStackNovaKeyPairApiLiveTest")
public class TryStackNovaKeyPairApiLiveTest extends KeyPairApiLiveTest {
public TryStackNovaKeyPairApiLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,33 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.features;
import org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupApiLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Michael Arnold
*/
@Test(groups = "live", testName = "TryStackNovaSecurityGroupApiLiveTest")
public class TryStackNovaSecurityGroupApiLiveTest extends SecurityGroupApiLiveTest {
public TryStackNovaSecurityGroupApiLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,34 +0,0 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds 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.trystack.nova.features;
import org.jclouds.openstack.nova.v2_0.features.ServerApiLiveTest;
import org.testng.annotations.Test;
/**
*
* @author Adrian Cole
*/
@Test(groups = "live", testName = "TryStackNovaServerApiLiveTest")
public class TryStackNovaServerApiLiveTest extends ServerApiLiveTest {
public TryStackNovaServerApiLiveTest() {
provider = "trystack-nova";
}
}

View File

@ -1,49 +0,0 @@
{
"access": {
"token": {
"expires": "2012-03-23T21:44:09",
"id": "Auth_4f173437e4b013bee56d1007",
"tenant": {
"id": "3456",
"name": "508151008"
}
},
"serviceCatalog": [{
"endpoints": [{
"adminURL": "https://nova-api.trystack.org:9774/v1.1/3456",
"region": "RegionOne",
"internalURL": "https://nova-api.trystack.org:9774/v1.1/3456",
"publicURL": "https://nova-api.trystack.org:9774/v1.1/3456"
}],
"type": "compute",
"name": "nova"
}, {
"endpoints": [{
"adminURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/3456",
"region": "RegionOne",
"internalURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/3456",
"publicURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/3456"
}],
"type": "image",
"name": "glance"
}, {
"endpoints": [{
"adminURL": "https://nova-api.trystack.org:5443/v2.0",
"region": "RegionOne",
"internalURL": "https://keystone.thefreecloud.org:5000/v2.0",
"publicURL": "https://keystone.thefreecloud.org:5000/v2.0"
}],
"type": "identity",
"name": "keystone"
}],
"user": {
"id": "43",
"roles": [{
"tenantId": "3456",
"id": "2",
"name": "Member"
}],
"name": "508151008"
}
}
}