diff options
Diffstat (limited to 'neutron_router_interface')
-rw-r--r-- | neutron_router_interface | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/neutron_router_interface b/neutron_router_interface index 8d57725..1d6648a 100644 --- a/neutron_router_interface +++ b/neutron_router_interface @@ -127,15 +127,18 @@ def _get_neutron_client(module, kwargs): def _set_tenant_id(module): global _os_tenant_id - if not module.params['tenant_name']: - login_tenant_name = module.params['login_tenant_name'] + if module.params['tenant_name']: + # We need admin power in order retrieve the tenant_id of a given + # tenant name and to create/delete networks for a tenant that is not + # the one used to authenticate the user. + tenant_name = module.params['tenant_name'] + for tenant in _os_keystone.tenants.list(): + if tenant.name == tenant_name: + _os_tenant_id = tenant.id + break else: - login_tenant_name = module.params['tenant_name'] + _os_tenant_id = _os_keystone.tenant_id - for tenant in _os_keystone.tenants.list(): - if tenant.name == login_tenant_name: - _os_tenant_id = tenant.id - break if not _os_tenant_id: module.fail_json(msg = "The tenant id cannot be found, please check the paramters") |