# Configuring Multiple OpenStack Regions

Platform9 Managed OpenStack enables administrators to manage multiple *regions* as part of their OpenStack cloud infrastructure. Datacenter resources in separate *regions* are managed by distinct sets of OpenStack management services (Nova/Glance/Cinder, etc.) but share a single Keystone identity server, and thus a single set of user, tenant and role settings.

An administrator might choose to add additional regions

* To manage geographically separate datacenters. Platform9 will try to locate the controller software near your resources to help minimize latency and improve performance.
* To create separated datacenters for the purpose of disaster recovery.
* To manage distinct virtualization technologies. An administrator with both QEMU/KVM and VMware vSphere resources might manage each as a separate region.

In version 1.5, users will notice a new menu at the top of the Platform9 user interface that allows them to select from a list of regions. Choosing a particular region gives them control over the resources managed by that region's services.

<figure><img src="/files/JWN5dtFKH1YQmi5XWevB" alt=""><figcaption></figcaption></figure>

Note that hosts, images, instances, networks and cinder volumes are all secluded within the region. Resources from a particular region are only available when that region is selected.

**Regions and the Keystone Service Catalog**

When using the OpenStack command line clients, it's important to understand how regions help the clients (WebUI or command-line) locate the various services. The Keystone identity service assists with connection to cloud management services by maintaining a catalog of the endpoints for each of the other services. Each endpoint listed in the Keystone service catalog contains:

* The service type (compute, image, volume, orchestration etc)
* The service name (Nova, Glance, Cinder, Heat, etc)
* The name of the region in which the service operates.
* The HTTP REST endpoint URL.

Given the Keystone service catalog, a client can find a URL for the service and region he wishes to use.

In general, a client wishing to send a request to one of the management services follows this sequence:

* Connect to keystone and request an authentication token.
* Get the service catalog.
* Find the endpoint of the service in the desired region.
* Connect to the endpoint and make the request.

For multi-region clouds, when using the OpenStack command line clients, it will be necessary to include the region name in the command line. For example, to get a list of instances in region `williamsport-pa`, the Nova client must be invoked as follows:

{% tabs %}
{% tab title="OpenStack" %}

```bash
nova --os-region williamport-pa list
```

{% endtab %}
{% endtabs %}

This tells Nova to list the instances managed by the nova-api service in the `williamsport-pa` region. Other OpenStack command line clients have a similar command line setting to select the region for the call.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/managed-openstack/5.8/regions/regions-multiple-regions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
