<div dir="ltr"><div>"Regions" is definitely an overloaded term and I'm not surprised by your remarks at all. </div><div><br></div><div>Hopefully I can help out with the openstack CLI bits at least. To create regions in keystone you need to use v3 of the API, this may involve changing up the bits of info you use to authenticate (Like adding v3 at the end of your auth URL, and adding domain information)</div><div><br></div><div>A quick example:</div><div><div>$ env | grep OS</div><div>OS_PROJECT_DOMAIN_ID=default</div><div>OS_REGION_NAME=RegionOne</div><div>OS_USER_DOMAIN_ID=default</div><div>OS_PROJECT_NAME=admin</div><div>OS_IDENTITY_API_VERSION=3</div><div>OS_PASSWORD=openstack</div><div>OS_AUTH_URL=<a href="http://172.16.240.201:5000/v3">http://172.16.240.201:5000/v3</a></div><div>OS_USERNAME=admin</div><div>OS_TENANT_NAME=admin</div><div>OS_VOLUME_API_VERSION=2</div><div><br></div><div>$ openstack region list<br></div><div>+-----------+---------------+-------------+</div><div>| Region    | Parent Region | Description |</div><div>+-----------+---------------+-------------+</div><div>| RegionOne | None          |             |</div><div>+-----------+---------------+-------------+</div><div><br></div><div>$ openstack region create regionTwo</div><div>+---------------+-----------+</div><div>| Field         | Value     |</div><div>+---------------+-----------+</div><div>| description   |           |</div><div>| enabled       | True      |</div><div>| parent_region | None      |</div><div>| region        | regionTwo |</div><div>+---------------+-----------+</div><div><br></div><div>$ openstack region list</div><div>+-----------+---------------+-------------+</div><div>| Region    | Parent Region | Description |</div><div>+-----------+---------------+-------------+</div><div>| RegionOne | None          |             |</div><div>| regionTwo | None          |             |</div><div>+-----------+---------------+-------------+</div></div><div><br></div></div>