Jump to: navigation, search

Difference between revisions of "API Special Interest Group/Current Design/Service Catalog"

(TODO Analysis)
(Mirantis: Adds example from Fuel6.0)
Line 1,821: Line 1,821:
  
 
== Mirantis ==
 
== Mirantis ==
 +
<pre>
 +
<nowiki>
  
TODO
+
{
 +
    "token": {
 +
        "audit_ids": [
 +
            "FX6n5O9sQKWQtNOe23NTZQ"
 +
        ],
 +
        "catalog": [
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "577a63961da14f6eb4432d94e763b8a1",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8000/v1/"
 +
                    },
 +
                    {
 +
                        "id": "ce97de7ad0224423b6a2cbe768a1d1ea",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8000/v1/"
 +
                    },
 +
                    {
 +
                        "id": "e6c48c3e5f0b4cbd892c82af5fc65912",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8000/v1/"
 +
                    }
 +
                ],
 +
                "id": "18b84d8582af4cf59ed6da2ba59674d2",
 +
                "name": "heat-cfn",
 +
                "type": "cloudformation"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "4afcbc0ac97a4552811f6c4691a0eb77",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8004/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "8e3d658fe4844d5c99da17fe9a3e96d2",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8004/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "a2bc7cc9182a444580d4914be338fa02",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8004/v1/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "24cbda6a20bb457db467cba6aedf11af",
 +
                "name": "heat",
 +
                "type": "orchestration"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "309a844d88fa42d1aa975791b4114e74",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8082/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "5634ddbc1f2d42ea976051aee95ed756",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8082/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "d8af87d6f0ac4f93ba58a3d319fe8c57",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8082/v1/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "2aa5c744dcc247e6a8b6e840b136fa1e",
 +
                "name": "murano",
 +
                "type": "application_catalog"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "4b981f96ed8a43989cfb4e434529ffc7",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8774/v2/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "74c76dfa5e3743d9b7ac2f9299b11840",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8774/v2/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "a08a11d5bb164c3794ac873eac162b23",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8774/v2/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "3b3ae54102fa4d34beffe51b4db3ad15",
 +
                "name": "nova",
 +
                "type": "compute"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "1821d35359344f6996c7f10a807be5d3",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:9696/"
 +
                    },
 +
                    {
 +
                        "id": "984b6c061884401986c8e4c604d7356f",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:9696/"
 +
                    },
 +
                    {
 +
                        "id": "e4a91e0b49aa4ba78e4ccb0358b32fb6",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:9696/"
 +
                    }
 +
                ],
 +
                "id": "60df221820154c29be1140274c33c219",
 +
                "name": "neutron",
 +
                "type": "network"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "15211604d90841bf96679323c8b25af4",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8386/v1.1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "75adb6a889d147f4a97bfd3dc556d729",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8386/v1.1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "b6ffe98c49d847e5a53f2392f3414458",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8386/v1.1/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "c3742f84133b4f8fbce23dad6cc57559",
 +
                "name": "sahara",
 +
                "type": "data_processing"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "1f1d7a8ec3f24fb08f76965f4102921b",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8776/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "636091d3f8ec451691a75d3fceb08b0a",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8776/v1/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "b1c81c58506e43528ff429f410433d36",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8776/v1/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "d10abaf386504ceaa701c8062a928910",
 +
                "name": "cinder",
 +
                "type": "volume"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "101ec5284409478d909001ca5b4dd9f6",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8777"
 +
                    },
 +
                    {
 +
                        "id": "27fcbb60c89c4eb28f29914dad9be2ba",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8777"
 +
                    },
 +
                    {
 +
                        "id": "950e48433f3f4e4d8a9be838324ab789",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8777"
 +
                    }
 +
                ],
 +
                "id": "d5c4f950bcc1443ebc2388db84d0452a",
 +
                "name": "ceilometer",
 +
                "type": "metering"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "1de7aa2f22b04e46b5745e247a3f246d",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:35357/v2.0"
 +
                    },
 +
                    {
 +
                        "id": "c767db5deda744a2afd09dca25d55299",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:5000/v2.0"
 +
                    },
 +
                    {
 +
                        "id": "d130f80e1d6e4c41ab59402bd78e7d5e",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:5000/v2.0"
 +
                    }
 +
                ],
 +
                "id": "d9fbe89865dc4b46b048dd9f4e85f7bc",
 +
                "name": "keystone",
 +
                "type": "identity"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "9a4f7e83f83a4fab8882a9052a99aaa6",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8776/v2/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "9f969d68f9c14a318147e537b5d52f8c",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8776/v2/dd680c8589204dbcb47b70e193684756"
 +
                    },
 +
                    {
 +
                        "id": "c9cafb56ebb941f58e5532a35f7349bf",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8776/v2/dd680c8589204dbcb47b70e193684756"
 +
                    }
 +
                ],
 +
                "id": "f2fb1a76fee84a03b533d5d8c0f9e026",
 +
                "name": "cinderv2",
 +
                "type": "volumev2"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "1a17def92acc4497a3dd8b321de048e1",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:9292"
 +
                    },
 +
                    {
 +
                        "id": "57e8c499dd8c4795b0eb341c1a939805",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:9292"
 +
                    },
 +
                    {
 +
                        "id": "c70aa7adc9f74e4dbbd6406c46a7c93a",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:9292"
 +
                    }
 +
                ],
 +
                "id": "fa7cfc68eb3f407e849b2565c9f0692a",
 +
                "name": "glance",
 +
                "type": "image"
 +
            },
 +
            {
 +
                "endpoints": [
 +
                    {
 +
                        "id": "07e7ab807c724e05b3c22790350bb4c4",
 +
                        "interface": "public",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://172.16.0.3:8773/services/Cloud"
 +
                    },
 +
                    {
 +
                        "id": "4fca8d5e3a3346919607bbd42959c0cd",
 +
                        "interface": "admin",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8773/services/Admin"
 +
                    },
 +
                    {
 +
                        "id": "5c14f0f9053544bfa0832be4f84d0519",
 +
                        "interface": "internal",
 +
                        "region": "RegionOne",
 +
                        "region_id": "RegionOne",
 +
                        "url": "http://192.168.0.4:8773/services/Cloud"
 +
                    }
 +
                ],
 +
                "id": "fe6e2d14747440e4956279d0580e3b63",
 +
                "name": "nova_ec2",
 +
                "type": "ec2"
 +
            }
 +
        ],
 +
        "expires_at": "2014-12-18T20:29:26.854014Z",
 +
        "extras": {},
 +
        "issued_at": "2014-12-18T19:29:26.854045Z",
 +
        "methods": [
 +
            "password"
 +
        ],
 +
        "project": {
 +
            "domain": {
 +
                "id": "default",
 +
                "name": "Default"
 +
            },
 +
            "id": "dd680c8589204dbcb47b70e193684756",
 +
            "name": "admin"
 +
        },
 +
        "roles": [
 +
            {
 +
                "id": "324ea0969ade46a68ee0918f51a79c36",
 +
                "name": "admin"
 +
            }
 +
        ],
 +
        "user": {
 +
            "domain": {
 +
                "id": "default",
 +
                "name": "Default"
 +
            },
 +
            "id": "5db32bbdb4ba419b9e0c8dfe5188439d",
 +
            "name": "admin"
 +
        }
 +
    }
 +
}
 +
 
 +
