From f94bc0bb6058fe791d597ed8aa5f60f9410debdb Mon Sep 17 00:00:00 2001 From: Helen Koike Date: Fri, 27 Apr 2018 13:51:40 -0300 Subject: [PATCH 4/5] fence_gce: use default credentials from googleapiclient There are two ways for performing credentials 1) google-auth 2) oauth2client (deprecated) googleapiclient check which libraries are present in the system and use the most apropriated one in the order above. Also keep compatibility with previous version of googleapiclient library --- fence/agents/gce/fence_gce.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fence/agents/gce/fence_gce.py b/fence/agents/gce/fence_gce.py index 3a614f14..3abb5207 100644 --- a/fence/agents/gce/fence_gce.py +++ b/fence/agents/gce/fence_gce.py @@ -5,7 +5,6 @@ import sys sys.path.append("@FENCEAGENTSLIBDIR@") import googleapiclient.discovery -import oauth2client.client from fencing import fail_usage, run_delay, all_opt, atexit_handler, check_input, process_input, show_docs, fence_action def translate_status(instance_status): @@ -99,7 +98,10 @@ def main(): run_delay(options) try: - credentials = oauth2client.client.GoogleCredentials.get_application_default() + credentials = None + if tuple(googleapiclient.__version__) < tuple("1.6.0"): + import oauth2client.client + credentials = oauth2client.client.GoogleCredentials.get_application_default() conn = googleapiclient.discovery.build('compute', 'v1', credentials=credentials) except Exception as err: fail_usage("Failed: Create GCE compute v1 connection: {}".format(str(err))) -- 2.16.3