From 495b081f7f7c544b64bd20f63fa9963cd77d07da Mon Sep 17 00:00:00 2001 From: Simon Leinen Date: Mon, 1 Feb 2016 20:19:59 +0100 Subject: [PATCH] Region support for Neutron scripts If OS_REGION_NAME is set in the environment, pass it to the API/CLI along with the other credentials. This allows selecting a non-default region for multi-region clouds. Change-Id: I19ed33fe1428b97b6aa526fc19b6b592e1a11ca9 Closes-Bug: 1540535 Signed-off-by: Simon Leinen --- neutron/delete_orphan_floatingips.py | 6 +++++- neutron/delete_tenantless_floatingips.py | 9 +++++++-- neutron/listorphans.py | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/neutron/delete_orphan_floatingips.py b/neutron/delete_orphan_floatingips.py index 857b9cd..998cf6b 100644 --- a/neutron/delete_orphan_floatingips.py +++ b/neutron/delete_orphan_floatingips.py @@ -20,6 +20,9 @@ def main(): tenant_name = os.environ['OS_TENANT_NAME'] password = os.environ['OS_PASSWORD'] auth_url = os.environ['OS_AUTH_URL'] + region_name = None + if 'OS_REGION_NAME' in os.environ: + region_name = os.environ['OS_REGION_NAME'] except KeyError: print("You need to source your openstack creds file first!") sys.exit(1) @@ -27,7 +30,8 @@ def main(): neutron = client.Client(username=username, tenant_name=tenant_name, password=password, - auth_url=auth_url) + auth_url=auth_url, + region_name=region_name) floatingips = neutron.list_floatingips() for floatingip in floatingips['floatingips']: diff --git a/neutron/delete_tenantless_floatingips.py b/neutron/delete_tenantless_floatingips.py index d88b2d8..cde808a 100644 --- a/neutron/delete_tenantless_floatingips.py +++ b/neutron/delete_tenantless_floatingips.py @@ -20,6 +20,9 @@ def main(): tenant_name = os.environ['OS_TENANT_NAME'] password = os.environ['OS_PASSWORD'] auth_url = os.environ['OS_AUTH_URL'] + region_name = None + if 'OS_REGION_NAME' in os.environ: + region_name = os.environ['OS_REGION_NAME'] except KeyError: print("You need to source your openstack creds file first!") sys.exit(1) @@ -27,12 +30,14 @@ def main(): neutron = client.Client(username=username, tenant_name=tenant_name, password=password, - auth_url=auth_url) + auth_url=auth_url, + region_name=region_name) keystone = ksclient.Client(username=username, tenant_name=tenant_name, password=password, - auth_url=auth_url) + auth_url=auth_url, + region_name=region_name) floatingips = neutron.list_floatingips() for floatingip in floatingips['floatingips']: diff --git a/neutron/listorphans.py b/neutron/listorphans.py index efed02c..d6011d9 100755 --- a/neutron/listorphans.py +++ b/neutron/listorphans.py @@ -15,6 +15,8 @@ def get_credentials(): d['password'] = os.environ['OS_PASSWORD'] d['auth_url'] = os.environ['OS_AUTH_URL'] d['tenant_name'] = os.environ['OS_TENANT_NAME'] + if 'OS_REGION_NAME' in os.environ: + d['region_name'] = os.environ['OS_REGION_NAME'] return d credentials = get_credentials()