</nowiki></pre>
  
 
= Outstanding Questions =
 
= Outstanding Questions =

Revision as of 18:09, 22 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.

Analysis

TODO

  • What keys are common?
  • What values are common?
  • What ranges do the values take?
  • What services have a version in the URL?
  • Are ports used everywhere?
  • ...

Current Design

TryStack (RDO)

{
  "access": {
    "metadata": {
      "is_admin": 0,
      "roles": [
        "9fe2ff9ee4384b1894a90878d3e92bab"
      ]
    },
    "serviceCatalog": [
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8774/v2/TENANT_ID",
            "id": "0eb78b6d3f644438aea327d9c57b7b5a",
            "internalURL": "http://10.100.0.222:8774/v2/TENANT_ID",
            "publicURL": "http://8.21.28.222:8774/v2/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "nova",
        "type": "compute"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:9696/",
            "id": "3f4b6015a2f9481481ca03dace8acf32",
            "internalURL": "http://10.100.0.222:9696/",
            "publicURL": "http://8.21.28.222:9696/",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "neutron",
        "type": "network"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8776/v2/TENANT_ID",
            "id": "16f6416588f64946bdcdf4a431a8f252",
            "internalURL": "http://10.100.0.222:8776/v2/TENANT_ID",
            "publicURL": "http://8.21.28.222:8776/v2/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "cinder_v2",
        "type": "volumev2"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8779/v1.0/TENANT_ID",
            "id": "be48765ae31e425cb06036b1ebab694a",
            "internalURL": "http://10.100.0.222:8779/v1.0/TENANT_ID",
            "publicURL": "http://8.21.28.222:8779/v1.0/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "trove",
        "type": "database"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:9292",
            "id": "1adfcb5414304f3596fb81edb2dfb514",
            "internalURL": "http://10.100.0.222:9292",
            "publicURL": "http://8.21.28.222:9292",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "glance",
        "type": "image"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8774/v3",
            "id": "14187733d29845e5993d9b4e0f2df4fc",
            "internalURL": "http://10.100.0.222:8774/v3",
            "publicURL": "http://8.21.28.222:8774/v3",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "novav3",
        "type": "computev3"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8777",
            "id": "350f3b91d73f4b3ab8a061c94ac31fbb",
            "internalURL": "http://10.100.0.222:8777",
            "publicURL": "http://8.21.28.222:8777",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "ceilometer",
        "type": "metering"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8000/v1/",
            "id": "2198b0d32a604e75a5cc1e13276a813d",
            "internalURL": "http://10.100.0.222:8000/v1/",
            "publicURL": "http://8.21.28.222:8000/v1/",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "heat-cfn",
        "type": "cloudformation"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8776/v1/TENANT_ID",
            "id": "7c193c4683d849ca8e8db493722a4d8c",
            "internalURL": "http://10.100.0.222:8776/v1/TENANT_ID",
            "publicURL": "http://8.21.28.222:8776/v1/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "cinder",
        "type": "volume"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8773/services/Admin",
            "id": "11fac8254be74d7d906110f0069e5748",
            "internalURL": "http://10.100.0.222:8773/services/Cloud",
            "publicURL": "http://8.21.28.222:8773/services/Cloud",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "nova_ec2",
        "type": "ec2"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:8004/v1/TENANT_ID",
            "id": "38fa4f9afce34d4ca0f5e0f90fd758dd",
            "internalURL": "http://10.100.0.222:8004/v1/TENANT_ID",
            "publicURL": "http://8.21.28.222:8004/v1/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "heat",
        "type": "orchestration"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://10.100.0.222:35357/v2.0",
            "id": "256cdf78ecb04051bf0f57ec11070222",
            "internalURL": "http://10.100.0.222:5000/v2.0",
            "publicURL": "http://8.21.28.222:5000/v2.0",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "keystone",
        "type": "identity"
      }
    ],
    "token": {
      "audit_ids": [
        "gsjrNoqFSQeuLUo0QeJprQ"
      ],
      "expires": "2014-12-15T15:09:29Z",
      "id": "TOKEN_ID",
      "issued_at": "2014-12-15T14:09:29.794527",
      "tenant": {
        "description": "Auto created account",
        "enabled": true,
        "id": "TENANT_ID",
        "name": "USERNAME"
      }
    },
    "user": {
      "id": "USER_ID",
      "name": "USERNAME",
      "roles": [
        {
          "name": "_member_"
        }
      ],
      "roles_links": [],
      "username": "USERNAME"
    }
  }
}

