Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

BB2-2894 Add script to change all apps to 13 month data access #1156

Merged
merged 1 commit into from
Dec 28, 2023

Conversation

sharonfruit
Copy link
Contributor

JIRA Ticket:
BB2-2894

User Story or Bug Summary:

This change adds a Django command that will change all applications'
data access type to THIRTEEN MONTH.

What Does This PR Do?

Checks first if the app is already the thirteen month type and if not, changes it.

What Should Reviewers Watch For?

If you're reviewing this PR, please check these things, in particular:

  • Changes types for all applications appropriately.

What Security Implications Does This PR Have?

Submitters should complete the following questionnaire:

  • If the answer to any of the questions below is Yes, then here's a link to the associated Security Impact Assessment (SIA), security checklist, or other similar document in Confluence: N/A.
    • Does this PR add any new software dependencies? No.
    • Does this PR modify or invalidate any of our security controls? No.
    • Does this PR store or transmit data that was not stored or transmitted before? No.
  • If the answer to any of the questions below is Yes, then please add StewGoin as a reviewer, and note that this PR should not be merged unless/until he also approves it.
    • Do you think this PR requires additional review of its security implications for other reasons? No.

What Needs to Be Merged and Deployed Before this PR?

This PR cannot be either merged or deployed until the following pre-requisite changes have been fully deployed:

  • No dependencies

Any Migrations?

  • Yes, there are migrations
    • The migrations should be run PRIOR to the code being deployed
    • The migrations should be run AFTER the code is deployed
    • There is a more complicated migration plan (downtime, etc)
  • No migrations

Submitter Checklist

I have gone through and verified that...:

  • This PR is reasonably limited in scope, to help ensure that:
    1. It doesn't unnecessarily tie a bunch of disparate features, fixes, refactorings, etc. together.
    2. There isn't too much of a burden on reviewers.
    3. Any problems it causes have a small "blast radius".
    4. It'll be easier to rollback if that becomes necessary.
  • I have named this PR and its branch such that they'll be automatically be linked to the (most) relevant Jira issue, per: https://confluence.atlassian.com/adminjiracloud/integrating-with-development-tools-776636216.html.
  • This PR includes any required documentation changes, including README updates and changelog / release notes entries.
  • All new and modified code is appropriately commented, such that the what and why of its design would be reasonably clear to engineers, preferably ones unfamiliar with the project.
  • All tech debt and/or shortcomings introduced by this PR are detailed in TODO and/or FIXME comments, which include a JIRA ticket ID for any items that require urgent attention.
  • Reviews are requested from both:
    • At least two other engineers on this project, at least one of whom is a senior engineer or owns the relevant component(s) here.
    • Any relevant engineers on other projects (e.g. BFD, SLS, etc.).
  • Any deviations from the other policies in the DASG Engineering Standards are specifically called out in this PR, above.
    • Please review the standards every few months to ensure you're familiar with them.

@sharonfruit sharonfruit marked this pull request as ready for review December 27, 2023 16:23
Copy link
Contributor

@ajshred ajshred left a comment

Choose a reason for hiding this comment

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

Looks good. I love how simple this is. I do wonder if we ever have lock issues with these. I haven't seen it come up here, but I used to always catch BackendConnectionError and log it so the script would complete. Just an FYI in case we see it.

@sharonfruit
Copy link
Contributor Author

@ajshred We'll definitely have to watch for that, I wasn't sure how much to worry about it. For reference, I tried this locally with about 1200 generated applications that were all set to ONE_TIME originally and it seemed to run ok. 'time' output was
real 0m8.589s
user 0m0.091s
sys 0m0.180s

@sharonfruit sharonfruit force-pushed the ssu/bb2-2894-script-all-apps-13-month branch from 846a836 to 7b967cd Compare December 28, 2023 16:03
Copy link
Contributor

@dtisza1 dtisza1 left a comment

Choose a reason for hiding this comment

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

@sharonfruit This looks good to me!

I tested locally and worked as expected.

From Adrian's comment, I'm also wondering about possible locking issues. However, it looks like a secondary run should work out in those cases.

@sharonfruit sharonfruit merged commit b964805 into master Dec 28, 2023
5 checks passed
@sharonfruit sharonfruit deleted the ssu/bb2-2894-script-all-apps-13-month branch December 28, 2023 21:22
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.

3 participants