Upgrade from Native to Tutor

Thanks @arbrandes I had already seen @Engr_James_Lusuegro post, but I was planning to answer later. Here’s a Reader’s Digest version.

We did migrate from Native Koa to Tutor Nutmeg last weekend after months of preparation and hurdles.

There was a lot of preparation on our part because we had been running a fork of Open edX since Aspen. We had sone data spread on S3 and in some cases on the local filesystem. We had to repatriate all that data locally in orde to keep the data centralized for use after the migration.

We also had to switch our Payment Processor from Paysafe to Cybersource because we didn’t have any ressource to help us develop a Paysafe connector for the Payment MFE.

If you plan to use ecommerce and the Payment MFE, please make sure you can use Cybersource or PayPal. I am not sure if Stripe made it into Nutmeg. You will have to check yourself.

You will need to migrate Native Koa to Tutor Koa first. This is where you need to recover your MySQL and MongoDB data.

Since we also had ecommerce installed, we found out early in our tests that there would be a conflict with the site_id and partner_id used by Tutor that were different than the ones used by Native. It took us a while to figure out where we needed to make changes in the different tables in ecommerce after recovering the database.

In the end, it is mostly a data integrity issue since we want to be able to reconnect previous records with the proper site_id or partner_id after restoring the data. What was site_id = 1 previously under Native is not necessarily the same as site_id = 1 under Tutor before restoring the data. It probably doesn’t affect the operations at a major level, but I would prefer not to find out while the system is in production. Just modifying the values requires a good understanding of the underlying databases and tables.

You will also need to make use to then upgrade to Lilac, then to Maple and then to Nutmeg. There are operations in each step that are necessary for the integrity of the data and to make sure it is properly modified between each release.

Suggested readings:

https://openedx.atlassian.net/wiki/spaces/COMM/pages/3249438723/How+to+migrate+from+a+native+deployment+to+a+tutor+deployment+of+the+Open+edX+platform?focusedCommentId=3337453635#comment-3337453635

You edxapp database dump might be too big to edit. You may need to split it with split, make the modifications required and then concatenate the chunks again before importing it.

https://openedx.atlassian.net/wiki/spaces/COMM/pages/2023915819/Lilac

https://openedx.atlassian.net/wiki/spaces/COMM/pages/2603816700/Maple

https://openedx.atlassian.net/wiki/spaces/COMM/pages/3205201949/Nutmeg

If you have any questions, please do not hesitate to post them here. I may not be able to answer right away but I will let you know if this a problem we encountered and how we managed it or worked around it.

4 Likes