Rackspace Public Cloud

{
  "access": {
    "serviceCatalog": [
      {
        "endpoints": [
          {
            "publicURL": "https://cdn5.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "IAD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn4.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "SYD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "DFW",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn6.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "HKG",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn2.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "ORD",
            "tenantId": "MossoCloudFS_ID"
          }
        ],
        "name": "cloudFilesCDN",
        "type": "rax:object-cdn"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://snet-storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "IAD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "SYD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "DFW",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "HKG",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "ORD",
            "tenantId": "MossoCloudFS_ID"
          }
        ],
        "name": "cloudFiles",
        "type": "object-store"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBlockStorage",
        "type": "volume"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.images.api.rackspacecloud.com/v2",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.images.api.rackspacecloud.com/v2",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.images.api.rackspacecloud.com/v2",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.images.api.rackspacecloud.com/v2",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.images.api.rackspacecloud.com/v2",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudImages",
        "type": "image"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://snet-hkg.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://hkg.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-ord.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://ord.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-syd.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://syd.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-dfw.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://dfw.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-iad.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://iad.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudQueues",
        "type": "rax:queues"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBigData",
        "type": "rax:bigdata"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://hkg.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudOrchestration",
        "type": "orchestration"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://syd.servers.api.rackspacecloud.com/v2",
            "versionList": "https://syd.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://dfw.servers.api.rackspacecloud.com/v2",
            "versionList": "https://dfw.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://iad.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://iad.servers.api.rackspacecloud.com/v2",
            "versionList": "https://iad.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://hkg.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://hkg.servers.api.rackspacecloud.com/v2",
            "versionList": "https://hkg.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://ord.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://ord.servers.api.rackspacecloud.com/v2",
            "versionList": "https://ord.servers.api.rackspacecloud.com/"
          }
        ],
        "name": "cloudServersOpenStack",
        "type": "compute"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://ord.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "autoscale",
        "type": "rax:autoscale"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudDatabases",
        "type": "rax:database"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBackup",
        "type": "rax:backup"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.networks.api.rackspacecloud.com/v2.0",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://lon.networks.api.rackspacecloud.com/v2.0",
            "region": "LON",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.networks.api.rackspacecloud.com/v2.0",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.networks.api.rackspacecloud.com/v2.0",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.networks.api.rackspacecloud.com/v2.0",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.networks.api.rackspacecloud.com/v2.0",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudNetworks",
        "type": "network"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://global.metrics.api.rackspacecloud.com/v2.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudMetrics",
        "type": "rax:cloudmetrics"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudLoadBalancers",
        "type": "rax:load-balancer"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://atom.prod.hkg1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://hkg.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.syd2.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://syd.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.iad3.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://iad.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.dfw1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://dfw.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.ord1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://ord.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudFeeds",
        "type": "rax:feeds"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://monitoring.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudMonitoring",
        "type": "rax:monitor"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://dns.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudDNS",
        "type": "rax:dns"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://servers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://servers.api.rackspacecloud.com/v1.0",
            "versionList": "https://servers.api.rackspacecloud.com/"
          }
        ],
        "name": "cloudServers",
        "type": "compute"
      }
    ],
    "token": {
      "RAX-AUTH:authenticatedBy": [
        "PASSWORD"
      ],
      "expires": "2014-12-11T03:26:57.420Z",
      "id": "TOKEN_ID",
      "tenant": {
        "id": "TENANT_ID",
        "name": "TENANT_ID"
      }
    },
    "user": {
      "RAX-AUTH:defaultRegion": "DFW",
      "id": "USER_ID",
      "name": "useranme",
      "roles": [
        {
          "description": "Checkmate Access role",
          "id": "10000150",
          "name": "checkmate"
        },
        {
          "description": "A Role that allows a user access to keystone Service methods",
          "id": "5",
          "name": "object-store:default",
          "tenantId": "MossoCloudFS_ID"
        },
        {
          "description": "A Role that allows a user access to keystone Service methods",
          "id": "6",
          "name": "compute:default",
          "tenantId": "TENANT_ID"
        },
        {
          "description": "User Admin Role.",
          "id": "3",
          "name": "identity:user-admin"
        }
      ]
    }
  }
}

