mirror of https://github.com/apache/jclouds.git
JCLOUDS-583: Updates HP Cloud compute provider to work with 13.5 release
This commit is contained in:
parent
9b50754c24
commit
c857ccc479
|
@ -172,7 +172,7 @@ public abstract class BaseComputeServiceLiveTest extends BaseComputeServiceConte
|
||||||
ComputeServiceContext context = null;
|
ComputeServiceContext context = null;
|
||||||
try {
|
try {
|
||||||
Properties overrides = setupProperties();
|
Properties overrides = setupProperties();
|
||||||
overrides.setProperty(provider + ".identity", "MOMMA");
|
overrides.setProperty(provider + ".identity", "MOM:MA");
|
||||||
overrides.setProperty(provider + ".credential", "MIA");
|
overrides.setProperty(provider + ".credential", "MIA");
|
||||||
context = newBuilder()
|
context = newBuilder()
|
||||||
.modules(ImmutableSet.of(getLoggingModule(), credentialStoreModule))
|
.modules(ImmutableSet.of(getLoggingModule(), credentialStoreModule))
|
||||||
|
|
|
@ -33,12 +33,9 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<test.hpcloud-compute.endpoint>https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/</test.hpcloud-compute.endpoint>
|
<test.hpcloud-compute.endpoint>https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/</test.hpcloud-compute.endpoint>
|
||||||
<test.hpcloud-compute.api-version>1.1</test.hpcloud-compute.api-version>
|
|
||||||
<test.hpcloud-compute.build-version />
|
<test.hpcloud-compute.build-version />
|
||||||
<!--
|
<!--
|
||||||
Identity must be tenantName:userName. Note that the following
|
Identity must be "tenantName:accessKey". Credential is "secretKey"
|
||||||
credentials are the HP Cloud username and password, not the access
|
|
||||||
key id and secret key.
|
|
||||||
-->
|
-->
|
||||||
<test.hpcloud-compute.identity>FIXME_IDENTITY</test.hpcloud-compute.identity>
|
<test.hpcloud-compute.identity>FIXME_IDENTITY</test.hpcloud-compute.identity>
|
||||||
<test.hpcloud-compute.credential>FIXME_CREDENTIAL</test.hpcloud-compute.credential>
|
<test.hpcloud-compute.credential>FIXME_CREDENTIAL</test.hpcloud-compute.credential>
|
||||||
|
|
|
@ -18,6 +18,7 @@ package org.jclouds.hpcloud.compute;
|
||||||
|
|
||||||
import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
|
import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
|
||||||
import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
|
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.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_ALLOCATE_FLOATING_IPS;
|
||||||
import static org.jclouds.openstack.nova.v2_0.config.NovaProperties.AUTO_GENERATE_KEYPAIRS;
|
import static org.jclouds.openstack.nova.v2_0.config.NovaProperties.AUTO_GENERATE_KEYPAIRS;
|
||||||
|
@ -26,6 +27,7 @@ import java.net.URI;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.jclouds.hpcloud.compute.config.HPCloudComputeServiceContextModule;
|
import org.jclouds.hpcloud.compute.config.HPCloudComputeServiceContextModule;
|
||||||
|
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;
|
||||||
import org.jclouds.openstack.keystone.v2_0.config.MappedAuthenticationApiModule;
|
import org.jclouds.openstack.keystone.v2_0.config.MappedAuthenticationApiModule;
|
||||||
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ZoneModule;
|
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ZoneModule;
|
||||||
|
@ -66,9 +68,12 @@ public class HPCloudComputeProviderMetadata extends BaseProviderMetadata {
|
||||||
properties.setProperty(TIMEOUT_NODE_TERMINATED, 60 * 1000 + "");
|
properties.setProperty(TIMEOUT_NODE_TERMINATED, 60 * 1000 + "");
|
||||||
|
|
||||||
properties.setProperty(REQUIRES_TENANT, "true");
|
properties.setProperty(REQUIRES_TENANT, "true");
|
||||||
|
properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
|
||||||
|
|
||||||
properties.setProperty(AUTO_ALLOCATE_FLOATING_IPS, "true");
|
properties.setProperty(AUTO_ALLOCATE_FLOATING_IPS, "true");
|
||||||
properties.setProperty(AUTO_GENERATE_KEYPAIRS, "true");
|
properties.setProperty(AUTO_GENERATE_KEYPAIRS, "true");
|
||||||
properties.setProperty(TEMPLATE, "osFamily=UBUNTU,osVersionMatches=1[012].[01][04],os64Bit=true,locationId=az-2.region-a.geo-1");
|
properties.setProperty(TEMPLATE, "osFamily=UBUNTU,osVersionMatches=1[24].[01][04]," +
|
||||||
|
"imageNameMatches=.*LTS.*,os64Bit=true,locationId=region-a.geo-1");
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,6 +83,9 @@ public class HPCloudComputeProviderMetadata extends BaseProviderMetadata {
|
||||||
id("hpcloud-compute")
|
id("hpcloud-compute")
|
||||||
.name("HP Cloud Compute Services")
|
.name("HP Cloud Compute Services")
|
||||||
.apiMetadata(new NovaApiMetadata().toBuilder()
|
.apiMetadata(new NovaApiMetadata().toBuilder()
|
||||||
|
.identityName("${tenantName}:${accessKey}")
|
||||||
|
.credentialName("${secretKey}")
|
||||||
|
.version("2")
|
||||||
.endpointName("identity service url ending in /v2.0/")
|
.endpointName("identity service url ending in /v2.0/")
|
||||||
.defaultEndpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
.defaultEndpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||||
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
|
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
|
||||||
|
@ -89,9 +97,9 @@ public class HPCloudComputeProviderMetadata extends BaseProviderMetadata {
|
||||||
.add(HPCloudComputeServiceContextModule.class).build())
|
.add(HPCloudComputeServiceContextModule.class).build())
|
||||||
.build())
|
.build())
|
||||||
.homepage(URI.create("http://hpcloud.com"))
|
.homepage(URI.create("http://hpcloud.com"))
|
||||||
.console(URI.create("https://manage.hpcloud.com/compute"))
|
.console(URI.create("https://horizon.hpcloud.com/"))
|
||||||
.linkedServices("hpcloud-compute", "hpcloud-objectstorage")
|
.linkedServices("hpcloud-compute", "hpcloud-objectstorage")
|
||||||
.iso3166Codes("US-NV")
|
.iso3166Codes("US-NV", "US-VA")
|
||||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/")
|
||||||
.defaultProperties(HPCloudComputeProviderMetadata.defaultProperties());
|
.defaultProperties(HPCloudComputeProviderMetadata.defaultProperties());
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,8 +34,8 @@ public class HPCloudComputeProviderMetadataExpectTest extends BaseNovaApiExpectT
|
||||||
|
|
||||||
public HPCloudComputeProviderMetadataExpectTest() {
|
public HPCloudComputeProviderMetadataExpectTest() {
|
||||||
this.provider = "hpcloud-compute";
|
this.provider = "hpcloud-compute";
|
||||||
this.identity = "tenant:username";
|
this.identity = "tenant:accesskey";
|
||||||
this.credential = "password";
|
this.credential = "secret";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCanGetConfiguredZones() {
|
public void testCanGetConfiguredZones() {
|
||||||
|
@ -44,7 +44,7 @@ public class HPCloudComputeProviderMetadataExpectTest extends BaseNovaApiExpectT
|
||||||
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens")
|
.endpoint("https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens")
|
||||||
.addHeader("Accept", "application/json")
|
.addHeader("Accept", "application/json")
|
||||||
.payload(payloadFromStringWithContentType(
|
.payload(payloadFromStringWithContentType(
|
||||||
"{\"auth\":{\"passwordCredentials\":{\"username\":\"username\",\"password\":\"password\"},\"tenantName\":\"tenant\"}}"
|
"{\"auth\":{\"apiAccessKeyCredentials\":{\"accessKey\":\"accesskey\",\"secretKey\":\"secret\"},\"tenantName\":\"tenant\"}}"
|
||||||
, "application/json")).build();
|
, "application/json")).build();
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ public class HPCloudComputeProviderMetadataExpectTest extends BaseNovaApiExpectT
|
||||||
|
|
||||||
NovaApi whenNovaRegionExists = requestSendsResponse(authenticate, authenticationResponse);
|
NovaApi whenNovaRegionExists = requestSendsResponse(authenticate, authenticationResponse);
|
||||||
|
|
||||||
assertEquals(whenNovaRegionExists.getConfiguredZones(), ImmutableSet.of("az-3.region-a.geo-1", "az-2.region-a.geo-1", "az-1.region-a.geo-1"));
|
assertEquals(whenNovaRegionExists.getConfiguredZones(), ImmutableSet.of("region-a.geo-1", "region-b.geo-1"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ package org.jclouds.hpcloud.compute.compute;
|
||||||
|
|
||||||
import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
|
import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
|
import static org.testng.Assert.assertTrue;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -47,12 +48,13 @@ public class HPCloudComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLi
|
||||||
public boolean apply(OsFamilyVersion64Bit input) {
|
public boolean apply(OsFamilyVersion64Bit input) {
|
||||||
switch (input.family) {
|
switch (input.family) {
|
||||||
case UBUNTU:
|
case UBUNTU:
|
||||||
return (input.version.equals("") || input.version.equals("12.04") || input.version.matches("^1[01].*")) && input.is64Bit;
|
return (input.version.equals("") || input.version.matches("(10.04)|(11.10)|(12.04)|(12.10)|(13.04)|(13.10)")) && input.is64Bit;
|
||||||
case DEBIAN:
|
case DEBIAN:
|
||||||
return input.is64Bit && !input.version.equals("5.0");
|
return input.is64Bit && !input.version.matches("(5.[0-9])|(6.[0-9])|(7.[0-9])");
|
||||||
case CENTOS:
|
case CENTOS:
|
||||||
return (input.version.equals("") || input.version.equals("5.6") || input.version.equals("6.0"))
|
return (input.version.equals("") || input.version.matches("(5.0)|(5.8)|(6.3)|(6.5)")) && input.is64Bit;
|
||||||
&& input.is64Bit;
|
case WINDOWS:
|
||||||
|
return input.version.equals("") || input.version.equals("2008") || (input.version.equals("2008 R2") && input.is64Bit);
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -67,17 +69,17 @@ public class HPCloudComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLi
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "12.04");
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "12.04");
|
||||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
||||||
assertEquals(defaultTemplate.getImage().getName(), "Ubuntu Precise 12.04 LTS Server 64-bit 20120424");
|
assertTrue(defaultTemplate.getImage().getName().startsWith("Ubuntu Server 12.04"));
|
||||||
assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "ubuntu");
|
assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "ubuntu");
|
||||||
assertEquals(defaultTemplate.getLocation().getId(), "az-2.region-a.geo-1");
|
assertEquals(defaultTemplate.getLocation().getId(), "region-a.geo-1");
|
||||||
assertEquals(defaultTemplate.getImage().getLocation().getId(), "az-2.region-a.geo-1");
|
assertEquals(defaultTemplate.getImage().getLocation().getId(), "region-a.geo-1");
|
||||||
assertEquals(defaultTemplate.getHardware().getLocation().getId(), "az-2.region-a.geo-1");
|
assertEquals(defaultTemplate.getHardware().getLocation().getId(), "region-a.geo-1");
|
||||||
assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), true);
|
assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), true);
|
||||||
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
|
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Set<String> getIso3166Codes() {
|
protected Set<String> getIso3166Codes() {
|
||||||
return ImmutableSet.<String> of("US-NV");
|
return ImmutableSet.<String> of("US-NV", "US-VA");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,225 +1,340 @@
|
||||||
{"access": {
|
{"access": {
|
||||||
"token": {
|
"token": {
|
||||||
"expires": "2012-09-30T12:56:12.481Z",
|
"expires": "2014-05-07T08:38:39.421Z",
|
||||||
"id": "HPAuth_e2b86593f73366704ed4f9e4441a2467f1a67568d5363e561a72f36a96da3b4a",
|
"id": "HPAuth10_xxxx",
|
||||||
"tenant": {
|
"tenant": {
|
||||||
"id": "37936628937291",
|
"id": "123456789",
|
||||||
"name": "adrian@jclouds.org"
|
"name": "test-project1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"id": "54297837463082",
|
"id": "10951776012508",
|
||||||
"name": "adrian@jclouds.org",
|
"name": "ccustine",
|
||||||
"roles": [
|
"otherAttributes": {
|
||||||
{
|
"domainStatus": "enabled",
|
||||||
"id": "00000000004016",
|
"domainStatusCode": "00"
|
||||||
"serviceId": "120",
|
},
|
||||||
"name": "netadmin",
|
"roles": [
|
||||||
"tenantId": "37936628937291"
|
{
|
||||||
},
|
"id": "00000000004004",
|
||||||
{
|
"serviceId": "100",
|
||||||
"id": "00000000004025",
|
"name": "domainuser"
|
||||||
"serviceId": "120",
|
},
|
||||||
"name": "sysadmin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004016",
|
||||||
},
|
"serviceId": "120",
|
||||||
{
|
"name": "netadmin",
|
||||||
"id": "00000000004014",
|
"tenantId": "123456789"
|
||||||
"serviceId": "150",
|
},
|
||||||
"name": "cdn-admin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004014",
|
||||||
},
|
"serviceId": "150",
|
||||||
{
|
"name": "cdn-admin",
|
||||||
"id": "00000000004013",
|
"tenantId": "123456789"
|
||||||
"serviceId": "130",
|
},
|
||||||
"name": "block-admin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004022",
|
||||||
},
|
"serviceId": "110",
|
||||||
{
|
"name": "Admin",
|
||||||
"id": "00000000004022",
|
"tenantId": "123456789"
|
||||||
"serviceId": "110",
|
},
|
||||||
"name": "Admin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004032",
|
||||||
},
|
"serviceId": "160",
|
||||||
{
|
"name": "mysql-user",
|
||||||
"id": "00000000004016",
|
"tenantId": "123456789"
|
||||||
"serviceId": "120",
|
},
|
||||||
"name": "netadmin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004024",
|
||||||
},
|
"serviceId": "140",
|
||||||
{
|
"name": "user",
|
||||||
"id": "00000000004024",
|
"tenantId": "123456789"
|
||||||
"serviceId": "140",
|
},
|
||||||
"name": "user",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004013",
|
||||||
},
|
"serviceId": "130",
|
||||||
{
|
"name": "block-admin",
|
||||||
"id": "00000000004013",
|
"tenantId": "123456789"
|
||||||
"serviceId": "130",
|
},
|
||||||
"name": "block-admin",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "00000000004025",
|
||||||
},
|
"serviceId": "120",
|
||||||
{
|
"name": "sysadmin",
|
||||||
"id": "00000000004003",
|
"tenantId": "123456789"
|
||||||
"serviceId": "100",
|
},
|
||||||
"name": "domainadmin"
|
{
|
||||||
},
|
"id": "91643347410087",
|
||||||
{
|
"serviceId": "240",
|
||||||
"id": "00000000004025",
|
"name": "dns-admin",
|
||||||
"serviceId": "120",
|
"tenantId": "123456789"
|
||||||
"name": "sysadmin",
|
},
|
||||||
"tenantId": "37936628937291"
|
{
|
||||||
},
|
"id": "00000000004003",
|
||||||
{
|
"serviceId": "100",
|
||||||
"id": "00000000004024",
|
"name": "domainadmin"
|
||||||
"serviceId": "140",
|
},
|
||||||
"name": "user",
|
{
|
||||||
"tenantId": "37936628937291"
|
"id": "10419409370304",
|
||||||
},
|
"serviceId": "170",
|
||||||
{
|
"name": "net-admin",
|
||||||
"id": "00000000004004",
|
"tenantId": "123456789"
|
||||||
"serviceId": "100",
|
}
|
||||||
"name": "domainuser"
|
]
|
||||||
}
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
}}
|
||||||
"serviceCatalog": [
|
|
||||||
{
|
|
||||||
"name": "CDN",
|
|
||||||
"type": "hpext:cdn",
|
|
||||||
"endpoints": [{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/region-a.geo-1.cdnmgmt.hpcloudsvc.com\/v1.0\/AUTH_651c939f-04f0-4fbf-bd50-27f114ccaa15",
|
|
||||||
"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\/"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Object Storage",
|
|
||||||
"type": "object-store",
|
|
||||||
"endpoints": [{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/AUTH_651c939f-04f0-4fbf-bd50-27f114ccaa15",
|
|
||||||
"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"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Identity",
|
|
||||||
"type": "identity",
|
|
||||||
"endpoints": [
|
|
||||||
{
|
|
||||||
"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-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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Image Management",
|
|
||||||
"type": "image",
|
|
||||||
"endpoints": [
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
|
|
||||||
"region": "az-2.region-a.geo-1",
|
|
||||||
"versionId": "1.0",
|
|
||||||
"versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
|
|
||||||
"versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/glance3.uswest.hpcloud.net:9292\/v1.0",
|
|
||||||
"region": "az-3.region-a.geo-1",
|
|
||||||
"versionId": "1.0",
|
|
||||||
"versionInfo": "https:\/\/glance3.uswest.hpcloud.net:9292\/v1.0\/",
|
|
||||||
"versionList": "https:\/\/glance3.uswest.hpcloud.net:9292"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/glance1.uswest.hpcloud.net:9292\/v1.0",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Block Storage",
|
|
||||||
"type": "volume",
|
|
||||||
"endpoints": [
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-1.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"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": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"region": "az-3.region-a.geo-1",
|
|
||||||
"versionId": "1.1",
|
|
||||||
"versionInfo": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
|
|
||||||
"versionList": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"region": "az-2.region-a.geo-1",
|
|
||||||
"versionId": "1.1",
|
|
||||||
"versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
|
|
||||||
"versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Compute",
|
|
||||||
"type": "compute",
|
|
||||||
"endpoints": [
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"publicURL2": "https:\/\/az-3.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
|
|
||||||
"region": "az-3.region-a.geo-1",
|
|
||||||
"versionId": "1.1",
|
|
||||||
"versionInfo": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
|
|
||||||
"versionList": "https:\/\/az-3.region-a.geo-1.compute.hpcloudsvc.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
|
|
||||||
"region": "az-2.region-a.geo-1",
|
|
||||||
"versionId": "1.1",
|
|
||||||
"versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
|
|
||||||
"versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tenantId": "37936628937291",
|
|
||||||
"publicURL": "https:\/\/az-1.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/37936628937291",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}}
|
|
Loading…
Reference in New Issue