From a9fb5fa102560d389a8a9f76ed572f1c4fc9944b Mon Sep 17 00:00:00 2001
From: wanghong <w.wanghong@huawei.com>
Date: Tue, 29 Jul 2014 15:33:18 +0800
Subject: [PATCH] v3 endpoint set shouldn't always need service option

Change-Id: I71aab1ee4f467dc963e7afa7fc1c82b4255ea822
Closes-Bug: #1351121
---
 openstackclient/identity/v3/endpoint.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/openstackclient/identity/v3/endpoint.py b/openstackclient/identity/v3/endpoint.py
index fa1b862847..4ea44e7a72 100644
--- a/openstackclient/identity/v3/endpoint.py
+++ b/openstackclient/identity/v3/endpoint.py
@@ -181,16 +181,20 @@ class SetEndpoint(command.Command):
         identity_client = self.app.client_manager.identity
         endpoint = utils.find_resource(identity_client.endpoints,
                                        parsed_args.endpoint)
-        service = common.find_service(identity_client, parsed_args.service)
 
         if (not parsed_args.interface and not parsed_args.url
                 and not parsed_args.service and not parsed_args.region):
             sys.stdout.write("Endpoint not updated, no arguments present")
             return
 
+        service_id = None
+        if parsed_args.service:
+            service = common.find_service(identity_client, parsed_args.service)
+            service_id = service.id
+
         identity_client.endpoints.update(
             endpoint.id,
-            service=service.id,
+            service=service_id,
             url=parsed_args.url,
             interface=parsed_args.interface,
             region=parsed_args.region,