HP Public Cloud

{
  "access": {
    "serviceCatalog": [
      {
        "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": "Identity",
        "type": "identity"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/TENANT_ID",
            "publicURL2": "https://az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud",
            "region": "az-1.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "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"
          },
          {
            "publicURL": "https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/TENANT_ID",
            "publicURL2": "https://az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud",
            "region": "az-2.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "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": [
          {
            "publicURL": "",
            "publicURL2": "",
            "region": "az-1.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "",
            "versionInfo": "",
            "versionList": ""
          },
          {
            "publicURL": "",
            "publicURL2": "",
            "region": "az-2.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "",
            "versionInfo": "",
            "versionList": ""
          }
        ],
        "name": "Networking",
        "type": "network"
      },
      {
        "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": "Usage Reporting",
        "type": "metering"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://region-a.geo-1.objects.hpcloudsvc.com/v1/TENANT_ID",
            "region": "region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://region-a.geo-1.objects.hpcloudsvc.com/v1.0/",
            "versionList": "https://region-a.geo-1.objects.hpcloudsvc.com"
          }
        ],
        "name": "Object Storage",
        "type": "object-store"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/TENANT_ID",
            "publicURL2": "",
            "region": "az-1.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "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"
          },
          {
            "publicURL": "https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/TENANT_ID",
            "publicURL2": "",
            "region": "az-2.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "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": "Block Storage",
        "type": "volume"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/TENANT_ID",
            "region": "region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/v1.0/",
            "versionList": "https://region-a.geo-1.cdnmgmt.hpcloudsvc.com/"
          }
        ],
        "name": "CDN",
        "type": "hpext:cdn"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://glance1.uswest.hpcloud.net:9292/v1.0",
            "publicURL2": "",
            "region": "az-1.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://glance1.uswest.hpcloud.net:9292/v1.0/",
            "versionList": "https://glance1.uswest.hpcloud.net:9292"
          },
          {
            "publicURL": "https://glance2.uswest.hpcloud.net:9292/v1.0",
            "publicURL2": "",
            "region": "az-2.region-a.geo-1",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://glance2.uswest.hpcloud.net:9292/v1.0/",
            "versionList": "https://glance2.uswest.hpcloud.net:9292"
          }
        ],
        "name": "Image Management",
        "type": "image"
      }
    ],
    "token": {
      "expires": "2014-12-15T03:15:25.438Z",
      "id": "TOKEN_ID",
      "tenant": {
        "id": "TENANT_ID",
        "name": "TOKEN_NAME"
      }
    },
    "user": {
      "id": "USER_ID",
      "name": "USER_NAME",
      "otherAttributes": {
        "domainStatus": "enabled",
        "domainStatusCode": "00"
      },
      "roles": [
        {
          "id": "00000000004003",
          "name": "domainadmin",
          "serviceId": "100"
        },
        {
          "id": "00000000004014",
          "name": "cdn-admin",
          "serviceId": "150",
          "tenantId": "TENANT_ID"
        },
        {
          "id": "00000000004025",
          "name": "sysadmin",
          "serviceId": "120",
          "tenantId": "TENANT_ID"
        },
        {
          "id": "00000000004022",
          "name": "Admin",
          "serviceId": "110",
          "tenantId": "TENANT_ID"
        },
        {
          "id": "00000000004004",
          "name": "domainuser",
          "serviceId": "100"
        },
        {
          "id": "00000000004016",
          "name": "netadmin",
          "serviceId": "120",
          "tenantId": "TENANT_ID"
        },
        {
          "id": "00000000004024",
          "name": "user",
          "serviceId": "140",
          "tenantId": "TENANT_ID"
        },
        {
          "id": "00000000004013",
          "name": "block-admin",
          "serviceId": "130",
          "tenantId": "TENANT_ID"
        }
      ]
    }
  }
}

