Skip to content

Add eula enforcement #609

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 64 commits into
base: main
Choose a base branch
from

Conversation

jrlagrone
Copy link

This is largely based on PR #550 by @rg663 and aims to resolve #542 (and #420?)

Users added to an allocation must agree to the EULA for the associated resource, if it exists.

This adds PendingEULA and DeclinedEULA statuses to allocation users. An allocation is available to an user if the status of the allocation and the users allocation status are both Active. An allocation may be active for some users added to it, but not all added users based on whether or not they accepted the EULA (if applicable). PI's must accept the EULA to submit an allocation request, where enabled.

This attaches EULA agreements to individual allocations, but EULAs are associated with resources. This means an user has to agree to the EULA for each individual allocation on a given resource.

PIs agree to the EULA when submitting an allocation request.

Some things to consider testing (in addition to those listed in #542):

  • users can only accept a EULA for themselves
  • users choice is reflected in displayed and available allocations
    • check accounts are generated with appropriate outputs, e.g. try DEBUG=True PLUGIN_SLURM=True coldfront slurm_dump and verify that output matches expectations
    • Note, there are subtleties -- Users with permissions to see all allocations (like admin or director views) will typically see the status of the allocation. This may not reflect their ability to use the allocation.
  • users who reject a eula can be removed and re-added to an allocation by a PI/Manager. They will have a new opportunity to accept. Admins can manually reset the check by changing DeclinedEULA -> PendingEULA status.
  • resources without a EULA should not require agreements
  • setting EULA_AGREEMENT = False should disable eula enforcement. Switching that on/off may result in some unexpected behaviors though.
  • Email reminders have been implemented, but we do not currently have a mail service configured to test.

@cecilialau6776
Copy link
Contributor

Whats the status of this PR? I'm looking to get it merged and am happy to contribute.

@aebruno
Copy link
Member

aebruno commented Mar 28, 2025

@jrlagrone Apologies for the delay in reviewing this PR. If you're still interested in getting this merged can you fix any conflicts with the main branch and rebase this PR into a single commit with --signoff. We now require all commits to be "Signed-off" by using git commit --signoff which will acknowledge that you agree to the DCO. If not, @cecilialau6776 feel free to pick this up and submit a new PR and we'd be happy to review. Thanks!

@jrlagrone
Copy link
Author

I can do that, I'll try to get to it next week.

@jrlagrone jrlagrone mentioned this pull request Apr 2, 2025
@jrlagrone
Copy link
Author

The requested changes should be in #671.

I didn't see an obvious way of changing the source branch for the merge on this PR and we're interested in keeping the non-squashed version history locally, so I just made a new branch and PR.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allocation: Add more complexity to EULA agreements
4 participants