DEPR Meeting Notes (2022)
- Diana Huang
- Feanil Patel
- Michael Terry (Deactivated)
Current Agenda
Agenda (15 December 2022)
Auth DEPR tickets announced
FC of assorted DEPR tickets had a few PRs merged
Configuration deprecation discussion cont’d
subtasks:
Feanil mentioned that he might be able to make a first draft of this
Try to shave off all the things that are no longer getting used first
Still used for anything that is not containerized
Devstack images are being moved off using configuration
Olive was released(?)
keep an ear out for release notes feedback
can review the release notes
make sure that we have corresponding MFE DEPR tickets
old discussions UI - can we make a DEPR for this?
add a step for creating a DEPR along with the MFE creation
2U internal - find out details about who owns this and get a DEPR ticket created
Past Agendas
Agenda (1/4/22)
Happy new year!
Build jenkins vs. tools jenkins
Can we move all public-facing jobs to Github?
Codejail CI is still running on build Jenkins
arbi-bom are looking into Codejail
arch-bom has tickets around figuring out what to do with the remaining jobs
We want to move all edX-specific things to a single jenkins.
Bok Choy DEPR discussion
DEPR-174: bok-choy: remove supporting tooling & archive repoAbandoned
edx-e2e-tests use bok choy.
This is an edX-private repo
We have cypress e2e tests
@Diana Huang - Reach out to Incident Management about accelerating work so we can get rid of bok-choy.
Maple released!
Can move edx-certificates to edx-unsupported now that we’re not on Lilac anymore
tCRIL to take on the work for moving this @Dave Ormsbee (Axim)
Related: moving edx-ease to edx-unsupported/archiving it
Now that MFEs are supported in Maple, we can start looking into removing legacy frontend code
Moving DEPR to a Github project
What would this entail?
Github project can encompass multiple repos, but we would need to turn on Github issues for affected repos to make this effective.
Hopes and dreams (deprecation-wise)
The One Jenkins
Old Mongo
Ecommerce
Bandwidth to deprecate the stuff we said we’d get rid of
@Diana Huang movement on blended brief for DEPR bucket
Asgard/Minos
Configuration repo (please!)
Devstack → Tutor!
maybe even by Nutmeg!
Agenda (1/18/22)
Blended brief
Suggestion from Marco: create several themes of DEPR work in the brief that we can argue for separately
ex: Dependence on unsupported libraries
ex: Multiple versions of same feature is confusing to developers and creates churn
ex: Incomplete Migrations
ex: MFE replacement work
Go through DEPR board and see what fits where - what other work can we think of that needs to go in the list?
List updated
Maintenance Costs Brainstorm
https://docs.google.com/document/d/1GqzWcrm3rY8v9W6bqXa0hXBJk7VKx8mSGxKETwzeNjU/edit
What can we do to formalize this?
Move to Confluence, ensure is public, linked to from DEPR pages for reference
OEP updates
Moving everything to Github issues: https://github.com/openedx/open-edx-proposals/pull/285
Concerns?
What about edX depr work?
Internal work should be tracked by internal groups.
Add info to PR
Does this mean we have to turn on issues for all repos? Does tCRIL own this decision?
This is definitely going to happening, according to tCRIL
We are planning on all working group work being on Github projects
bring up with David Joy to make sure we have a story around this.
TBA what we can do to support this migration.
We can make draft tickets duplicating DEPR tickets now and then convert to issues once the issues are turned on in the relevant repos.
@Diana Huang will make a few of the issues in ‘Removing’ and ‘Accepted’
Entrance Exams
We don’t have an owner for the work to keep this going from core-contributors or http://edx.org
We can try to reach out to the folks who commented on the DEPR ticket to find out more about their instances and who maintains them.
Agenda (2/1/22)
Elasticsearch update
edX/2U will do discovery on the feasibility of getting rid of ES by Nutmeg
Hopefully will have an answer by Feb 22
OEP updates
Turning on issues seems fraught internal to edX/2U
Can we start with a dedicated depr project, then move to repo issues? Does Github support this?
We only want to allow DEPR tickets for now.
This is a test case for turning on issues more broadly for the openedx.
We can move issues between repos if we need to.
Ex of issue creation that we can make use of to ensure only DEPR issues get created: https://github.com/github/docs/issues/new/choose
@Diana Huang will continue working on migration of issues to depr.
[Jeremy] How can we enable this WG’s members to spend more time following through on deprecation work?
Teams are overallocated and understaffed on work, hard to carve out time.
We should talk about this during future meetings: what kind of work can we do in the next two weeks?
Could we engage more actively with the community?
Could we reschedule to be more Europe-friendly? Lots of competition for those timeslots
Show up to the community working group meetings and invite more people to this group or to engage with this group via Slack/Discourse
Question: MySQL 8?
Target is currently allowing Nutmeg with a setting.
Need to do cleanup work on old migrations.
Talk with OpenCraft about this work to keep up us from duplicating work.
Bok choy DEPR update
We are seeing good progress around this, and we might be able to move forward on this deprecation over the next two weeks
Engage squad is working on DEPR work
Removing legacy courseware views
Move test modulestore to use split modulestore
Talk to Kyle about this
Hide old mongo from Studio and Courseware
Jenkins deprecation
Last thing is the codejail tests
Hard to run on Github actions due to AppArmor, but we’re trying to solve this via self-hosted runners on VMs instead of Docker
Be prepared to put Build Jenkins behind the VPN and make it private, but wait until the codejail tests get migrated to Github actions
What can we do over this next week?
Make sure bok-choy DEPR ticket gets announced
Diana will poke Kyle about this
If this is ready, we can move this into unsupported
Kill off old ES clusters
What can we do help with the Mongo deprecation?
Braden has a PR for switching from Mongo active versions
Forums? Focus on killing the Ruby in favor of Python client
Check in with them about this. Where is it in their roadmap?
Dave and Mike will talk about old Mongo deprecation work
Agenda (2/15/22)
Transition from Jira to GitHub Issues
Ready to move/copy all edx-platform related tickets?
Create new issues at https://github.com/openedx/public-engineering/issues/new/choose
Github Depr Board: https://github.com/orgs/openedx/projects/9
Jira Board: https://openedx.atlassian.net/jira/software/c/projects/DEPR/boards/452
Should we draft up a moving process?
May not be needed yet as long as we focus on the edx-platform tickets for now.
Or rather, just put them all in the generic repo for now, and we can move them to more relevant code repos later if appropriate
Spreadsheet to avoid duplication of ticket moving effort: https://docs.google.com/spreadsheets/d/1AJQXLP_8tCnFe4wB_erPW_wN8D8rlTGd1sls5NKnfDg/edit#gid=159525103
Please sign up before copying a ticket over! First column
Copy description and any major updates in the comments which aren’t yet included in the Jira description
Link back to the Jira issue
@Jeremy Bowman (Deactivated) will work with Diana to add a new “Migrated” status or such to the Jira board for tickets that have moved over to GitHub Issues before completion.
Persistent grades - should this be made the default and remove the option of doing otherwise?
Feels appropriate for a DEPR ticket, removing the ability to have non-persistent grades
@Dave Ormsbee (Axim) will write this up
codejail CI is just about moved from Jenkins to GitHub Actions, should be able to make that Jenkins server private soon
DEPR blended project brief has been written, will move forward once Jeremy has time to review and Diana has time to nudge it along (both should happen relatively soon)
@Feanil Patel will review other feature flags that are currently off by default but really should be on by default (completion, etc.)
Should internal and external DEPR channels be joined?
The internal one has been very low traffic since the WG became public, may make more sense to archive instead. We’ll give it a little time to see if it gets usefully used for 2U-private code deprecation.
A PR for https://openedx.atlassian.net/browse/DEPR-151 is in progress
Arbi-BOM is making headway on https://openedx.atlassian.net/browse/DEPR-150 , hoping for completion shortly
Not a DEPR ticket, but removal of legacy a11y testing cruft removed 21K lines of code in edx-platform: https://github.com/openedx/edx-platform/pull/29813
Agenda (3/1/22)
Ready to archive the unused https://github.com/openedx/ease repo; does it merit a full DEPR ticket or simply an announcement?
Early discussion in
https://openedx.slack.com/archives/CGB0S3L12/p1645564636154829
and
https://openedx.slack.com/archives/CGB0S3L12/p1645564797167289
We don’t think this has been working on any Open edX release for the last 4 years.
Does this pass the ‘statute of limitations'?
Action item: Move to openedx-unsupported and see who complains.
What do do with edx-notifications?
No active development since 2020. Make a DEPR ticket?
Action item: @Diana Huang Make a DEPR ticket, go through the DEPR process.
Looking for advice on how to proceed with bok-choy, now that’s it’s deprecated. -Kyle
Add information on the ticket to indicate timelines and let tCRIL know when it’s ready to be moved to unsupported.
Action Items:
Keep tabs on progress moving edX e2e tests off of this so we’re ready.
Would folks be willing to move this wiki page tree (https://openedx.atlassian.net/wiki/spaces/COMM/pages/825983190 ) under https://openedx.atlassian.net/wiki/spaces/COMM/pages/46793351 ? -Kyle
Yes, I will move this to working groups.
https://github.com/openedx/devstack/issues/907 -Kyle
FYI for now.
Should we turn this into bunch of smaller tickets?
This doesn’t quite make sense, because people are going to switch in bulk.
What is the plan for Nutmeg?
Plan: support both Tutor and devstack in Nutmeg
Can we target a number of adoption by Nutmeg?
Announce now to start the conversation early.
Can we tie the DEPR and tech radar together through automation
Github Issues: How do we refer to them?
Just by their repo/issue number.
With all the MFE-ficiation happening, how can we use DEPR to better prepare the community for upcoming frontend changes and make sure that all necessary concerns are gathered?
Case study: DEPR-42 and the following custom payment processor debacle. This is still an open issue.
Upcoming: frontend-app-authn and frontend-app-discussions.
Can we surface decisions made and support dropped on DEPR tickets or somewhere are?
Nascent Product Process and working group that might be the long game
Make sure we pay attention to the release boundaries?
Ideal: experimental named release, default named release, removed named release
In the case of smaller features: default named release, removed named release
Can we include Discussion MFE in Nutmeg in an experimental version?
Bring this discussion to the BTR group.
We need to make sure teams in 2U/edX make DEPR tickets.
Add deltas in feature sets to the DEPR tickets.
Old Mongo deprecation continues - we turned off enrollments. And working on turning off marketing pages.
Unblock removing legacy tabs for migration to the learning MFE
Unit tests now use split mongo by default! A lot of tests have been migrated to use split.
Announced DEPR for start/due dates outside of Sections and Subsections. - Dave
Match what is available in Studio.
Can we write a management command/coursegraph query that will find any courses that do this?
@Dave Ormsbee (Axim) to write a course graph query for this.
Continuing to move things from Jira to Github
Any help here is welcome.
Sidebar: Jira DEPR workflow can’t be updated without IT intervention.
When migrating from Jira to Github issues, leave a comment on the Jira ticket and close it.
Agenda(Ides of March)
Should we do a blog post about moving to GitHub issues?
Where would this blog post go?
Open edX blog?
What would be the purpose?
An announcement to the community?
An exploration of the process?
A chance to recruit more people to help with DEPR work?
We should talk about this next meeting, hopefully with more people attending.
DEPR Blended updates
Raccoon Gang has bandwidth (and is in a safe place!), so we’re working with them to get some of our DEPR tickets over the line.
Blended brief was moved from 2U to tCRIL for this
Raccoon Gang discovered that we lost some links to old Google Drive documents. If you run across anything that is broken, feel free to reach out to Diana about finding a copy of it.
Diana will update Jira/Github issues with the new public links to the documents she has already found.
Old Mongo updates
Tests on edx-platform have been converted to use Split Mongo.
Recruitment
https://discuss.openedx.org/t/adr-for-removing-mongodb-from-edx-platform/6001/9
How do we support this? Can we help make this easier/less intimidating? Can we help do the work?
For this work, one of the avenues is going through and removing usage of Old Mongo in tests (this is fairly simple).
How can we get work that needs to get done in front of other eyes? Larger discussion about interaction with the community.
There are still three big things that need to happen to get things out of edx-platform.
These are parallelizable.
They all require migrations.
Can we do this as a blended project?
Check 2U budget on this and TNL bandwidth.
Forums is also a sticking point. There’s a forums project going on at 2U that will need to be accounted for.
MySQL 8 and Nutmeg
BTR wants confirmation that MySQL will work for Nutmeg.
http://edx.org will probably not be migrated in time, but the community should be safe to move to it.
Rescheduling meeting
We will try rescheduling this to 11am EST for now and see if that helps at all.
Agenda (March 29, 2022)
Blog post about moving to Github issues?
What is the focus? Which blog?
We could also make it a discuss post - in announcements
More of an inform rather a discussion about the complications around the move
Jira to Github move might have some interesting topics
Lack of integration with Slack - updates don’t immediately show up in the Slack channel like they did with Jira
Subtasks are pretty good in Github issues
DEPR blended project updates
RG has begun working through the EdxRestApiClient DEPR and will continue to go through it until it is completed or we run out of hours for them.
[DEPR]: EdxRestApiClient #37
[DEPR]: Remove legacy course info page & related code
[DEPR]: Remove Enterprise Catalog API V1 from edx-enterprise
[DEPR]: Retire LegacyWaffle classes #28
[DEPR]: Remove VerifiedTrackCohort #63
[DEPR]: Cleanup: Remove last vestiges of save option from anonymous_id_for_user #35
[DEPR]: Replace PDF course certificate view code in edx-platform #27
[DEPR]: Remove edx-jsme, Molecular Structure Problem type #14
[DEPR]: Account pages -> micro-frontend #71
[DEPR]: ecommerce Basket Page -> micro-frontend #68
Discovered usages of bok choy that we didn’t previously know about in ecommerce and credentials.
Old Mongo updates
@Dave Ormsbee (Axim) and @Michael Terry (Deactivated) do you want to give async updates on this work?
@Michael Terry (Deactivated) says: I’m planning on removing acces to Old Mongo next Monday (April 4th)
Removing access to old mongo courses - approved a while ago and unclear when it will land
Once this lands, we can start removing pieces of old mongo
Write out subtasks, game plan for removal after this.
Can maybe include this work in our blended project with Raccoon Gang
site_configuration https://github.com/openedx/platform-roadmap/issues/21
Github issue about deprecating it in public engineering (roadmap?)
Concerns brought up during a contributor’s meeting
Previously discussed with Sarina
Maybe we should put it through the proper DEPR process so we can formally abandon it if there’s enough pushback
There’s a separate possible option eox_tenant for multitenancy as a replacement - should get feedback from the rest of the community
Action item: move/create depr ticket and announce with a longer acceptance period to see if eox_tenant is a good replacement - follow up to see if we have a point person on this discussion, then let them take care of announcement.
@Michael Terry (Deactivated) async update: I have PRs to remove legacy outline & dates tabs, but since we’re so close to the Nutmeg cutoff, I’ll just wait until after then (April 11th) to land them, to let Open edX have another release with the legacy views still supported.
April 12, 2022
[Feanil] Comms improvement as things are going away(From core-contributors meetup)
Can we have more details in the deprecation section of the Release notes?
What are other things we can do to make the DEPR board easier to consume as a summary of work.
Take a look at what landed between releases
do lookups/create filter for the DEPR board for each release - what got removed between these two dates
create label ‘needs release notes’ for DEPR tickets
badger people until they’re added to the release notes
archive things at the Open edX release boundary
add agenda item for WG
@Feanil Patel talk to BTR about contacting DEPR after a new release has been cut in order to trigger our own process
@Diana Huang take ideas and turn into a checklist for next release
Working Group Meetup at Open edX Conference
Feanil will be our representative
Blended project update
Making progress through EdxRestApiClient
Starting on other tickets
Old Mongo progress
remove legacy outline and dates tabs
preview mode in studio still relies on the courseware endpoints and template rendering
TNL has a ticket for handling this case
site_configuration DEPR ticket still needs to be created
Agenda (4/26/22)
Flags that should maybe be enabled by default/flag should be removed.
[Request] Review the flags as a group and figure out which ones to DEPR
Process: Do we want a depr ticket for each of these? Should we batch them together?
Change defaults for the ones we believe should be a different default
Add something to the next release notes about the flip
Next steps:
1 DEPR for Studio login flow
1 DEPR for removing the ones that we want to remove
Removal will happen after Olive is cut.
Announcement in Discourse about turning these flags true
Also add to release notes for Olive that we are changing these defaults
Name | Current Value | Notes | Next Steps |
---|
Name | Current Value | Notes | Next Steps |
---|---|---|---|
False | Go with mobile ready by default? | Flip to True by default
| |
False | This is the CMS sign-in endpoint, which should be deprecated if we're defaulting to lms login. | Make a DEPR ticket for this and the next one around removing the CMS login page entirely in favor of the Oauth flow. | |
False | The related CMS sign-up URL which should also be dropped with the lms login. |
| |
False | Should we enable this by default? | Default to true | |
False | Apparently needed to enable the mobile REST Api | Default to true Possibly should just be removed as a toggle. | |
False | Should probably be enabled by default | Could break apps or other things that can’t handle unicode | |
False | Seems like it should be enabled by default | Default to true Should be removed Ensure that we also have defaults for any other configuration needed |
edx-microsite and remaining microsite cleanup
move into edx-unsupported
Enterprise Catalog v1 deprecation
might have some ecommerce calls to the old thing in edx-enterprise
check in with enterprise engineering at 2U about the status of this migration
legacy frontend deprecation timeline
proposal: toggle them off by default in Olive, remove code for the release after
Create PRs right now, but wait until after Olive is cut to merge
These are the templates/code that live in edx-platform and ecommerce
Re-announce the appropriate deprecation tickets to ensure everyone sees them
make forum threads in Discourse to discuss the timeline for these removals
Agenda (May 10, 2022)
Review steps for deprecating toggles and switching defaults
actually do the work for creating tickets and swapping these toggles
1 DEPR for Studio login flow overall
this is technically two toggles
@Feanil Patel
2 DEPR tickets for removing the ones that we want to remove
OAuth2 Provider & Milestones App
Removal will happen after Olive is cut.
@Feanil Patel
Announcement in Discourse about turning these flags true
@Diana Huang
Also add to release notes for Olive that we are changing these defaults
Can we ensure that this gets picked up by the diff in documentation?
@Diana Huang
Change the defaults
@Diana Huang
Working group support for DEPR blended project
Enterprise catalog version 1?
@Diana Huang
JSME removal from edx-platform
@Peter Pinch
@Dave Ormsbee (Axim)
course info pages
@Feanil Patel
Old Mongo progress
Find epic of this work
@Dave Ormsbee (Axim) to map out next steps of this work
Review DEPR board
VerifiedTrackCohort
needs a PR review @Diana Huang or @Feanil Patel to take it eventually
Agenda (May 24, 2022)
COPPA compliance toggle discussion
Turns off year of birth from being exposed in the UI to learners
Could use an improvement in the toggle documentation
Milestone app can be turned on safely without other configuration updates
Auth-related DEPR work
Note: Tickets have “unfinished” label.
https://openedx.atlassian.net/browse/ARCHBOM-779
This seems to be mostly table/DB cleanup. Which can be tricky and complicated.
Maybe a good testcase for simple work that the community can tackle
https://openedx.atlassian.net/browse/ARCHBOM-1161
Needs to be broken up into subtasks.
Maybe this needs a DEPR ticket to ensure community knows that these JWTs are going away?
There will need to be a migration path for using asymmetric JWTs, since all of our services used to use symmetric JWTs.
This has a high likelihood of breaking http://edx.org if not handled carefully.
Ecommerce is also an exception to this, but we would like to contain it to ecommerce.
Blended/FC project updates
LegacyWaffleClasses removal
edx-jsme PR still waiting for review
EnrollmentTrackUserPartition - is it being used currently? what other features are relying on it?
We believe the previous removal, VerifiedTrackCohort, might need this removal to continue.
If we do this, we need a good migration plan at the very least. Start discussion in Slack asynchronously.
Adding new toggles to turn off old UIs
Decommissioning the old build Jenkins that used to be running the edx-platform tests
Still a few jobs still running on it
Most of them have been converted to Github actions
edx-e2e-tests are being moved onto Cypress. A team at 2U is actively working on these.
Some mobile build jobs.
Diana to update invites with meeting notes links
MFEs
keep the community synced with what new MFEs are being created
ensure that a DEPR ticket for the old frontend is also created
how do we create a process around ensuring that this happens?
ARCH-BOM can add a note to our runbooks around creating DEPR tickets when new MFEs are created.
Ask squad considering a new proctoring IDA to create DEPR tickets
New FED maintenance group at 2U for helping to remove old code and maintain frontend
https://openedx.atlassian.net/wiki/spaces/FEDX/pages/1920270629 is a page where things are tracked. Make sure it is kept up to date.
Async in Slack: inventory of current MFEs and current MFE-related DEPR tickets to make sure we have DEPR tickets for MFEs that currently exist
Prepare for us to review temporary toggles next meeting. Ensuring any private toggle information is removed.
Wiki and Pages are they deprecated?
We are stuck in the state where they are neither maintained nor deprecated
Bug in Nutmeg
Create a DEPR ticket for Wiki removal to see what the concerns around it are.
@Diana Huang to create the ticket for this work
Agenda (June 7, 2022)
TODO item for @Diana Huang : update calendar invite to include a link to this page (ideally in edit mode)
Review temporary toggles in the documentation
2U internal link: https://docs.google.com/spreadsheets/d/1MG2PG_ALs-nom2o2lZ4GIbFNLdNt1n_MGD-WZu63Vfg/edit#gid=924496803&fvid=2064205452
Deprecation tickets to be created:
user_authn.enable_login_using_thirdparty_auth_only [Feanil will create]
DISABLE_DEPRECATED_SIGNIN_URL and DISABLE_DEPRECATED_SIGNUP_URL [Feanil will create]
registration.enable_failure_logging [Cristhian will create and follow through]
Toggle tooling enhancements:
Need to add deprecation ticket to a separate annotation for convenient filtering out during future reviews
Good to document the expected final default for a temporary annotation.
[inform] [Robert] Created:
Review the board: https://github.com/orgs/openedx/projects/9
Agenda (June 21, 2022)
FC/BD project update
course info removal
PDF cert download frontend
held up on data engineering right now
can we get manual testing resources?
can we get a test plan from DE?
manual testing team is known as QA internally
led by Agha Awais Khan
Content Libraries v1 DEPR ticket to be created
Reviewing the board https://github.com/orgs/openedx/projects/9
assigning things
Agenda (July 5, 2022)
EdxRestApiClient is… done, maybe?
maybe we can try to remove the code and release a new version of the library.
can we add monitoring to see if we are still using this
let’s check production logs on http://edx.org to see if we can find deprecation warnings, etc, that are still remaining
enterprise-catalogs v1 is next
Talk about how to split remaining work
https://github.com/orgs/openedx/projects/19/views/2?groupedBy%5BcolumnId%5D=Status
jsme - accounts for 8MB of the 11MB of capa
can we measure the change in performance for mobile to make the case for this work?
make sure we verify that the persistent course grades change doesn’t break other instances
How do we ensure that we have a process around monitoring around DEPR work?
existing example: https://openedx.atlassian.net/wiki/spaces/COMM/pages/1051361376
create a simple wiki page and then add to it
HOWTO index for DEPR work to be created
@Robert Raposa to sketch out the beginnings of this
Agenda (Next)
BD DEPR project - need reviews on PRs to replace legacy front ends with MFEs
David Joy may be able to help with this
Build Jenkins (https://build.testeng.edx.org/ ) Decommission August 15th, 2022
AWS will shut off EC2 classic which we use for the packer builds for the AMIs used by the Jenkins Workers. We will not be able to fully support Build Jenkins after August 15th without rework.
MFE rewrite coordination
https://github.com/openedx/public-engineering/issues/50 seems done from the updated ticket scope, but leaves a bunch of loose ends
Retitled and marked as Removed, the loose ends will get new issues as part of the overall MFE rewrite project
It looks like https://github.com/openedx-unsupported/frontend-learner-portal-base/issues/31 is done, but repo was archived before the ticket was closed. Should we just delete this from the DEPR board? Update the OEP to make sure DEPR (and maybe other) issues get closed before archiving?
Feanil temporarily unarchived the repo so we could close the issue
Who should be tracking the big picture of making sure we actually get to a state where we can rip out the legacy front end code in this initiative? https://openedx.atlassian.net/wiki/spaces/FEDX/pages/1920270629 doesn’t have much green yet.
Feanil will discuss with Adolfo and Jenna, we may need a technical product manager to spearhead this
[Feanil] Questions about interaction between OEP-21: DEPR and maintainership transfers
Will keep as an ADR on OEP-55: Maintainership for now
But we may want to reword OEP-21 later to be more focused on how and less on why
[inform] OEP now requesting an ADR when someone chooses to continue usage of a DEPRed feature: https://github.com/openedx/open-edx-proposals/pull/354/files
Review board, update issue statuses and decide next steps
August 2, 2022
jsme fallout
some courses were using it on http://edx.org , more than we thought
proposal for future work:
an internal owner for reviewing how the feature is currently used on our platforms, and on communicating impact to stakeholders (relationship managers, courses teams, learner channels)
updating documentation
monitoring could maybe have caught this.
we could have checked this more closely to the time we removed it
how quickly can we have monitoring as a follow-on to announcing a deprecation?
Can we add a checkbox or something to encourage fast follow on?
this can only be tracked by edx.org/2U engineers, which limits work that can be done by members of working group
Can we add more notes to the DEPR template to help with this?
we thought this was handled and checked in coursegraph
Open edX impact report
https://docs.google.com/document/d/1u4kgkP7l5Nv0AMRgQyisB86R3hB1zmnkpRE0Tu-Is9Y/edit
Check the ‘removed’ column on the board.
Persistent Course Grades flag fallout
What can we do to prevent this in the future?
There will be a few internal RCAs, but I would like to put it out to the group as well.
We’ve talked about flagging certain types of migrations in PRs.
Tracking the number of DEPR projects result in RCAs.
Can we see the impact of these on Open edX installations?
How many installations are even using this?
Is there a way for the community to tell us that we broke something?
Just a part of the usual communication channels for things that get done in master and impact other operators.
Follow up on MFE discussion
What needs to be left done?
tCRIL is focussing on looking at the gaps in MFE coverage to see what needs to get done.
Review the board and decide next steps
Agenda (August 8, 2022)
How do we want this group to operate going forward?
What kind of agenda items do we want to see? What kind of work do we want to do?
Spreading knowledge and information about deprecation efforts
Understanding what can we spread to the community in terms of work.
What can we do to spread information and make feedback collection easier so that we can hear about issues with deprecation?
How do we enable deprecations to happen?
This is getting increasingly complex as our architecture is getting increasingly complex - what can we do to help with this?
Mature the deprecation system.
Hold people responsible for the thing they’re replacing.
Investing in tracking which things are being used where.
Easily communicate what has changed between named releases.
DEPR is a good use case for ensuring that this process works.
What processes can we add to move tickets to the next column?
What blockers are there for tickets to move into Communicated?
dates - should we just suggest a default?
Two weeks by default
Focus on named releases
Tickets need more research or discovery and updates before they can be moved into Communicated
e.g. migration plans, replacements, documentation
Already in OEP, but we need people filing tickets to do the work.
Can we close the open issue on OEP-21?
Announce a few more DEPR tickets after discussing each meeting, move the tickets from ‘Proposed’ to ‘Communicated’.
Focus on this until we fill ‘Communicated’ and ‘Accepted’ again.
Build Jenkins is being shut off today
archive/move edx-e2e-tests to unsupported?
Agenda (August 30, 2022)
How do we want this group to operate going forward?
What kind of agenda items do we want to see? What kind of work do we want to do?
Time slot collides with the product working group.
we could move this to the opposite off-week to ensure that we don’t overlap
reschedule for off weeks - 3 weeks until next meeting
How do we deprecate XBlocks with minimal course impact?
context: how can we tell instructors/users of Open edX in a way that means that everyone is aware and prepared?
RateXBlock: individuals/support members can look at the board, but doesn’t scale.
Historically, the development team would be responsible for this.
We do have toggles on Studio, where we can toggle a banner that shows up.
Feedback: if someone doesn’t want something to go away, we would transfer ownership to the group that is willing to own it.
Proposal:
When an XBlock DEPR shows up, DEPR working group member at 2U/other organizations reaches out to their user facing team.
If it is used at the organization/installed, we should toggle the setting to put up a warning banner about it going away.
For 2U/edx.org: https://2u-internal.atlassian.net/wiki/spaces/ENG/pages/19471698/Adding+a+New+XBlock+on+Production#Changing-the-support-level-of-an-XBlock-or-problem-template (link to internal wiki)
For community: Support can be toggled via the xblock_django admin interface: https://github.com/openedx/edx-platform/blob/master/common/djangoapps/xblock_django/admin.py
Collect feedback from users.
If everything is good, move forward with removal.
If not, figure out new ownership.
Use RateXBlock as a test case for this.
Old Mongo removal is Happening!!! (as in, right now :-P)
Raccoon Gang is doing this work.
Open edX Slack channel: #tcril-raccoon-gang-old-mongo
Planning on removing this in pieces for http://edx.org .
CourseOverview objects will continue to be generated, so course information at the top level (e.g. names, ) will be still be accessible.
Risks:
could break CourseOverview generation
links will be broken
will show up in the logs as c4x, etc.
keep an eye on the certificates and other code paths that access to the modulestore
there are xblocks that use modulestore directly?
generally use the top level course information - attributes on the course object that will be accessible
eg: LTI Consumer Xblock https://github.com/openedx/xblock-lti-consumer/blob/master/lti_consumer/lti_xblock.py#L760 getting the course
Can http://edx.org roll out monitoring for this?
New Relic alert for course ids that match a pattern and 404s there?
Probably not worth it to remove the old collections of Old Mongo courses.
Agenda (Sept 20, 2022)
edx-proctoring deprecation
It turns out the legacy proctoring front end code didn’t work in Nutmeg, maybe Maple either (proctoring works in the learning MFE with a new library)
No one from community seems to have noticed?
MIT uses proctoring, but doesn’t seem to have had an impact
switched over to the learning MFE, so did not run into this issue
But we never removed it
Dropping it as a front end dependency in edx-platform now
Back end code to be replaced with a new IDA soon, we should create a DEPR ticket for that
edx-exams IDA
Punting on deletion of the front end code until the whole repo gets archived, unless it comes up again as a distraction.
Can/should we have this group focus more on finding things to deprecate and helping integrate deprecation into the regular work of other teams?
We don’t find the deprecation work before an upgrade cycle.
Bigger concern is getting this work on a team’s workload, because our concern is that teams have found things and not committed to finishing it in the past.
Maintainer scrum of scrums?
part of maintainer responsibilities
Making DEPR tickets a prerequisite for upgrade help.
tier 1: if you don’t handle DEPRs, no assistance from the Arbi-BOM and FED-BOM teams when upgrades are due.
tier 2: if upgrades are not accomplished by pre-established deadlines, then all feature work has to be dropped until they’re done
There are plenty of toggles that are probably ready for deprecation
Moving forward with OEP changes
need to update the DEPR template across the various repos - in .github, file tCRIL request for the rest
Olive branches being cut on 10/10 - anything we should try to finish by then?
FC work - account page and ecommerce basket pageW
would like to get toggles in and be able to toggle off the old UIs for Olive
Check in on persistent course grade flag migration/documentation - make sure it’s working for other deployments
Bearer Auth - future work that we want to make sure we have the right communication around.
Hooray for persistent course grade flags getting merged
Ambient discussions of deprecations going around without any commitment?
Agenda (October 4, 2022)
Overlap with CC meetings?
Every other week from Product Delivery meetings
Should we attempt to reschedule?
Keep this for now until it becomes an issue with overlap
frontend-app-account FC PRs
FED-BOM will review
Raccoon Gang moving on to other work
Plato mentorship conference
only available to subscribers, unfortunately
need to focus on both Developer Experience and Deprecation work to maintain/increase developer velocity
design code to be deprecated in the future
what does this look like in Open edX?
decoupling - moving towards event bus will help
even with event bus - being able to transition between different event buses
what do other projects do around deprecation?
Django as example: deprecation warnings, other code/functional processes
Django has deprecation flags on individual fields within a model, too
https://djangopackages.org/packages/p/django-deprecate-fields/
Postgres maybe?
Linux kernel?
Okta
O’Reilly book on Google deprecation - deprecation during design
a good place to discuss how to do this in the future and think about it as we catch up to the existing backlog
systems for handling backwards incompatible migrations
DEPR process questions
moving from proposed → communicated
no review steps in between
How can we tweak the incentives around deprecation?
on top of the existing discussions previously
talking to product owners and engineering managers
allocating time for deprecation work with maintenance
FC retro and RCA to discuss process improvements
general RCAs around deprecation projects to talk about things more holistically
how could this feature have been designed to make it easier to remove? etc.
several mini retros around different parts of the FC work
Agenda (18 October 2022)
OpenSearch migration
Who is going to be responsible for it?
[Jeremy] How much do we really want/need to keep this at all? Simon did some discovery on this, and determined that http://edx.org LMS and Studio get pretty minimal benefit from Elasticsearch usage; other installations may use these features more.
@Dave Ormsbee (Axim) : See if tCRIL can fund some of this work.
See https://openedx.atlassian.net/wiki/spaces/PT/pages/3349250093 (this is currently private and will need to be cleaned up before shared publicly)
Concerns:
Will it require 2U reviews?
Support both or will http://edx.org migrate?
Plan was to move over fully.
XBlock deprecation procedure
While deprecating RateXBlock, it became apparent that we’re a little fuzzy on exactly what needs to happen before uninstalling an XBlock with non-zero production usage. We should figure this out and document it, for both http://edx.org usage and reference in Open edX release notes.
There is a procedure for some of this for http://edx.org that we could follow if we need to: https://2u-internal.atlassian.net/wiki/spaces/ENG/pages/19471698/Adding+a+New+XBlock+on+Production#Changing-the-support-level-of-an-XBlock-or-problem-template
XBlocks in ownership limbo; can we deprecate some of these?
There are many XBlocks nominally owned by the now-defunct Community Engineering Squad
One of them (RateXBlock) was recently deprecated after discovering that no courses have used it since 2016.
Can more of these be deprecated before I hunt down new owners for them? Who at 2U should take the time to look at CourseGraph and figure out which of these can potentially go?
List:
acclaimbadge-xblock (private 2U repo)
acid-xblock (test of the XBlock API)
AnimationXBlock
AudioXBlock
ConceptXBlock
crowdsourcehinter
DoneXBlock (obsolete in light of completion feature?)
RecommenderXBlock
staff_graded-xblock (goes to MIT?)
xblock-free-text-response (Stanford)
xblock-image-modal (Stanford)
xblock-in-video-quiz (Stanford)
xblock-qualtrics-survey (Appsembler)
xblock-sql-grader (used in some Stanford courses, not sure how many or old)
xblock-submit-and-compare
Next steps: 2U needs to look through this list and check usage, who owns them, how much they’re used, etc.
Old Mongo no longer accessible in LMS
Partial blockers: certificates, course overviews dependencies
BD-13 upcoming changes: XBlock serialization, event log tracking refactoring
@Dave Ormsbee (Axim): Who to talk to on DE? Troy?
Olive release notes: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3396501578
Go through the board and make note of what has been removed.
Doesn’t need release notes:
Needs Release Notes:
https://github.com/openedx/public-engineering/issues/37 - @Dave Ormsbee (Axim)
not fully removed yet, but should be deprecated
planning for removal of old client in Palm
https://github.com/openedx/public-engineering/issues/50@Dave Ormsbee (Axim)
removed old UI code from edx-platform
This was already covered by MTerry
https://github.com/openedx/public-engineering/issues/29@Diana Huang
Now this feature is on by default for all installations.
O’Reilly’s https://learning.oreilly.com/library/view/software-engineering-at/9781492082781/ has an entire chapter on deprecation. At least one of us should probably read it and see if there are any useful tips.
https://www.youtube.com/watch?v=RooOQsNrqoo&list=PLviHs0aJhWLb6JdHx3oDcvliemExeLWCn&index=2 from the Plato Elevate conference had advocacy and tips for deprecation as a software engineering velocity booster
Open edX Conference 2023 Call for Proposals!
Agenda (1 November 2022)
Scheduling, again!
Move to Thursday work for most folks?
@Diana Huang to reschedule for Thursday at the same timeslot
Release notes for Olive: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3396501578
Do we need to do anything else?
Add info about backfilling grades to persistent course grades
Still need release notes for the removal/removing of EdxRestApiClient
@Feanil Patel as backup/work with @Dave Ormsbee (Axim)
Maybe mini book club for one chapter of this?
O’Reilly’s https://learning.oreilly.com/library/view/software-engineering-at/9781492082781/ has an entire chapter on deprecation. At least one of us should probably read it and see if there are any useful tips.
Agenda (17 November 2022)
FED-BOM would like some time with people who have context on legacy edx-platform frontend code, to help identify which chunks do what so they can start planning out removal of stuff replaced by MFEs.
Diana & Kyle can help with this
David Joy would be a good candidate, but he’s still on paternity leave
Any updates on getting the MFE rewrite status page refreshed?
It’s on Adolfo’s radar
Legacy frontend vs. MFE differences
warning message about not being enrolled rendering unless there’s a refresh of the page?
This is an edge case, but we’re considering it a bug and not a deprecation.
some updated discussion about the future of site_configuration
MFE migration painpoints
Old custom plugins and customization into edx-platform don’t work with the new MFE worlds
tCRIL is interested in this, MFE domains
Upcoming Translations managements
This is more important to 2U internal and the old Jenkins framework, but good to know about.
Is CCX a candidate for deprecation?
there are parts of it that are possibly deprecatable?
MIT taking a looking at it.
can we turn it into a plugin?
we would need add hooks into edx-platform and understand
what are the docs around this?
Can we make a platform-roadmap ticket for this?
Fill in the submission template: https://github.com/openedx/platform-roadmap/issues/new?assignees=&labels=&template=roadmap-issue.yml&title=Put+Initiative+Name+Here
[Robert] [inform] Landed OEP and DEPR Issue template changes to simplify DEPR date guidance (related to named releases).
[Robert] Potential DEPRs to announce:
3 AuthN DEPR tickets (includes 1 on BearerAuthentication that needs to be written)
1 ticket for is_active and email activation.
[Kyle] On Feanil's behalf, heads up on https://github.com/openedx/edx-developer-docs/issues/112
Configuration deprecation
Who is still using Ansible vs. containers?
MIT is probably using some of the stuff in configuration, even if they aren’t using a lot of the Ansible code
Arbi-BOM has been migrating devstack containers off of using configuration
edxops docker hub will probably be shut down, openedx docker hub may be shut down since it only hosts devstack images currently, though it does also have the edx-platform github action runner images as well.
Agenda (1 December 2022)
CCX update
Roadmap ticket was submitted
is_active/email activation DEPR
removing email activation flow
product decision needed
proposing to the product working group
adding a section to the DEPR tickets to discuss end user impact for product folks to better understand the decision.
should we submit this with the other auth DEPRs?
announcement frequency
would it be confusing to announce two at the same time?
different audiences?
Archiving obsolete mobile repos
There are 6 of these, mostly private
Confirmed with Mobile that these can go
Who should archive and move to unsupported?
Arch-BOM
Taking a hatchet to build-jenkins configuration code
jenkins-job-dsl, testeng-ci, testeng-secure, configuration, etc.
Pretty sure nobody in the community is using this, but will run these PRs by any 2U squads still maintaining a Jenkins server
configuration repo deprecation
what plans should we put in place to move this migration forward?
devstack images are starting to be built without configuration
DevEnv discussion will probably address sandboxes
then the question of production deployments like http://edx.org
Make subtasks for deprecating configuration?
go through the roles and try to form logical groups around them
as things get moved off configuration, make subtasks so we can track deletion of code
for now, focus on clearing out stuff that we know we can get rid of
2U SRE is probably some of the best people to focus on monitoring and helping ensure this code removal doesn’t break anything.