Rackspace Private Cloud

{
  "access": {
    "serviceCatalog": [
      {
        "endpoints": [
          {
            "publicURL": "https://cdn5.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "IAD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn4.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "SYD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "DFW",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn6.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "HKG",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "publicURL": "https://cdn2.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "ORD",
            "tenantId": "MossoCloudFS_ID"
          }
        ],
        "name": "cloudFilesCDN",
        "type": "rax:object-cdn"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://snet-storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.iad3.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "IAD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.syd2.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "SYD",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "DFW",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "HKG",
            "tenantId": "MossoCloudFS_ID"
          },
          {
            "internalURL": "https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID",
            "publicURL": "https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_ID",
            "region": "ORD",
            "tenantId": "MossoCloudFS_ID"
          }
        ],
        "name": "cloudFiles",
        "type": "object-store"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.blockstorage.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBlockStorage",
        "type": "volume"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.images.api.rackspacecloud.com/v2",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.images.api.rackspacecloud.com/v2",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.images.api.rackspacecloud.com/v2",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.images.api.rackspacecloud.com/v2",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.images.api.rackspacecloud.com/v2",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudImages",
        "type": "image"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://snet-hkg.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://hkg.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-ord.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://ord.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-syd.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://syd.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-dfw.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://dfw.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://snet-iad.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "publicURL": "https://iad.queues.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudQueues",
        "type": "rax:queues"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.bigdata.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBigData",
        "type": "rax:bigdata"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://hkg.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.orchestration.api.rackspacecloud.com/v1/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudOrchestration",
        "type": "orchestration"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://syd.servers.api.rackspacecloud.com/v2",
            "versionList": "https://syd.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://dfw.servers.api.rackspacecloud.com/v2",
            "versionList": "https://dfw.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://iad.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://iad.servers.api.rackspacecloud.com/v2",
            "versionList": "https://iad.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://hkg.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://hkg.servers.api.rackspacecloud.com/v2",
            "versionList": "https://hkg.servers.api.rackspacecloud.com/"
          },
          {
            "publicURL": "https://ord.servers.api.rackspacecloud.com/v2/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID",
            "versionId": "2",
            "versionInfo": "https://ord.servers.api.rackspacecloud.com/v2",
            "versionList": "https://ord.servers.api.rackspacecloud.com/"
          }
        ],
        "name": "cloudServersOpenStack",
        "type": "compute"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://ord.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.autoscale.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "autoscale",
        "type": "rax:autoscale"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.databases.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudDatabases",
        "type": "rax:database"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.backup.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudBackup",
        "type": "rax:backup"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://iad.networks.api.rackspacecloud.com/v2.0",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://lon.networks.api.rackspacecloud.com/v2.0",
            "region": "LON",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.networks.api.rackspacecloud.com/v2.0",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://syd.networks.api.rackspacecloud.com/v2.0",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.networks.api.rackspacecloud.com/v2.0",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.networks.api.rackspacecloud.com/v2.0",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudNetworks",
        "type": "network"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://global.metrics.api.rackspacecloud.com/v2.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudMetrics",
        "type": "rax:cloudmetrics"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://syd.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://iad.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://ord.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://hkg.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "publicURL": "https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudLoadBalancers",
        "type": "rax:load-balancer"
      },
      {
        "endpoints": [
          {
            "internalURL": "https://atom.prod.hkg1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://hkg.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "HKG",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.syd2.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://syd.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "SYD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.iad3.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://iad.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "IAD",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.dfw1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://dfw.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "DFW",
            "tenantId": "TENANT_ID"
          },
          {
            "internalURL": "https://atom.prod.ord1.us.ci.rackspace.net/TENANT_ID",
            "publicURL": "https://ord.feeds.api.rackspacecloud.com/TENANT_ID",
            "region": "ORD",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudFeeds",
        "type": "rax:feeds"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://monitoring.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudMonitoring",
        "type": "rax:monitor"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://dns.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID"
          }
        ],
        "name": "cloudDNS",
        "type": "rax:dns"
      },
      {
        "endpoints": [
          {
            "publicURL": "https://servers.api.rackspacecloud.com/v1.0/TENANT_ID",
            "tenantId": "TENANT_ID",
            "versionId": "1.0",
            "versionInfo": "https://servers.api.rackspacecloud.com/v1.0",
            "versionList": "https://servers.api.rackspacecloud.com/"
          }
        ],
        "name": "cloudServers",
        "type": "compute"
      }
    ],
    "token": {
      "RAX-AUTH:authenticatedBy": [
        "PASSWORD"
      ],
      "expires": "2014-12-11T03:26:57.420Z",
      "id": "TOKEN_ID",
      "tenant": {
        "id": "TENANT_ID",
        "name": "TENANT_ID"
      }
    },
    "user": {
      "RAX-AUTH:defaultRegion": "DFW",
      "id": "USER_ID",
      "name": "useranme",
      "roles": [
        {
          "description": "Checkmate Access role",
          "id": "10000150",
          "name": "checkmate"
        },
        {
          "description": "A Role that allows a user access to keystone Service methods",
          "id": "5",
          "name": "object-store:default",
          "tenantId": "MossoCloudFS_ID"
        },
        {
          "description": "A Role that allows a user access to keystone Service methods",
          "id": "6",
          "name": "compute:default",
          "tenantId": "TENANT_ID"
        },
        {
          "description": "User Admin Role.",
          "id": "3",
          "name": "identity:user-admin"
        }
      ]
    }
  }
}

