Skip to content

Conversation

@nss10
Copy link
Contributor

@nss10 nss10 commented Oct 10, 2025

Link to JIRA ticket if there is one: PD-77

New Features

Breaking Changes

  • Support for local_settings.py is removed completely.

Bug Fixes

Improvements

Dependency updates

  • Cleanup unused dependencies using deptry, add transitive dependencies in pyproject.toml

Deployment changes

  • Deployment changes are being done as a part of this gen3-helm PR (#426)

@nss10 nss10 changed the title Update dependencies in fence Update dependencies in fence after running deptry Oct 10, 2025
@coveralls
Copy link

coveralls commented Oct 10, 2025

Pull Request Test Coverage Report for Build 19682826605

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 220 unchanged lines in 3 files lost coverage.
  • Overall coverage increased (+0.02%) to 74.987%

Files with Coverage Reduction New Missed Lines %
config.py 17 68.06%
init.py 24 89.84%
scripting/fence_create.py 179 60.65%
Totals Coverage Status
Change from base Build 19682819011: 0.02%
Covered Lines: 8424
Relevant Lines: 11234

💛 - Coveralls

@github-actions
Copy link

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_oidc_client.py 2 0 2
tests/test_user_token.py 5 0 5
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_register_user.py 0 2 2
TOTAL 66 10 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_oidc_client.py 2 0 2
tests/test_user_token.py 5 0 5
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_register_user.py 0 2 2
TOTAL 66 10 76

Please find the detailed integration test report here

Please find the Github Action logs here

@nss10 nss10 marked this pull request as ready for review October 13, 2025 15:50
@nss10 nss10 requested a review from Avantol13 October 13, 2025 16:40
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to be complete about this, take a look at the old cloud auto k8s configmaps and secrets that were relying on this: https://github.com/uc-cdis/cloud-automation/blob/master/kube/services/fence/fence-deploy.yaml#L69

And remove them from Helm: https://github.com/uc-cdis/gen3-helm/blob/ae911bca4a44c673d44f92f3827957a9338e79b9/helm/fence/values.yaml#L438

And make sure nothing breaks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And update the Breaking Changes bullet point for this PR so its clear that local_settings is no longer supported.

@@ -1,104 +0,0 @@
"""
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleting this test seems appropriate, since the main purpose of these tests was to ensure that Fence doesn’t crash when local_settings.py is missing. This made sense when local_settings.py was optional after being deprecated, but it now seems unnecessary. Thoughts?

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_oidc_client.py 2 0 2
tests/test_user_token.py 5 0 5
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_register_user.py 0 2 2
TOTAL 66 10 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_oidc_client.py 2 0 2
tests/test_user_token.py 5 0 5
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_register_user.py 0 2 2
TOTAL 66 10 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_oidc_client.py 2 0 2
tests/test_user_token.py 5 0 5
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
tests/test_register_user.py 0 2 2
TOTAL 66 10 76

Please find the detailed integration test report here

Please find the Github Action logs here


# Django stuff:
*.log
local_settings.py
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's still keep this in the .gitignore just in case some one has one, we don't want to check it in

pyproject.toml Outdated
# NOTE: for testing with updated libaries as git repos:
# foobar = {git = "https://github.com/uc-cdis/some-repo", rev = "feat/test"}
jinja2 = "^3.1.6"
wtforms = "^3.2.1"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if possible, change all these ^ to >=

@nss10 nss10 requested a review from Avantol13 November 19, 2025 17:40
@github-actions
Copy link

Failed to Prepare CI environment

Please find the Github Action logs here

Copy link
Contributor

@paulineribeyre paulineribeyre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm just need to finish changing ^ to >=

@nss10 nss10 requested a review from paulineribeyre November 19, 2025 18:46
paulineribeyre
paulineribeyre previously approved these changes Nov 19, 2025
@github-actions
Copy link

Failed to Prepare CI environment

Please find the Github Action logs here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we remove this whole file safely?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please help me understand this. With local_settings being gone, does fence still need the ability to search for the cofig in paths described by CONFIG_SEARCH_FOLDERS

Am I to reposition this variable such that we can get rid of this file, or am I to see if it is safe to eliminate this variable altogether?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reposition this variable such that we can get rid of this file

This is what I meant, sorry for being unclear. This was placed here as a bridge between the old and new config at the time (so if you had old config, it could find the new config). But now, we should just place that variable somewhere else and remove this file altogether.

We still need to search for the new config, but it can be put somewhere else. Maybe directly in the config.py:

fence/fence/config.py

Lines 12 to 14 in 4173550

DEFAULT_CFG_PATH = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "config-default.yaml"
)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nss10 it looks like the file is still here even though you removed the config. Can we just delete the entire file?

Copy link
Contributor Author

@nss10 nss10 Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I missed deleting the actual file. Thanks @paulineribeyre for taking care of this :)

@github-actions
Copy link

filepath passed failed skipped SUBTOTAL
tests/test_oauth2.py 15 0 0 15
tests/test_centralized_auth.py 16 0 0 16
tests/test_audit_service.py 3 0 3 6
tests/test_data_upload.py 8 0 1 9
tests/test_presigned_url.py 7 0 0 7
tests/test_user_token.py 5 0 0 5
tests/test_dbgap.py 4 0 1 5
tests/test_drs_endpoint.py 4 0 0 4
tests/test_client_credentials.py 1 0 0 1
tests/test_register_user.py 1 1 0 2
tests/test_oidc_client.py 2 0 0 2
tests/test_google_data_access.py 1 0 0 1
tests/test_ras_authn.py 0 0 3 3
TOTAL 67 1 8 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_register_user.py 2 0 2
tests/test_client_credentials.py 1 0 1
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 68 8 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_register_user.py 2 0 2
tests/test_client_credentials.py 1 0 1
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 68 8 76

Please find the detailed integration test report here

Please find the Github Action logs here

@github-actions
Copy link

filepath passed skipped SUBTOTAL
tests/test_oauth2.py 15 0 15
tests/test_centralized_auth.py 16 0 16
tests/test_audit_service.py 3 3 6
tests/test_data_upload.py 8 1 9
tests/test_presigned_url.py 7 0 7
tests/test_dbgap.py 4 1 5
tests/test_drs_endpoint.py 4 0 4
tests/test_user_token.py 5 0 5
tests/test_register_user.py 2 0 2
tests/test_oidc_client.py 2 0 2
tests/test_google_data_access.py 1 0 1
tests/test_client_credentials.py 1 0 1
tests/test_ras_authn.py 0 3 3
TOTAL 68 8 76

Please find the detailed integration test report here

Please find the Github Action logs here

@nss10 nss10 merged commit 34b17e1 into master Nov 25, 2025
12 checks passed
@nss10 nss10 deleted the chore/dependency_updates branch November 25, 2025 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants