mirror of https://github.com/apache/jclouds.git
JCLOUDS-1026: Remove public HP cloud compute providers
https://issues.apache.org/jira/browse/JCLOUDS-1026
This commit is contained in:
parent
34f6d6c7f3
commit
5d82b40d78
|
@ -1,139 +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</groupId>
|
||||
<artifactId>jclouds-project</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../../project/pom.xml</relativePath>
|
||||
</parent>
|
||||
<groupId>org.apache.jclouds.provider</groupId>
|
||||
<artifactId>hpcloud-blockstorage</artifactId>
|
||||
<name>jclouds HP Cloud Block Storage Provider</name>
|
||||
<description>OpenStack Cinder implementation for HP Cloud Block Storage</description>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<properties>
|
||||
<test.hpcloud-blockstorage.endpoint>https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/</test.hpcloud-blockstorage.endpoint>
|
||||
<test.hpcloud-blockstorage.api-version>1.0</test.hpcloud-blockstorage.api-version>
|
||||
<test.hpcloud-blockstorage.build-version />
|
||||
<test.hpcloud-blockstorage.identity>FIXME_IDENTITY</test.hpcloud-blockstorage.identity>
|
||||
<test.hpcloud-blockstorage.credential>FIXME_CREDENTIAL</test.hpcloud-blockstorage.credential>
|
||||
<test.hpcloud-blockstorage.template />
|
||||
<jclouds.osgi.export>org.jclouds.hpcloud.blockstorage.*;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.apache.jclouds</groupId>
|
||||
<artifactId>jclouds-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-cinder</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-keystone</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds</groupId>
|
||||
<artifactId>jclouds-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-cinder</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-keystone</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.driver</groupId>
|
||||
<artifactId>jclouds-slf4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.auto.service</groupId>
|
||||
<artifactId>auto-service</artifactId>
|
||||
<optional>true</optional>
|
||||
</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.hpcloud-blockstorage.endpoint>${test.hpcloud-blockstorage.endpoint}</test.hpcloud-blockstorage.endpoint>
|
||||
<test.hpcloud-blockstorage.api-version>${test.hpcloud-blockstorage.api-version}</test.hpcloud-blockstorage.api-version>
|
||||
<test.hpcloud-blockstorage.build-version>${test.hpcloud-blockstorage.build-version}</test.hpcloud-blockstorage.build-version>
|
||||
<test.hpcloud-blockstorage.identity>${test.hpcloud-blockstorage.identity}</test.hpcloud-blockstorage.identity>
|
||||
<test.hpcloud-blockstorage.credential>${test.hpcloud-blockstorage.credential}</test.hpcloud-blockstorage.credential>
|
||||
<test.hpcloud-blockstorage.template>${test.hpcloud-blockstorage.template}</test.hpcloud-blockstorage.template>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
|
@ -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.hpcloud.blockstorage;
|
||||
|
||||
import org.jclouds.openstack.cinder.v1.CinderApiMetadata;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
|
||||
import org.jclouds.openstack.v2_0.ServiceType;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.jclouds.providers.internal.BaseProviderMetadata;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Properties;
|
||||
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.REQUIRES_TENANT;
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
|
||||
/**
|
||||
* Implementation of {@link ProviderMetadata} for HP Cloud Block Storage service.
|
||||
*
|
||||
*/
|
||||
@AutoService(ProviderMetadata.class)
|
||||
public class HPCloudBlockStorageProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
|
||||
public HPCloudBlockStorageProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
|
||||
public HPCloudBlockStorageProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = new Properties();
|
||||
properties.setProperty(REQUIRES_TENANT, "true");
|
||||
properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
|
||||
properties.setProperty(SERVICE_TYPE, ServiceType.BLOCK_STORAGE);
|
||||
|
||||
return properties;
|
||||
}
|
||||
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
|
||||
protected Builder() {
|
||||
id("hpcloud-blockstorage")
|
||||
.name("HP Cloud Block Storage")
|
||||
.apiMetadata(new CinderApiMetadata().toBuilder()
|
||||
.identityName("${tenantName:accessKey}")
|
||||
.credentialName("${secret}")
|
||||
.defaultEndpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||
.endpointName("identity service url ending in /v2.0/")
|
||||
.documentation(URI.create("https://docs.hpcloud.com/api/v13/block-storage/"))
|
||||
.version("1.0")
|
||||
.build())
|
||||
.homepage(URI.create("https://horizon.hpcloud.com/project/volumes/"))
|
||||
.console(URI.create("https://horizon.hpcloud.com"))
|
||||
.linkedServices("hpcloud-compute", "hpcloud-objectstorage")
|
||||
.iso3166Codes("US-NV", "US-VA")
|
||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||
.defaultProperties(HPCloudBlockStorageProviderMetadata.defaultProperties());
|
||||
}
|
||||
|
||||
@Override
|
||||
public HPCloudBlockStorageProviderMetadata build() {
|
||||
return new HPCloudBlockStorageProviderMetadata(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,58 +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.hpcloud.blockstorage;
|
||||
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import org.jclouds.http.HttpRequest;
|
||||
import org.jclouds.http.HttpResponse;
|
||||
import org.jclouds.openstack.cinder.v1.CinderApi;
|
||||
import org.jclouds.openstack.cinder.v1.internal.BaseCinderApiExpectTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
@Test(groups = "unit", testName = "HPCloudBlockStorageProviderMetadataExpectTest")
|
||||
public class HPCloudBlockStorageProviderMetadataExpectTest extends BaseCinderApiExpectTest {
|
||||
|
||||
public HPCloudBlockStorageProviderMetadataExpectTest() {
|
||||
this.provider = "hpcloud-blockstorage";
|
||||
this.identity = "myTenantName:accessKey";
|
||||
this.credential = "secretKey";
|
||||
}
|
||||
|
||||
public void testCanGetConfiguredRegions() {
|
||||
|
||||
HttpRequest authenticate = HttpRequest.builder().method("POST")
|
||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens")
|
||||
.addHeader("Accept", "application/json")
|
||||
.payload(payloadFromResourceWithContentType("/auth_post_req.json", "application/json"))
|
||||
.build();
|
||||
|
||||
|
||||
HttpResponse authenticationResponse = HttpResponse.builder()
|
||||
.statusCode(200)
|
||||
.payload(payloadFromResourceWithContentType("/access_hpcloud.json", "application/json"))
|
||||
.build();
|
||||
|
||||
CinderApi whenNovaRegionExists = requestSendsResponse(authenticate, authenticationResponse);
|
||||
|
||||
assertEquals(whenNovaRegionExists.getConfiguredRegions(), ImmutableSet.of("region-a.geo-1", "region-b.geo-1"));
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,29 +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.hpcloud.blockstorage;
|
||||
|
||||
import org.jclouds.openstack.cinder.v1.CinderApiMetadata;
|
||||
import org.jclouds.providers.internal.BaseProviderMetadataTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "unit", testName = "HPCloudBlockStorageProviderTest")
|
||||
public class HPCloudBlockStorageProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public HPCloudBlockStorageProviderTest() {
|
||||
super(new HPCloudBlockStorageProviderMetadata(), new CinderApiMetadata());
|
||||
}
|
||||
}
|
|
@ -1,27 +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.hpcloud.blockstorage.features;
|
||||
|
||||
import org.jclouds.openstack.cinder.v1.features.VolumeAndSnapshotApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudBlockStorageVolumeAndSnapshotApiLiveTest")
|
||||
public class HPCloudBlockStorageVolumeAndSnapshotApiLiveTest extends VolumeAndSnapshotApiLiveTest {
|
||||
public HPCloudBlockStorageVolumeAndSnapshotApiLiveTest() {
|
||||
provider = "hpcloud-blockstorage";
|
||||
}
|
||||
}
|
|
@ -1,27 +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.hpcloud.blockstorage.features;
|
||||
|
||||
import org.jclouds.openstack.cinder.v1.features.VolumeTypeApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudBlockStorageVolumeTypeApiLiveTest")
|
||||
public class HPCloudBlockStorageVolumeTypeApiLiveTest extends VolumeTypeApiLiveTest {
|
||||
public HPCloudBlockStorageVolumeTypeApiLiveTest() {
|
||||
provider = "hpcloud-blockstorage";
|
||||
}
|
||||
}
|
|
@ -1,325 +0,0 @@
|
|||
{
|
||||
"access": {
|
||||
"token": {
|
||||
"expires": "2014-04-24T08:52:18.113Z",
|
||||
"id": "myToken",
|
||||
"tenant": {
|
||||
"id": "myTenantId",
|
||||
"name": "myTenantName"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"id": "myUserId",
|
||||
"name": "myUsername",
|
||||
"otherAttributes": {
|
||||
"domainStatus": "enabled",
|
||||
"domainStatusCode": "00"
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"id": "00000000004004",
|
||||
"serviceId": "100",
|
||||
"name": "domainuser"
|
||||
},
|
||||
{
|
||||
"id": "00000000004016",
|
||||
"serviceId": "120",
|
||||
"name": "netadmin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004014",
|
||||
"serviceId": "150",
|
||||
"name": "cdn-admin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004022",
|
||||
"serviceId": "110",
|
||||
"name": "Admin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004024",
|
||||
"serviceId": "140",
|
||||
"name": "user",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004013",
|
||||
"serviceId": "130",
|
||||
"name": "block-admin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004025",
|
||||
"serviceId": "120",
|
||||
"name": "sysadmin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "91643347410087",
|
||||
"serviceId": "240",
|
||||
"name": "dns-admin",
|
||||
"tenantId": "myTenantId"
|
||||
},
|
||||
{
|
||||
"id": "00000000004003",
|
||||
"serviceId": "100",
|
||||
"name": "domainadmin"
|
||||
},
|
||||
{
|
||||
"id": "10419409370304",
|
||||
"serviceId": "170",
|
||||
"name": "net-admin",
|
||||
"tenantId": "myTenantId"
|
||||
}
|
||||
]
|
||||
},
|
||||
"serviceCatalog": [
|
||||
{
|
||||
"name": "Usage Reporting",
|
||||
"type": "metering",
|
||||
"endpoints": [
|
||||
{
|
||||
"publicURL": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-a.geo-1.usage-reporting-internal.hpcloudsvc.com:8777",
|
||||
"versionList": "https://region-a.geo-1.usage-reporting-internal.hpcloudsvc.com:8777"
|
||||
},
|
||||
{
|
||||
"publicURL": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-b.geo-1.usage-reporting-internal.hpcloudsvc.com:8777",
|
||||
"versionList": "https://region-b.geo-1.usage-reporting-internal.hpcloudsvc.com:8777"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Networking",
|
||||
"type": "network",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "",
|
||||
"versionInfo": "",
|
||||
"versionList": ""
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.network.hpcloudsvc.com",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-a.geo-1.network.hpcloudsvc.com",
|
||||
"versionList": "https://region-a.geo-1.network.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.network.hpcloudsvc.com",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-b.geo-1.network.hpcloudsvc.com",
|
||||
"versionList": "https://region-b.geo-1.network.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CDN",
|
||||
"type": "hpext:cdn",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/myTenantId",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/myTenantId",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Object Storage",
|
||||
"type": "object-store",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.objects.hpcloudsvc.com/v1/myTenantId",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.objects.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-a.geo-1.objects.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/myTenantId",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1",
|
||||
"versionInfo": "https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/",
|
||||
"versionList": "https://region-b.geo-1.objects.hpcloudsvc.com:443"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Identity",
|
||||
"type": "identity",
|
||||
"endpoints": [
|
||||
{
|
||||
"publicURL": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"versionList": "https://region-a.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "3.0",
|
||||
"versionInfo": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"versionList": "https://region-a.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"versionList": "https://region-b.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "3.0",
|
||||
"versionInfo": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"versionList": "https://region-b.geo-1.identity.hpcloudsvc.com:35357"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Image Management",
|
||||
"type": "image",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://glance1.uswest.hpcloud.net:9292/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://glance1.uswest.hpcloud.net:9292/v1.0/",
|
||||
"versionList": "https://glance1.uswest.hpcloud.net:9292"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"versionList": "https://region-a.geo-1.images.hpcloudsvc.com:443"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"versionList": "https://region-b.geo-1.images.hpcloudsvc.com:443"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS",
|
||||
"type": "hpext:dns",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.dns.hpcloudsvc.com/v1/",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1",
|
||||
"versionInfo": "https://region-a.geo-1.dns.hpcloudsvc.com/v1/",
|
||||
"versionList": "https://region-a.geo-1.dns.hpcloudsvc.com/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Block Storage",
|
||||
"type": "volume",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/myTenantId",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.1",
|
||||
"versionInfo": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/",
|
||||
"versionList": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.block.hpcloudsvc.com/v1/myTenantId",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.block.hpcloudsvc.com/v1",
|
||||
"versionList": "https://region-a.geo-1.block.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.block.hpcloudsvc.com/v1/myTenantId",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.block.hpcloudsvc.com/v1",
|
||||
"versionList": "https://region-b.geo-1.block.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Compute",
|
||||
"type": "compute",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/myTenantId",
|
||||
"publicURL2": "https://az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.1",
|
||||
"versionInfo": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/",
|
||||
"versionList": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-a.geo-1.compute.hpcloudsvc.com/v2/myTenantId",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-a.geo-1.compute.hpcloudsvc.com/v2/",
|
||||
"versionList": "https://region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "myTenantId",
|
||||
"publicURL": "https://region-b.geo-1.compute.hpcloudsvc.com/v2/myTenantId",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-b.geo-1.compute.hpcloudsvc.com/v2/",
|
||||
"versionList": "https://region-b.geo-1.compute.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"auth": {
|
||||
"apiAccessKeyCredentials": {
|
||||
"accessKey": "accessKey",
|
||||
"secretKey": "secretKey"
|
||||
},
|
||||
"tenantName": "myTenantName"
|
||||
}
|
||||
}
|
|
@ -1,155 +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</groupId>
|
||||
<artifactId>jclouds-project</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../../project/pom.xml</relativePath>
|
||||
</parent>
|
||||
<groupId>org.apache.jclouds.provider</groupId>
|
||||
<artifactId>hpcloud-compute</artifactId>
|
||||
<name>jclouds HP Cloud Compute provider</name>
|
||||
<description>OpenStack Nova implementation targeted to HP Cloud Compute</description>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<properties>
|
||||
<test.hpcloud-compute.endpoint>https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/</test.hpcloud-compute.endpoint>
|
||||
<test.hpcloud-compute.build-version />
|
||||
<!--
|
||||
Identity must be "tenantName:accessKey". Credential is "secretKey"
|
||||
-->
|
||||
<test.hpcloud-compute.identity>FIXME_IDENTITY</test.hpcloud-compute.identity>
|
||||
<test.hpcloud-compute.credential>FIXME_CREDENTIAL</test.hpcloud-compute.credential>
|
||||
<test.hpcloud-compute.template />
|
||||
<jclouds.osgi.export>org.jclouds.hpcloud.compute*;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.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-nova</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<!-- for the extension namespaces -->
|
||||
<dependency>
|
||||
<groupId>com.google.inject.extensions</groupId>
|
||||
<artifactId>guice-multibindings</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds</groupId>
|
||||
<artifactId>jclouds-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds</groupId>
|
||||
<artifactId>jclouds-compute</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-nova</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-keystone</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.driver</groupId>
|
||||
<artifactId>jclouds-slf4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.driver</groupId>
|
||||
<artifactId>jclouds-sshj</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.jclouds.api</groupId>
|
||||
<artifactId>openstack-cinder</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.auto.service</groupId>
|
||||
<artifactId>auto-service</artifactId>
|
||||
<optional>true</optional>
|
||||
</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.hpcloud-compute.endpoint>${test.hpcloud-compute.endpoint}</test.hpcloud-compute.endpoint>
|
||||
<test.hpcloud-compute.api-version>${test.hpcloud-compute.api-version}</test.hpcloud-compute.api-version>
|
||||
<test.hpcloud-compute.build-version>${test.hpcloud-compute.build-version}</test.hpcloud-compute.build-version>
|
||||
<test.hpcloud-compute.identity>${test.hpcloud-compute.identity}</test.hpcloud-compute.identity>
|
||||
<test.hpcloud-compute.credential>${test.hpcloud-compute.credential}</test.hpcloud-compute.credential>
|
||||
<test.hpcloud-compute.template>${test.hpcloud-compute.template}</test.hpcloud-compute.template>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
|
@ -1,120 +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.hpcloud.compute;
|
||||
|
||||
import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
|
||||
import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.REQUIRES_TENANT;
|
||||
import static org.jclouds.openstack.nova.v2_0.config.NovaProperties.AUTO_ALLOCATE_FLOATING_IPS;
|
||||
import static org.jclouds.openstack.nova.v2_0.config.NovaProperties.AUTO_GENERATE_KEYPAIRS;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.jclouds.hpcloud.compute.config.HPCloudComputeHttpApiModule;
|
||||
import org.jclouds.hpcloud.compute.config.HPCloudComputeServiceContextModule;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
|
||||
import org.jclouds.openstack.nova.v2_0.NovaApiMetadata;
|
||||
import org.jclouds.openstack.nova.v2_0.config.NovaParserModule;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
import org.jclouds.providers.internal.BaseProviderMetadata;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.inject.Module;
|
||||
|
||||
/**
|
||||
* Implementation of {@link ProviderMetadata} for HP Cloud Compute Services.
|
||||
*/
|
||||
@AutoService(ProviderMetadata.class)
|
||||
public class HPCloudComputeProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
|
||||
public HPCloudComputeProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
|
||||
public HPCloudComputeProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = NovaApiMetadata.defaultProperties();
|
||||
// deallocating ip addresses can take a while
|
||||
properties.setProperty(TIMEOUT_NODE_TERMINATED, 60 * 1000 + "");
|
||||
|
||||
properties.setProperty(REQUIRES_TENANT, "true");
|
||||
properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
|
||||
|
||||
properties.setProperty(AUTO_ALLOCATE_FLOATING_IPS, "true");
|
||||
properties.setProperty(AUTO_GENERATE_KEYPAIRS, "true");
|
||||
properties.setProperty(TEMPLATE, "osFamily=UBUNTU,osVersionMatches=1[24].[01][04]," +
|
||||
"imageNameMatches=.*LTS.*,os64Bit=true,locationId=region-a.geo-1");
|
||||
return properties;
|
||||
}
|
||||
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
|
||||
protected Builder() {
|
||||
id("hpcloud-compute")
|
||||
.name("HP Cloud Compute Services")
|
||||
.apiMetadata(new NovaApiMetadata().toBuilder()
|
||||
.identityName("${tenantName}:${accessKey}")
|
||||
.credentialName("${secretKey}")
|
||||
.version("2")
|
||||
.endpointName("identity service url ending in /v2.0/")
|
||||
.defaultEndpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
|
||||
.add(AuthenticationApiModule.class)
|
||||
.add(KeystoneAuthenticationModule.class)
|
||||
.add(RegionModule.class)
|
||||
.add(NovaParserModule.class)
|
||||
.add(HPCloudComputeHttpApiModule.class)
|
||||
.add(HPCloudComputeServiceContextModule.class).build())
|
||||
.build())
|
||||
.homepage(URI.create("http://hpcloud.com"))
|
||||
.console(URI.create("https://horizon.hpcloud.com/"))
|
||||
.linkedServices("hpcloud-compute", "hpcloud-objectstorage")
|
||||
.iso3166Codes("US-NV", "US-VA")
|
||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||
.defaultProperties(HPCloudComputeProviderMetadata.defaultProperties());
|
||||
}
|
||||
|
||||
@Override
|
||||
public HPCloudComputeProviderMetadata build() {
|
||||
return new HPCloudComputeProviderMetadata(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,60 +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.hpcloud.compute;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.jclouds.location.Region;
|
||||
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.regionscoped.ImageInRegion;
|
||||
import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
public class HPCloudComputeServiceAdapter extends NovaComputeServiceAdapter {
|
||||
|
||||
@Inject
|
||||
public HPCloudComputeServiceAdapter(NovaApi novaApi, @Region Supplier<Set<String>> regionIds,
|
||||
RemoveFloatingIpFromNodeAndDeallocate removeFloatingIpFromNodeAndDeallocate, LoadingCache<RegionAndName, KeyPair> keyPairCache) {
|
||||
super(novaApi, regionIds, removeFloatingIpFromNodeAndDeallocate, keyPairCache);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<ImageInRegion> listImages() {
|
||||
return Iterables.filter(super.listImages(), new Predicate<ImageInRegion>() {
|
||||
|
||||
@Override
|
||||
public boolean apply(ImageInRegion arg0) {
|
||||
String imageName = arg0.getImage().getName();
|
||||
return imageName.indexOf("Kernel") == -1 && imageName.indexOf("Ramdisk") == -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "notKernelOrRamdisk";
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,40 +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.hpcloud.compute.config;
|
||||
|
||||
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneHttpApiModule.aliasBinder;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.config.NovaHttpApiModule;
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.ExtensionNamespaces;
|
||||
import org.jclouds.rest.ConfiguresHttpApi;
|
||||
|
||||
import com.google.inject.multibindings.MapBinder;
|
||||
|
||||
@ConfiguresHttpApi
|
||||
public class HPCloudComputeHttpApiModule extends NovaHttpApiModule {
|
||||
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
MapBinder<URI, URI> aliases = aliasBinder(binder());
|
||||
aliases.addBinding(URI.create(ExtensionNamespaces.VOLUME_ATTACHMENTS)).toInstance(
|
||||
URI.create("http://docs.openstack.org/compute/ext/volumes/api/v1.1"));
|
||||
}
|
||||
|
||||
}
|
|
@ -1,31 +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.hpcloud.compute.config;
|
||||
|
||||
import org.jclouds.hpcloud.compute.HPCloudComputeServiceAdapter;
|
||||
import org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceAdapter;
|
||||
import org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule;
|
||||
|
||||
public class HPCloudComputeServiceContextModule extends NovaComputeServiceContextModule {
|
||||
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
bind(NovaComputeServiceAdapter.class).to(HPCloudComputeServiceAdapter.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,60 +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.hpcloud.compute;
|
||||
|
||||
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 HPCloudComputeProviderMetadata} is correct.
|
||||
*/
|
||||
@Test(groups = "unit", testName = "HPCloudComputeProviderMetadataExpectTest")
|
||||
public class HPCloudComputeProviderMetadataExpectTest extends BaseNovaApiExpectTest {
|
||||
|
||||
public HPCloudComputeProviderMetadataExpectTest() {
|
||||
this.provider = "hpcloud-compute";
|
||||
this.identity = "tenant:accesskey";
|
||||
this.credential = "secret";
|
||||
}
|
||||
|
||||
public void testCanGetConfiguredRegions() {
|
||||
|
||||
HttpRequest authenticate = HttpRequest.builder().method("POST")
|
||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens")
|
||||
.addHeader("Accept", "application/json")
|
||||
.payload(payloadFromStringWithContentType(
|
||||
"{\"auth\":{\"apiAccessKeyCredentials\":{\"accessKey\":\"accesskey\",\"secretKey\":\"secret\"},\"tenantName\":\"tenant\"}}"
|
||||
, "application/json")).build();
|
||||
|
||||
|
||||
HttpResponse authenticationResponse = HttpResponse.builder().statusCode(200)
|
||||
.payload(payloadFromResourceWithContentType("/access_hpcloud.json", "application/json")).build();
|
||||
|
||||
NovaApi whenNovaRegionExists = requestSendsResponse(authenticate, authenticationResponse);
|
||||
|
||||
assertEquals(whenNovaRegionExists.getConfiguredRegions(), ImmutableSet.of("region-a.geo-1", "region-b.geo-1"));
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,46 +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.
|
||||
*/
|
||||
/**
|
||||
*
|
||||
*
|
||||
* ====================================================================
|
||||
* Licensed 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.hpcloud.compute;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.NovaApiMetadata;
|
||||
import org.jclouds.providers.internal.BaseProviderMetadataTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "unit", testName = "HPCloudComputeProviderTest")
|
||||
public class HPCloudComputeProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public HPCloudComputeProviderTest() {
|
||||
super(new HPCloudComputeProviderMetadata(), new NovaApiMetadata());
|
||||
}
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.compute;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.compute.NovaComputeServiceLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", singleThreaded = true, testName = "HPCloudComputeComputeServiceLiveTest")
|
||||
public class HPCloudComputeComputeServiceLiveTest extends NovaComputeServiceLiveTest {
|
||||
|
||||
public HPCloudComputeComputeServiceLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
}
|
|
@ -1,59 +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.hpcloud.compute.compute;
|
||||
|
||||
import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.compute.domain.OsFamily;
|
||||
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.collect.ImmutableSet;
|
||||
|
||||
@Test(groups = "live", singleThreaded = true, testName = "HPCloudComputeTemplateBuilderLiveTest")
|
||||
public class HPCloudComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
|
||||
|
||||
public HPCloudComputeTemplateBuilderLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateBuilder() {
|
||||
Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "14.04");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
||||
assertTrue(defaultTemplate.getImage().getName().startsWith("Ubuntu Server 14.04"));
|
||||
assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "ubuntu");
|
||||
assertEquals(defaultTemplate.getLocation().getId(), "region-a.geo-1");
|
||||
assertEquals(defaultTemplate.getImage().getLocation().getId(), "region-a.geo-1");
|
||||
assertEquals(defaultTemplate.getHardware().getLocation().getId(), "region-a.geo-1");
|
||||
assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), true);
|
||||
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.of("US-NV", "US-VA");
|
||||
}
|
||||
}
|
|
@ -1,36 +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.hpcloud.compute.compute.extensions;
|
||||
|
||||
import org.jclouds.compute.extensions.internal.BaseImageExtensionLiveTest;
|
||||
import org.jclouds.sshj.config.SshjSshClientModule;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.inject.Module;
|
||||
|
||||
@Test(groups = "live", singleThreaded = true, testName = "HPCloudComputeImageExtensionLivetest")
|
||||
public class HPCloudComputeImageExtensionLivetest extends BaseImageExtensionLiveTest {
|
||||
|
||||
public HPCloudComputeImageExtensionLivetest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Module getSshModule() {
|
||||
return new SshjSshClientModule();
|
||||
}
|
||||
}
|
|
@ -1,36 +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.hpcloud.compute.compute.extensions;
|
||||
|
||||
import org.jclouds.compute.extensions.internal.BaseSecurityGroupExtensionLiveTest;
|
||||
import org.jclouds.sshj.config.SshjSshClientModule;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.inject.Module;
|
||||
|
||||
@Test(groups = "live", singleThreaded = true, testName = "HPCloudComputeImageExtensionLiveTest")
|
||||
public class HPCloudComputeSecurityGroupExtensionLiveTest extends BaseSecurityGroupExtensionLiveTest {
|
||||
|
||||
public HPCloudComputeSecurityGroupExtensionLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Module getSshModule() {
|
||||
return new SshjSshClientModule();
|
||||
}
|
||||
}
|
|
@ -1,45 +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.hpcloud.compute.extensions;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import org.jclouds.hpcloud.compute.HPCloudComputeProviderMetadata;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
|
||||
import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.VolumeAttachmentApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeVolumeAttachmentExtensionLiveTest", singleThreaded = true)
|
||||
public class HPCloudComputeVolumeAttachmentExtensionLiveTest extends VolumeAttachmentApiLiveTest {
|
||||
|
||||
public HPCloudComputeVolumeAttachmentExtensionLiveTest() {
|
||||
HPCloudComputeProviderMetadata metadata = new HPCloudComputeProviderMetadata();
|
||||
provider = metadata.getId();
|
||||
System.setProperty("test." + provider + ".endpoint", metadata.getEndpoint());
|
||||
System.setProperty(KeystoneProperties.CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Properties setupProperties() {
|
||||
Properties props = super.setupProperties();
|
||||
volumeProviderVersion = setIfTestSystemPropertyPresent(props, provider + ".volume-provider-version", "1.0");
|
||||
singleRegion = setIfTestSystemPropertyPresent(props, provider + ".region", "region-a.geo-1");
|
||||
return props;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.features.FlavorApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeFlavorApiLiveTest")
|
||||
public class HPCloudComputeFlavorApiLiveTest extends FlavorApiLiveTest {
|
||||
public HPCloudComputeFlavorApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.FloatingIPApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeFloatingIPApiLiveTest")
|
||||
public class HPCloudComputeFloatingIPApiLiveTest extends FloatingIPApiLiveTest {
|
||||
public HPCloudComputeFloatingIPApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,27 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.features.ImageApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeImageApiLiveTest")
|
||||
public class HPCloudComputeImageApiLiveTest extends ImageApiLiveTest {
|
||||
public HPCloudComputeImageApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeKeyPairApiLiveTest")
|
||||
public class HPCloudComputeKeyPairApiLiveTest extends KeyPairApiLiveTest {
|
||||
public HPCloudComputeKeyPairApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,27 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeSecurityGroupApiLiveTest")
|
||||
public class HPCloudComputeSecurityGroupApiLiveTest extends SecurityGroupApiLiveTest {
|
||||
public HPCloudComputeSecurityGroupApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.features.ServerApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeServerApiLiveTest")
|
||||
public class HPCloudComputeServerApiLiveTest extends ServerApiLiveTest {
|
||||
public HPCloudComputeServerApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,28 +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.hpcloud.compute.features;
|
||||
|
||||
import org.jclouds.openstack.nova.v2_0.extensions.VolumeApiLiveTest;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "live", testName = "HPCloudComputeVolumeApiLiveTest")
|
||||
public class HPCloudComputeVolumeApiLiveTest extends VolumeApiLiveTest {
|
||||
public HPCloudComputeVolumeApiLiveTest() {
|
||||
provider = "hpcloud-compute";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,346 +0,0 @@
|
|||
{
|
||||
"access": {
|
||||
"token": {
|
||||
"expires": "2014-05-07T08:38:39.421Z",
|
||||
"id": "HPAuth10_xxxx",
|
||||
"tenant": {
|
||||
"id": "123456789",
|
||||
"name": "test-project1"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"id": "10951776012508",
|
||||
"name": "ccustine",
|
||||
"otherAttributes": {
|
||||
"domainStatus": "enabled",
|
||||
"domainStatusCode": "00"
|
||||
},
|
||||
"roles": [
|
||||
{
|
||||
"id": "00000000004004",
|
||||
"serviceId": "100",
|
||||
"name": "domainuser"
|
||||
},
|
||||
{
|
||||
"id": "00000000004016",
|
||||
"serviceId": "120",
|
||||
"name": "netadmin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004014",
|
||||
"serviceId": "150",
|
||||
"name": "cdn-admin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004022",
|
||||
"serviceId": "110",
|
||||
"name": "Admin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004032",
|
||||
"serviceId": "160",
|
||||
"name": "mysql-user",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004024",
|
||||
"serviceId": "140",
|
||||
"name": "user",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004013",
|
||||
"serviceId": "130",
|
||||
"name": "block-admin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004025",
|
||||
"serviceId": "120",
|
||||
"name": "sysadmin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "91643347410087",
|
||||
"serviceId": "240",
|
||||
"name": "dns-admin",
|
||||
"tenantId": "123456789"
|
||||
},
|
||||
{
|
||||
"id": "00000000004003",
|
||||
"serviceId": "100",
|
||||
"name": "domainadmin"
|
||||
},
|
||||
{
|
||||
"id": "10419409370304",
|
||||
"serviceId": "170",
|
||||
"name": "net-admin",
|
||||
"tenantId": "123456789"
|
||||
}
|
||||
]
|
||||
},
|
||||
"serviceCatalog": [
|
||||
{
|
||||
"name": "Usage Reporting",
|
||||
"type": "metering",
|
||||
"endpoints": [
|
||||
{
|
||||
"publicURL": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-a.geo-1.usage-reporting-internal.hpcloudsvc.com:8777",
|
||||
"versionList": "https://region-a.geo-1.usage-reporting-internal.hpcloudsvc.com:8777"
|
||||
},
|
||||
{
|
||||
"publicURL": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-b.geo-1.usage-reporting-internal.hpcloudsvc.com:8777",
|
||||
"versionList": "https://region-b.geo-1.usage-reporting-internal.hpcloudsvc.com:8777"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Networking",
|
||||
"type": "network",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "",
|
||||
"versionInfo": "",
|
||||
"versionList": ""
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.network.hpcloudsvc.com",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-a.geo-1.network.hpcloudsvc.com",
|
||||
"versionList": "https://region-a.geo-1.network.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.network.hpcloudsvc.com",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-b.geo-1.network.hpcloudsvc.com",
|
||||
"versionList": "https://region-b.geo-1.network.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Relational DB MySQL",
|
||||
"type": "database",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.database.hpcloudsvc.com/v1.0/123456789",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "v13.6",
|
||||
"versionInfo": "https://region-a.geo-1.database.hpcloudsvc.com/v1.0",
|
||||
"versionList": "https://region-a.geo-1.database.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "CDN",
|
||||
"type": "hpext:cdn",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/123456789",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/123456789",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-b.geo-1.cdnmgmt.hpcloudsvc.com/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Object Storage",
|
||||
"type": "object-store",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.objects.hpcloudsvc.com/v1/123456789",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.objects.hpcloudsvc.com/v1.0/",
|
||||
"versionList": "https://region-a.geo-1.objects.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/123456789",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1",
|
||||
"versionInfo": "https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/",
|
||||
"versionList": "https://region-b.geo-1.objects.hpcloudsvc.com:443"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Identity",
|
||||
"type": "identity",
|
||||
"endpoints": [
|
||||
{
|
||||
"publicURL": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"versionList": "https://region-a.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "3.0",
|
||||
"versionInfo": "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"versionList": "https://region-a.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2.0",
|
||||
"versionInfo": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/",
|
||||
"versionList": "https://region-b.geo-1.identity.hpcloudsvc.com:35357"
|
||||
},
|
||||
{
|
||||
"publicURL": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "3.0",
|
||||
"versionInfo": "https://region-b.geo-1.identity.hpcloudsvc.com:35357/v3/",
|
||||
"versionList": "https://region-b.geo-1.identity.hpcloudsvc.com:35357"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Image Management",
|
||||
"type": "image",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://glance1.uswest.hpcloud.net:9292/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://glance1.uswest.hpcloud.net:9292/v1.0/",
|
||||
"versionList": "https://glance1.uswest.hpcloud.net:9292"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"versionList": "https://region-a.geo-1.images.hpcloudsvc.com:443"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.images.hpcloudsvc.com:443/v1.0",
|
||||
"versionList": "https://region-b.geo-1.images.hpcloudsvc.com:443"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS",
|
||||
"type": "hpext:dns",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.dns.hpcloudsvc.com/v1/",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1",
|
||||
"versionInfo": "https://region-a.geo-1.dns.hpcloudsvc.com/v1/",
|
||||
"versionList": "https://region-a.geo-1.dns.hpcloudsvc.com/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Block Storage",
|
||||
"type": "volume",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/123456789",
|
||||
"publicURL2": "",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.1",
|
||||
"versionInfo": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/",
|
||||
"versionList": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.block.hpcloudsvc.com/v1/123456789",
|
||||
"publicURL2": "",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-a.geo-1.block.hpcloudsvc.com/v1",
|
||||
"versionList": "https://region-a.geo-1.block.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.block.hpcloudsvc.com/v1/123456789",
|
||||
"publicURL2": "",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "1.0",
|
||||
"versionInfo": "https://region-b.geo-1.block.hpcloudsvc.com/v1",
|
||||
"versionList": "https://region-b.geo-1.block.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Compute",
|
||||
"type": "compute",
|
||||
"endpoints": [
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/123456789",
|
||||
"publicURL2": "https://az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud",
|
||||
"region": "az-1.region-a.geo-1",
|
||||
"versionId": "1.1",
|
||||
"versionInfo": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/",
|
||||
"versionList": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-a.geo-1.compute.hpcloudsvc.com/v2/123456789",
|
||||
"region": "region-a.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-a.geo-1.compute.hpcloudsvc.com/v2/",
|
||||
"versionList": "https://region-a.geo-1.compute.hpcloudsvc.com"
|
||||
},
|
||||
{
|
||||
"tenantId": "123456789",
|
||||
"publicURL": "https://region-b.geo-1.compute.hpcloudsvc.com/v2/123456789",
|
||||
"region": "region-b.geo-1",
|
||||
"versionId": "2",
|
||||
"versionInfo": "https://region-b.geo-1.compute.hpcloudsvc.com/v2/",
|
||||
"versionList": "https://region-b.geo-1.compute.hpcloudsvc.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -53,8 +53,6 @@
|
|||
<module>go2cloud-jhb1</module>
|
||||
<module>google-compute-engine</module>
|
||||
<module>softlayer</module>
|
||||
<module>hpcloud-compute</module>
|
||||
<module>hpcloud-blockstorage</module>
|
||||
<module>rackspace-cloudfiles-us</module>
|
||||
<module>rackspace-cloudfiles-uk</module>
|
||||
<module>rackspace-clouddns-us</module>
|
||||
|
|
Loading…
Reference in New Issue