DevStack

{
  "access": {
    "metadata": {
      "is_admin": 0,
      "roles": [
        "b4b435b99d7846048a27a32b8ebcea89",
        "9fe2ff9ee4384b1894a90878d3e92bab",
        "e026698b534844e8829e11d55e3a745c",
        "d42cb0c16b23461d971df41c843192b5"
      ]
    },
    "serviceCatalog": [
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8004/v1/TENANT_ID",
            "id": "249083e367a242e5bde5833805d0ec96",
            "internalURL": "http://111.222.333.444:8004/v1/TENANT_ID",
            "publicURL": "http://111.222.333.444:8004/v1/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "heat",
        "type": "orchestration"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8774/v2/TENANT_ID",
            "id": "483b2f0455df450ba49a992ab078e0eb",
            "internalURL": "http://111.222.333.444:8774/v2/TENANT_ID",
            "publicURL": "http://111.222.333.444:8774/v2/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "nova",
        "type": "compute"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:9696/",
            "id": "33b6fbc1b4f247038c159cda2c202429",
            "internalURL": "http://111.222.333.444:9696/",
            "publicURL": "http://111.222.333.444:9696/",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "neutron",
        "type": "network"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8776/v2/TENANT_ID",
            "id": "08f5f43c145c4552b81e58e81e7fa563",
            "internalURL": "http://111.222.333.444:8776/v2/TENANT_ID",
            "publicURL": "http://111.222.333.444:8776/v2/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "cinderv2",
        "type": "volumev2"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8779/v1.0/TENANT_ID",
            "id": "3c09e566901b4adf9c76bd115c2b3da5",
            "internalURL": "http://111.222.333.444:8779/v1.0/TENANT_ID",
            "publicURL": "http://111.222.333.444:8779/v1.0/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "trove",
        "type": "database"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:3333",
            "id": "0dc5ba19c56a4136b3a64f35787557fc",
            "internalURL": "http://111.222.333.444:3333",
            "publicURL": "http://111.222.333.444:3333",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "s3",
        "type": "s3"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:9292",
            "id": "a90b1081ec4e4c89bf785de88ba4c821",
            "internalURL": "http://111.222.333.444:9292",
            "publicURL": "http://111.222.333.444:9292",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "glance",
        "type": "image"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8000/v1",
            "id": "1ea607dab4fa4c2c9f5ab7e9cba48cc7",
            "internalURL": "http://111.222.333.444:8000/v1",
            "publicURL": "http://111.222.333.444:8000/v1",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "heat-cfn",
        "type": "cloudformation"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8776/v1/TENANT_ID",
            "id": "74e3e4245a1848a5bc8933775165711d",
            "internalURL": "http://111.222.333.444:8776/v1/TENANT_ID",
            "publicURL": "http://111.222.333.444:8776/v1/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "cinder",
        "type": "volume"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8773/services/Admin",
            "id": "718512c34d264188ba06deb48e86cd2d",
            "internalURL": "http://111.222.333.444:8773/services/Cloud",
            "publicURL": "http://111.222.333.444:8773/services/Cloud",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "ec2",
        "type": "ec2"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8774/v2.1/TENANT_ID",
            "id": "5671f9e9789f49188184b5b1d6cd2d0d",
            "internalURL": "http://111.222.333.444:8774/v2.1/TENANT_ID",
            "publicURL": "http://111.222.333.444:8774/v2.1/TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "novav21",
        "type": "computev21"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:8080",
            "id": "64117a0362294a2488f4e0b2e82d2391",
            "internalURL": "http://111.222.333.444:8080/v1/AUTH_TENANT_ID",
            "publicURL": "http://111.222.333.444:8080/v1/AUTH_TENANT_ID",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "swift",
        "type": "object-store"
      },
      {
        "endpoints": [
          {
            "adminURL": "http://111.222.333.444:35357/v2.0",
            "id": "1fbdedef18064304954ef0cb439949d6",
            "internalURL": "http://111.222.333.444:5000/v2.0",
            "publicURL": "http://111.222.333.444:5000/v2.0",
            "region": "RegionOne"
          }
        ],
        "endpoints_links": [],
        "name": "keystone",
        "type": "identity"
      }
    ],
    "token": {
      "audit_ids": [
        "S0qw2tDSSiaaj7327vGXNw"
      ],
      "expires": "2014-12-16T04:06:16Z",
      "id": "TOKEN_ID",
      "issued_at": "2014-12-16T03:06:16.054920",
      "tenant": {
        "description": null,
        "enabled": true,
        "id": "TENANT_ID",
        "name": "demo"
      }
    },
    "user": {
      "id": "USER_ID",
      "name": "demo",
      "roles": [
        {
          "name": "Member"
        },
        {
          "name": "_member_"
        },
        {
          "name": "anotherrole"
        },
        {
          "name": "heat_stack_owner"
        }
      ],
      "roles_links": [],
      "username": "demo"
    }
  }
}

