Configuring Multiple OpenStack Regions
Overview
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.
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:
[bash]nova –os-region williamport-pa list[/bash]
This tells Nova to list the instances managed by the nova-api service in the williamsport-pa region. Other OpenStack commmand line clients have a similar command line setting to select the region for the call.