From 21530d026e4d14142bea4ce6736326b78022ff86 Mon Sep 17 00:00:00 2001
From: Steve Martinelli <stevemar@ca.ibm.com>
Date: Fri, 11 Mar 2016 04:13:21 -0500
Subject: [PATCH] Search by user defined ID for identity providers

IDs for service providers can be user defined (like, Bob). This
causes issues with the usual get by ID method.

Keystone server side has implemented changes to search by ID when
listing, which should resolve the issue with minimal changes to
the client side.

Change-Id: Ic58df22b3445d3293a8e1c76c5da79badebf6528
Closes-Bug: 1479837
---
 openstackclient/identity/v3/identity_provider.py            | 3 ++-
 openstackclient/tests/identity/v3/test_identity_provider.py | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/openstackclient/identity/v3/identity_provider.py b/openstackclient/identity/v3/identity_provider.py
index 276a7f576a..39f440f4fd 100644
--- a/openstackclient/identity/v3/identity_provider.py
+++ b/openstackclient/identity/v3/identity_provider.py
@@ -214,7 +214,8 @@ class ShowIdentityProvider(command.ShowOne):
         identity_client = self.app.client_manager.identity
         idp = utils.find_resource(
             identity_client.federation.identity_providers,
-            parsed_args.identity_provider)
+            parsed_args.identity_provider,
+            id=parsed_args.identity_provider)
 
         idp._info.pop('links', None)
         remote_ids = utils.format_list(idp._info.pop('remote_ids', []))
diff --git a/openstackclient/tests/identity/v3/test_identity_provider.py b/openstackclient/tests/identity/v3/test_identity_provider.py
index 465e79bad7..3ff7981253 100644
--- a/openstackclient/tests/identity/v3/test_identity_provider.py
+++ b/openstackclient/tests/identity/v3/test_identity_provider.py
@@ -616,6 +616,7 @@ class TestIdentityProviderShow(TestIdentityProvider):
 
         self.identity_providers_mock.get.assert_called_with(
             identity_fakes.idp_id,
+            id='test_idp'
         )
 
         collist = ('description', 'enabled', 'id', 'remote_ids')