Mirantis



{
    "token": {
        "audit_ids": [
            "FX6n5O9sQKWQtNOe23NTZQ"
        ],
        "catalog": [
            {
                "endpoints": [
                    {
                        "id": "577a63961da14f6eb4432d94e763b8a1",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8000/v1/"
                    },
                    {
                        "id": "ce97de7ad0224423b6a2cbe768a1d1ea",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8000/v1/"
                    },
                    {
                        "id": "e6c48c3e5f0b4cbd892c82af5fc65912",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8000/v1/"
                    }
                ],
                "id": "18b84d8582af4cf59ed6da2ba59674d2",
                "name": "heat-cfn",
                "type": "cloudformation"
            },
            {
                "endpoints": [
                    {
                        "id": "4afcbc0ac97a4552811f6c4691a0eb77",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8004/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "8e3d658fe4844d5c99da17fe9a3e96d2",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8004/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "a2bc7cc9182a444580d4914be338fa02",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8004/v1/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "24cbda6a20bb457db467cba6aedf11af",
                "name": "heat",
                "type": "orchestration"
            },
            {
                "endpoints": [
                    {
                        "id": "309a844d88fa42d1aa975791b4114e74",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8082/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "5634ddbc1f2d42ea976051aee95ed756",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8082/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "d8af87d6f0ac4f93ba58a3d319fe8c57",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8082/v1/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "2aa5c744dcc247e6a8b6e840b136fa1e",
                "name": "murano",
                "type": "application_catalog"
            },
            {
                "endpoints": [
                    {
                        "id": "4b981f96ed8a43989cfb4e434529ffc7",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8774/v2/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "74c76dfa5e3743d9b7ac2f9299b11840",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8774/v2/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "a08a11d5bb164c3794ac873eac162b23",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8774/v2/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "3b3ae54102fa4d34beffe51b4db3ad15",
                "name": "nova",
                "type": "compute"
            },
            {
                "endpoints": [
                    {
                        "id": "1821d35359344f6996c7f10a807be5d3",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:9696/"
                    },
                    {
                        "id": "984b6c061884401986c8e4c604d7356f",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:9696/"
                    },
                    {
                        "id": "e4a91e0b49aa4ba78e4ccb0358b32fb6",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:9696/"
                    }
                ],
                "id": "60df221820154c29be1140274c33c219",
                "name": "neutron",
                "type": "network"
            },
            {
                "endpoints": [
                    {
                        "id": "15211604d90841bf96679323c8b25af4",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8386/v1.1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "75adb6a889d147f4a97bfd3dc556d729",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8386/v1.1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "b6ffe98c49d847e5a53f2392f3414458",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8386/v1.1/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "c3742f84133b4f8fbce23dad6cc57559",
                "name": "sahara",
                "type": "data_processing"
            },
            {
                "endpoints": [
                    {
                        "id": "1f1d7a8ec3f24fb08f76965f4102921b",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8776/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "636091d3f8ec451691a75d3fceb08b0a",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8776/v1/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "b1c81c58506e43528ff429f410433d36",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8776/v1/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "d10abaf386504ceaa701c8062a928910",
                "name": "cinder",
                "type": "volume"
            },
            {
                "endpoints": [
                    {
                        "id": "101ec5284409478d909001ca5b4dd9f6",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8777"
                    },
                    {
                        "id": "27fcbb60c89c4eb28f29914dad9be2ba",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8777"
                    },
                    {
                        "id": "950e48433f3f4e4d8a9be838324ab789",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8777"
                    }
                ],
                "id": "d5c4f950bcc1443ebc2388db84d0452a",
                "name": "ceilometer",
                "type": "metering"
            },
            {
                "endpoints": [
                    {
                        "id": "1de7aa2f22b04e46b5745e247a3f246d",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:35357/v2.0"
                    },
                    {
                        "id": "c767db5deda744a2afd09dca25d55299",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:5000/v2.0"
                    },
                    {
                        "id": "d130f80e1d6e4c41ab59402bd78e7d5e",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:5000/v2.0"
                    }
                ],
                "id": "d9fbe89865dc4b46b048dd9f4e85f7bc",
                "name": "keystone",
                "type": "identity"
            },
            {
                "endpoints": [
                    {
                        "id": "9a4f7e83f83a4fab8882a9052a99aaa6",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8776/v2/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "9f969d68f9c14a318147e537b5d52f8c",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8776/v2/dd680c8589204dbcb47b70e193684756"
                    },
                    {
                        "id": "c9cafb56ebb941f58e5532a35f7349bf",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8776/v2/dd680c8589204dbcb47b70e193684756"
                    }
                ],
                "id": "f2fb1a76fee84a03b533d5d8c0f9e026",
                "name": "cinderv2",
                "type": "volumev2"
            },
            {
                "endpoints": [
                    {
                        "id": "1a17def92acc4497a3dd8b321de048e1",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:9292"
                    },
                    {
                        "id": "57e8c499dd8c4795b0eb341c1a939805",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:9292"
                    },
                    {
                        "id": "c70aa7adc9f74e4dbbd6406c46a7c93a",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:9292"
                    }
                ],
                "id": "fa7cfc68eb3f407e849b2565c9f0692a",
                "name": "glance",
                "type": "image"
            },
            {
                "endpoints": [
                    {
                        "id": "07e7ab807c724e05b3c22790350bb4c4",
                        "interface": "public",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://172.16.0.3:8773/services/Cloud"
                    },
                    {
                        "id": "4fca8d5e3a3346919607bbd42959c0cd",
                        "interface": "admin",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8773/services/Admin"
                    },
                    {
                        "id": "5c14f0f9053544bfa0832be4f84d0519",
                        "interface": "internal",
                        "region": "RegionOne",
                        "region_id": "RegionOne",
                        "url": "http://192.168.0.4:8773/services/Cloud"
                    }
                ],
                "id": "fe6e2d14747440e4956279d0580e3b63",
                "name": "nova_ec2",
                "type": "ec2"
            }
        ],
        "expires_at": "2014-12-18T20:29:26.854014Z",
        "extras": {},
        "issued_at": "2014-12-18T19:29:26.854045Z",
        "methods": [
            "password"
        ],
        "project": {
            "domain": {
                "id": "default",
                "name": "Default"
            },
            "id": "dd680c8589204dbcb47b70e193684756",
            "name": "admin"
        },
        "roles": [
            {
                "id": "324ea0969ade46a68ee0918f51a79c36",
                "name": "admin"
            }
        ],
        "user": {
            "domain": {
                "id": "default",
                "name": "Default"
            },
            "id": "5db32bbdb4ba419b9e0c8dfe5188439d",
            "name": "admin"
        }
    }
}

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?