Difference between revisions of "API Special Interest Group/Current Design/Service Catalog"
Annegentle (talk | contribs) (Adds Rackspace Private Cloud service catalog example) |
|||
Line 560: | Line 560: | ||
== Rackspace Private Cloud == | == Rackspace Private Cloud == | ||
+ | |||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "access": { | ||
+ | "metadata": { | ||
+ | "is_admin": 0, | ||
+ | "roles": [ | ||
+ | "9fe2ff9ee4384b1894a90878d3e92bab" | ||
+ | ] | ||
+ | }, | ||
+ | "serviceCatalog": [ | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8774/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "id": "1019ab0c4a75458d8eb0943f8f7c351e", | ||
+ | "internalURL": "http://10.1.41.11:8774/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "publicURL": "http://162.242.149.143:8774/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "nova", | ||
+ | "type": "compute" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:9696", | ||
+ | "id": "46bdbe77bcf5422f9e5a7b2f1c33049c", | ||
+ | "internalURL": "http://10.1.41.11:9696", | ||
+ | "publicURL": "http://162.242.149.143:9696", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "neutron", | ||
+ | "type": "network" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8776/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "id": "0358456c01e4448a94b00743f188b5ac", | ||
+ | "internalURL": "http://10.1.41.11:8776/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "publicURL": "http://162.242.149.143:8776/v2/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "cinderv2", | ||
+ | "type": "volumev2" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8774/v3", | ||
+ | "id": "87e6e460ee6045359b8ae7d9d2e7e425", | ||
+ | "internalURL": "http://10.1.41.11:8774/v3", | ||
+ | "publicURL": "http://162.242.149.143:8774/v3", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "novav3", | ||
+ | "type": "computev3" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:3333", | ||
+ | "id": "8770c350bd954b9f9e47b4938ec2c573", | ||
+ | "internalURL": "http://10.1.41.11:3333", | ||
+ | "publicURL": "http://162.242.149.143:3333", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "s3", | ||
+ | "type": "s3" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:9292", | ||
+ | "id": "56697a043f064fe386d1f99aaa0bb1f9", | ||
+ | "internalURL": "http://10.1.41.11:9292", | ||
+ | "publicURL": "http://162.242.149.143:9292", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "glance", | ||
+ | "type": "image" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8000/v1", | ||
+ | "id": "037dcc32e8d14c1a9b6939581abd50a9", | ||
+ | "internalURL": "http://10.1.41.11:8000/v1", | ||
+ | "publicURL": "http://162.242.149.143:8000/v1", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "heat", | ||
+ | "type": "cloudformation" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8776/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "id": "0aea040756854ad7a547855cd11d2e46", | ||
+ | "internalURL": "http://10.1.41.11:8776/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "publicURL": "http://162.242.149.143:8776/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "cinder", | ||
+ | "type": "volume" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8773/services/Admin", | ||
+ | "id": "7c8d97d9dfb4482b9088d6d10b519576", | ||
+ | "internalURL": "http://10.1.41.11:8773/services/Cloud", | ||
+ | "publicURL": "http://162.242.149.143:8773/services/Cloud", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "ec2", | ||
+ | "type": "ec2" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8004/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "id": "1a7ad7dde34e4e1cba5f3e2b7e19e28a", | ||
+ | "internalURL": "http://10.1.41.11:8004/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "publicURL": "http://162.242.149.143:8004/v1/97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "heat", | ||
+ | "type": "orchestration" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "id": "5269c09f81f5464b80fd01731d57e724", | ||
+ | "internalURL": "http://10.1.41.11:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "publicURL": "http://162.242.149.143:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "swift", | ||
+ | "type": "object-store" | ||
+ | }, | ||
+ | { | ||
+ | "endpoints": [ | ||
+ | { | ||
+ | "adminURL": "http://10.1.41.11:35357/v2.0", | ||
+ | "id": "459d21a471b24d259510a738deb0a0f2", | ||
+ | "internalURL": "http://10.1.41.11:5000/v2.0", | ||
+ | "publicURL": "http://162.242.149.143:5000/v2.0", | ||
+ | "region": "RegionOne" | ||
+ | } | ||
+ | ], | ||
+ | "endpoints_links": [], | ||
+ | "name": "keystone", | ||
+ | "type": "identity" | ||
+ | } | ||
+ | ], | ||
+ | "token": { | ||
+ | "audit_ids": [ | ||
+ | "nJF232NbSCeBov8WNIa87Q" | ||
+ | ], | ||
+ | "expires": "2014-12-13T03:17:27Z", | ||
+ | "id": "7cdc3ec5ca654763a5f16aebbe99f92e", | ||
+ | "issued_at": "2014-12-12T15:17:27.378106", | ||
+ | "tenant": { | ||
+ | "description": "Demo Tenant", | ||
+ | "enabled": true, | ||
+ | "id": "97a0d8ffb4e94b638911cb727dea0303", | ||
+ | "name": "demo" | ||
+ | } | ||
+ | }, | ||
+ | "user": { | ||
+ | "id": "bdd2df09640e47888f819057c8e80f04", | ||
+ | "name": "demo", | ||
+ | "roles": [ | ||
+ | { | ||
+ | "name": "_member_" | ||
+ | } | ||
+ | ], | ||
+ | "roles_links": [], | ||
+ | "username": "demo" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
== DevStack == | == DevStack == |
Revision as of 15:19, 12 December 2014
The format of the service catalog needs to be fixed. The de facto standard is currently DevStack. We need to define a proper format for the service catalog.
Contents
Examples From The Wild
Rackspace Public Cloud
{ "access": { "user": { "RAX-AUTH:defaultRegion": "DFW", "name": "useranme", "roles": [ { "name": "checkmate", "description": "Checkmate Access role", "id": "10000150" }, { "name": "object-store:default", "description": "A Role that allows a user access to keystone Service methods", "id": "5", "tenantId": "MossoCloudFS_ID" }, { "name": "compute:default", "description": "A Role that allows a user access to keystone Service methods", "id": "6", "tenantId": "TENANT_ID" }, { "name": "identity:user-admin", "description": "User Admin Role.", "id": "3" } ], "id": "USER_ID" }, "serviceCatalog": [ { "type": "rax:object-cdn", "endpoints": [ { "publicURL": "https://cdn5.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "IAD" }, { "publicURL": "https://cdn4.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "SYD" }, { "publicURL": "https://cdn1.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "DFW" }, { "publicURL": "https://cdn6.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "HKG" }, { "publicURL": "https://cdn2.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "ORD" } ], "name": "cloudFilesCDN" }, { "type": "object-store", "endpoints": [ { "internalURL": "https://snet-storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID", "publicURL": "https://storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "IAD" }, { "internalURL": "https://snet-storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID", "publicURL": "https://storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "SYD" }, { "internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID", "publicURL": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "DFW" }, { "internalURL": "https://snet-storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID", "publicURL": "https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "HKG" }, { "internalURL": "https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID", "publicURL": "https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID", "tenantId": "MossoCloudFS_ID", "region": "ORD" } ], "name": "cloudFiles" }, { "type": "volume", "endpoints": [ { "publicURL": "https://syd.blockstorage.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "publicURL": "https://dfw.blockstorage.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://ord.blockstorage.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://iad.blockstorage.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://hkg.blockstorage.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" } ], "name": "cloudBlockStorage" }, { "type": "image", "endpoints": [ { "publicURL": "https://iad.images.api.rackspacecloud.com/v2", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://ord.images.api.rackspacecloud.com/v2", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://hkg.images.api.rackspacecloud.com/v2", "tenantId": "TENANT_ID", "region": "HKG" }, { "publicURL": "https://dfw.images.api.rackspacecloud.com/v2", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://syd.images.api.rackspacecloud.com/v2", "tenantId": "TENANT_ID", "region": "SYD" } ], "name": "cloudImages" }, { "type": "rax:queues", "endpoints": [ { "internalURL": "https://snet-hkg.queues.api.rackspacecloud.com/v1/TENANT_ID", "publicURL": "https://hkg.queues.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "internalURL": "https://snet-ord.queues.api.rackspacecloud.com/v1/TENANT_ID", "publicURL": "https://ord.queues.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "internalURL": "https://snet-syd.queues.api.rackspacecloud.com/v1/TENANT_ID", "publicURL": "https://syd.queues.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "internalURL": "https://snet-dfw.queues.api.rackspacecloud.com/v1/TENANT_ID", "publicURL": "https://dfw.queues.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "internalURL": "https://snet-iad.queues.api.rackspacecloud.com/v1/TENANT_ID", "publicURL": "https://iad.queues.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" } ], "name": "cloudQueues" }, { "type": "rax:bigdata", "endpoints": [ { "publicURL": "https://iad.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://dfw.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://ord.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" } ], "name": "cloudBigData" }, { "type": "orchestration", "endpoints": [ { "publicURL": "https://hkg.orchestration.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "publicURL": "https://dfw.orchestration.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://ord.orchestration.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://iad.orchestration.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://syd.orchestration.api.rackspacecloud.com/v1/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" } ], "name": "cloudOrchestration" }, { "type": "compute", "endpoints": [ { "versionId": "2", "versionList": "https://syd.servers.api.rackspacecloud.com/", "versionInfo": "https://syd.servers.api.rackspacecloud.com/v2", "publicURL": "https://syd.servers.api.rackspacecloud.com/v2/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "versionId": "2", "versionList": "https://dfw.servers.api.rackspacecloud.com/", "versionInfo": "https://dfw.servers.api.rackspacecloud.com/v2", "publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "versionId": "2", "versionList": "https://iad.servers.api.rackspacecloud.com/", "versionInfo": "https://iad.servers.api.rackspacecloud.com/v2", "publicURL": "https://iad.servers.api.rackspacecloud.com/v2/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "versionId": "2", "versionList": "https://hkg.servers.api.rackspacecloud.com/", "versionInfo": "https://hkg.servers.api.rackspacecloud.com/v2", "publicURL": "https://hkg.servers.api.rackspacecloud.com/v2/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "versionId": "2", "versionList": "https://ord.servers.api.rackspacecloud.com/", "versionInfo": "https://ord.servers.api.rackspacecloud.com/v2", "publicURL": "https://ord.servers.api.rackspacecloud.com/v2/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" } ], "name": "cloudServersOpenStack" }, { "type": "rax:autoscale", "endpoints": [ { "publicURL": "https://ord.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://hkg.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "publicURL": "https://iad.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://syd.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" } ], "name": "autoscale" }, { "type": "rax:database", "endpoints": [ { "publicURL": "https://syd.databases.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://iad.databases.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://hkg.databases.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" } ], "name": "cloudDatabases" }, { "type": "rax:backup", "endpoints": [ { "publicURL": "https://iad.backup.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://hkg.backup.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "publicURL": "https://syd.backup.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "publicURL": "https://dfw.backup.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://ord.backup.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" } ], "name": "cloudBackup" }, { "type": "network", "endpoints": [ { "publicURL": "https://iad.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://lon.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "LON" }, { "publicURL": "https://ord.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://syd.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "SYD" }, { "publicURL": "https://dfw.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "DFW" }, { "publicURL": "https://hkg.networks.api.rackspacecloud.com/v2.0", "tenantId": "TENANT_ID", "region": "HKG" } ], "name": "cloudNetworks" }, { "type": "rax:cloudmetrics", "endpoints": [ { "publicURL": "https://global.metrics.api.rackspacecloud.com/v2.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" } ], "name": "cloudMetrics" }, { "type": "rax:load-balancer", "endpoints": [ { "publicURL": "https://syd.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "publicURL": "https://iad.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "publicURL": "https://ord.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" }, { "publicURL": "https://hkg.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "publicURL": "https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" } ], "name": "cloudLoadBalancers" }, { "type": "rax:feeds", "endpoints": [ { "internalURL": "https://atom.prod.hkg1.us.ci.rackspace.net/TENANT_ID", "publicURL": "https://hkg.feeds.api.rackspacecloud.com/TENANT_ID", "tenantId": "TENANT_ID", "region": "HKG" }, { "internalURL": "https://atom.prod.syd2.us.ci.rackspace.net/TENANT_ID", "publicURL": "https://syd.feeds.api.rackspacecloud.com/TENANT_ID", "tenantId": "TENANT_ID", "region": "SYD" }, { "internalURL": "https://atom.prod.iad3.us.ci.rackspace.net/TENANT_ID", "publicURL": "https://iad.feeds.api.rackspacecloud.com/TENANT_ID", "tenantId": "TENANT_ID", "region": "IAD" }, { "internalURL": "https://atom.prod.dfw1.us.ci.rackspace.net/TENANT_ID", "publicURL": "https://dfw.feeds.api.rackspacecloud.com/TENANT_ID", "tenantId": "TENANT_ID", "region": "DFW" }, { "internalURL": "https://atom.prod.ord1.us.ci.rackspace.net/TENANT_ID", "publicURL": "https://ord.feeds.api.rackspacecloud.com/TENANT_ID", "tenantId": "TENANT_ID", "region": "ORD" } ], "name": "cloudFeeds" }, { "type": "rax:monitor", "endpoints": [ { "publicURL": "https://monitoring.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID" } ], "name": "cloudMonitoring" }, { "type": "rax:dns", "endpoints": [ { "publicURL": "https://dns.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID" } ], "name": "cloudDNS" }, { "type": "compute", "endpoints": [ { "versionId": "1.0", "versionList": "https://servers.api.rackspacecloud.com/", "versionInfo": "https://servers.api.rackspacecloud.com/v1.0", "publicURL": "https://servers.api.rackspacecloud.com/v1.0/TENANT_ID", "tenantId": "TENANT_ID" } ], "name": "cloudServers" } ], "token": { "RAX-AUTH:authenticatedBy": [ "PASSWORD" ], "tenant": { "name": "TENANT_ID", "id": "TENANT_ID" }, "expires": "2014-12-11T03:26:57.420Z", "id": "TOKEN_ID" } } }
HP Public Cloud
Rackspace Private Cloud
{ "access": { "metadata": { "is_admin": 0, "roles": [ "9fe2ff9ee4384b1894a90878d3e92bab" ] }, "serviceCatalog": [ { "endpoints": [ { "adminURL": "http://10.1.41.11:8774/v2/97a0d8ffb4e94b638911cb727dea0303", "id": "1019ab0c4a75458d8eb0943f8f7c351e", "internalURL": "http://10.1.41.11:8774/v2/97a0d8ffb4e94b638911cb727dea0303", "publicURL": "http://162.242.149.143:8774/v2/97a0d8ffb4e94b638911cb727dea0303", "region": "RegionOne" } ], "endpoints_links": [], "name": "nova", "type": "compute" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:9696", "id": "46bdbe77bcf5422f9e5a7b2f1c33049c", "internalURL": "http://10.1.41.11:9696", "publicURL": "http://162.242.149.143:9696", "region": "RegionOne" } ], "endpoints_links": [], "name": "neutron", "type": "network" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8776/v2/97a0d8ffb4e94b638911cb727dea0303", "id": "0358456c01e4448a94b00743f188b5ac", "internalURL": "http://10.1.41.11:8776/v2/97a0d8ffb4e94b638911cb727dea0303", "publicURL": "http://162.242.149.143:8776/v2/97a0d8ffb4e94b638911cb727dea0303", "region": "RegionOne" } ], "endpoints_links": [], "name": "cinderv2", "type": "volumev2" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8774/v3", "id": "87e6e460ee6045359b8ae7d9d2e7e425", "internalURL": "http://10.1.41.11:8774/v3", "publicURL": "http://162.242.149.143:8774/v3", "region": "RegionOne" } ], "endpoints_links": [], "name": "novav3", "type": "computev3" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:3333", "id": "8770c350bd954b9f9e47b4938ec2c573", "internalURL": "http://10.1.41.11:3333", "publicURL": "http://162.242.149.143:3333", "region": "RegionOne" } ], "endpoints_links": [], "name": "s3", "type": "s3" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:9292", "id": "56697a043f064fe386d1f99aaa0bb1f9", "internalURL": "http://10.1.41.11:9292", "publicURL": "http://162.242.149.143:9292", "region": "RegionOne" } ], "endpoints_links": [], "name": "glance", "type": "image" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8000/v1", "id": "037dcc32e8d14c1a9b6939581abd50a9", "internalURL": "http://10.1.41.11:8000/v1", "publicURL": "http://162.242.149.143:8000/v1", "region": "RegionOne" } ], "endpoints_links": [], "name": "heat", "type": "cloudformation" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8776/v1/97a0d8ffb4e94b638911cb727dea0303", "id": "0aea040756854ad7a547855cd11d2e46", "internalURL": "http://10.1.41.11:8776/v1/97a0d8ffb4e94b638911cb727dea0303", "publicURL": "http://162.242.149.143:8776/v1/97a0d8ffb4e94b638911cb727dea0303", "region": "RegionOne" } ], "endpoints_links": [], "name": "cinder", "type": "volume" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8773/services/Admin", "id": "7c8d97d9dfb4482b9088d6d10b519576", "internalURL": "http://10.1.41.11:8773/services/Cloud", "publicURL": "http://162.242.149.143:8773/services/Cloud", "region": "RegionOne" } ], "endpoints_links": [], "name": "ec2", "type": "ec2" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8004/v1/97a0d8ffb4e94b638911cb727dea0303", "id": "1a7ad7dde34e4e1cba5f3e2b7e19e28a", "internalURL": "http://10.1.41.11:8004/v1/97a0d8ffb4e94b638911cb727dea0303", "publicURL": "http://162.242.149.143:8004/v1/97a0d8ffb4e94b638911cb727dea0303", "region": "RegionOne" } ], "endpoints_links": [], "name": "heat", "type": "orchestration" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", "id": "5269c09f81f5464b80fd01731d57e724", "internalURL": "http://10.1.41.11:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", "publicURL": "http://162.242.149.143:8888/v1/AUTH_97a0d8ffb4e94b638911cb727dea0303", "region": "RegionOne" } ], "endpoints_links": [], "name": "swift", "type": "object-store" }, { "endpoints": [ { "adminURL": "http://10.1.41.11:35357/v2.0", "id": "459d21a471b24d259510a738deb0a0f2", "internalURL": "http://10.1.41.11:5000/v2.0", "publicURL": "http://162.242.149.143:5000/v2.0", "region": "RegionOne" } ], "endpoints_links": [], "name": "keystone", "type": "identity" } ], "token": { "audit_ids": [ "nJF232NbSCeBov8WNIa87Q" ], "expires": "2014-12-13T03:17:27Z", "id": "7cdc3ec5ca654763a5f16aebbe99f92e", "issued_at": "2014-12-12T15:17:27.378106", "tenant": { "description": "Demo Tenant", "enabled": true, "id": "97a0d8ffb4e94b638911cb727dea0303", "name": "demo" } }, "user": { "id": "bdd2df09640e47888f819057c8e80f04", "name": "demo", "roles": [ { "name": "_member_" } ], "roles_links": [], "username": "demo" } } }
DevStack
RDO
Mirantis
Outstanding Questions
- How are entry points currently done for all the services?
- How are versions currently done for all the services?
- Why are Name and Type both needed?
- Which of Name and Type are guaranteed to be unique?
- Does there need to be a top-level "access" property?