Skip to content

Commit 43933e5

Browse files
authored
Merge pull request #1223 from uc-cdis/chore/update-passport-logging
Add logging for expiration, discovery and caching. Remove some debug logs
2 parents 69a9b9e + 671b371 commit 43933e5

File tree

6 files changed

+24
-16
lines changed

6 files changed

+24
-16
lines changed

fence/resources/ga4gh/passports.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -515,8 +515,8 @@ def put_gen3_usernames_for_passport_into_cache(
515515
)
516516

517517
logger.debug(
518-
f"Cached users {user_ids_from_passports} for provided passport in "
519-
f"database cache and placed in in-memory cache. "
518+
f"Cached {user_ids_from_passports} passport in "
519+
f"database. "
520520
f"Expires: {expires_at}"
521521
)
522522

fence/resources/google/utils.py

+13-12
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,9 @@ def _update_service_account_db_entry(
582582
return service_account_db_entry
583583

584584

585-
def get_or_create_proxy_group_id(expires=None, user_id=None, username=None, session=None, storage_manager=None):
585+
def get_or_create_proxy_group_id(
586+
expires=None, user_id=None, username=None, session=None, storage_manager=None
587+
):
586588
"""
587589
If no username returned from token or database, create a new proxy group
588590
for the given user. Also, add the access privileges.
@@ -598,17 +600,18 @@ def get_or_create_proxy_group_id(expires=None, user_id=None, username=None, sess
598600
db_session = session or current_app.scoped_session()
599601
manager = storage_manager or flask.current_app.storage_manager
600602

601-
logger.info(f"Proxy Group: {user_id}, {username}")
602-
proxy_group_id = _get_proxy_group_id(user_id=user_id, username=username, session=db_session)
603-
logger.info(f"{proxy_group_id}")
603+
logger.info(f"Getting proxy group for: {user_id}, {username}")
604+
proxy_group_id = _get_proxy_group_id(
605+
user_id=user_id, username=username, session=db_session
606+
)
604607
if not proxy_group_id:
605608
try:
609+
logger.info(
610+
f"No proxy group found for {user_id}, {username}... attempting to create one"
611+
)
606612
user_by_id = query_for_user_by_id(db_session, user_id)
607613
logger.info(f"user_by_id: {user_by_id}")
608-
user_by_username = query_for_user(
609-
session=db_session, username=username
610-
)
611-
logger.info(f"user_by_username: {user_by_username}")
614+
user_by_username = query_for_user(session=db_session, username=username)
612615
except Exception:
613616
user_by_id = None
614617
user_by_username = None
@@ -630,10 +633,8 @@ def get_or_create_proxy_group_id(expires=None, user_id=None, username=None, sess
630633

631634
proxy_group_id = _create_proxy_group(user_id, username, session=db_session).id
632635

633-
privileges = (
634-
db_session
635-
.query(AccessPrivilege)
636-
.filter(AccessPrivilege.user_id == user_id)
636+
privileges = db_session.query(AccessPrivilege).filter(
637+
AccessPrivilege.user_id == user_id
637638
)
638639

639640
for p in privileges:

fence/resources/openid/idp_oauth2.py

+2
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ def get_value_from_discovery_doc(self, key, default_value):
9292
using their discovery url.
9393
"""
9494
if self.discovery_url:
95+
self.logger.debug(f"Using {self.discovery_url} to get discovery doc")
9596
return_value = default_value
9697
if self.discovery_doc.status_code == requests.codes.ok:
9798
return_value = self.discovery_doc.json().get(key)
@@ -125,6 +126,7 @@ def get_value_from_discovery_doc(self, key, default_value):
125126
)
126127
# no `discovery_url`, try to use `discovery` config instead
127128
else:
129+
self.logger.debug(f"Using discovery from fence settings")
128130
return_value = self.settings.get("discovery", {}).get(key, default_value)
129131

130132
if not return_value:

fence/resources/openid/ras_oauth2.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,9 @@ def update_user_authorization(self, user, pkey_cache, db_session=None):
298298
db_session = db_session or current_app.scoped_session()
299299
try:
300300
token_endpoint = self.get_value_from_discovery_doc("token_endpoint", "")
301-
301+
self.logger.info(
302+
f"Using token_endpoint {token_endpoint} from discovery doc"
303+
)
302304
# this get_access_token also persists the refresh token in the db
303305
token = self.get_access_token(user, token_endpoint, db_session)
304306
userinfo = self.get_userinfo(token)

fence/sync/passport_sync/ras_sync.py

+4
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ def _parse_single_visa(self, user, encoded_visa, expires, parse_consent_code):
6262
if permission_expiration and expires <= permission_expiration:
6363
project[full_phsid] = privileges
6464
info["tags"] = {"dbgap_role": permission.get("role", "")}
65+
else:
66+
self.logger.info(
67+
f"dbGaP permission for {full_phsid} expired at {permission_expiration}"
68+
)
6569
else:
6670
# Remove visas if its invalid or expired
6771
user.ga4gh_visas_v1 = []

fence/sync/sync_users.py

-1
Original file line numberDiff line numberDiff line change
@@ -2521,7 +2521,6 @@ def sync_single_user_visas(
25212521
)
25222522

25232523
if user_projects:
2524-
self.logger.info("Sync to storage backend [sync_single_user_visas]")
25252524
self.sync_to_storage_backend(
25262525
user_projects,
25272526
info,

0 commit comments

Comments
 (0)