mitodl / edx-platform

The Open edX platform, the software that powers edX!
http://open.edx.org/
GNU Affero General Public License v3.0
6 stars 1 forks source link

refactor: canvas nutmeg migration (removed migrated assets to plugin) #297

Closed arslanashraf7 closed 2 years ago

arslanashraf7 commented 2 years ago

Related ticket:

https://github.com/mitodl/edx-platform/issues/296

What this PR does?

Testing instructions:

Background context:

blarghmatey commented 2 years ago

This seems reasonable to me

blarghmatey commented 2 years ago

:+1:

arslanashraf7 commented 2 years ago

@blarghmatey Since I've merged the Nutmeg migrations PRs in plugins I have a couple of questions to take your assistance upon:

1) Are we running our https://github.com/mitodl/edx-platform/tree/mitx/nutmeg branch on prod? 2) For the two cherry-picks(Canvas, Rapid Response) on https://github.com/mitodl/edx-platform/tree/mitx/nutmeg what is your preference (to remove them) because the rapid response commit won't be needed after plugin migration and the canvas commit will be updated.

blarghmatey commented 2 years ago
  1. We are not currently running nutmeg on production yet, it is only being tested in a CI environment currently.
  2. I would suggest that we get rid of the two cherry picks in favor of using the code that is in the plugins and this PR so that we are only tracking commits that we actually need and care about. Thanks for asking!
arslanashraf7 commented 2 years ago

@blarghmatey There were three things I wanted to discuss & get your opinion regarding this PR and related stuff so that this can be tested:

blarghmatey commented 2 years ago

The packages have been uploaded to PyPI and the newest build of the residential CI deployment has them included.

If we want to prevent the QA and production instances from picking up the new plugins then we can pin them or remove them as appropriate in the group_data file. We have a branch of the ol-infrastructure repo for tracking Nutmeg related changes, so we can keep the desired change there until we go to production with it.

arslanashraf7 commented 2 years ago

Thanks for the insights.

The packages have been uploaded to PyPI and the newest build of the residential CI deployment has them included.

When I search for them on the PyPI they show older versions though e.g. for rapid-response reports it shows 0.1.0 & for canvas integration it shows 0.1.1 which should be 0.2.0 for both.

If we want to prevent the QA and production instances from picking up the new plugins then we can pin them or remove them as appropriate in the group_data file

I think we should pin them to production config at least so that it doesn't pick the new versions on any rebuild until we specify it in group data to pick the newer ones. I'll create a PR for that.

blarghmatey commented 2 years ago

I'll pull and publish those packages again now. I was out of sync with where we are at currently.

blarghmatey commented 2 years ago

All of the packages are now up to date

arslanashraf7 commented 2 years ago

Thanks! Yes and apologies it got sidetracked a little with other work going on. That's why i wanted to get it tested before it's vastly out of context.

So, for pinning the packages in production is it okay that I create the PR in ol-infra tomorrow. I suppose we don't have a plan to rebuild the production at least today.

blarghmatey commented 2 years ago

Yeah, we don't have any plans for builds/deploys to production

arslanashraf7 commented 2 years ago

@blarghmatey I've created this PR to pin the packages.

In addition, the plugin tabs are not showing on our ci instance and this could be because of the assets now being compiled. We faced a similar issue when we initially deployed a plugin and that conversation is here. If the latest plugins are installed and the platform has this PR deployed we might just need to recompile the assets.

blarghmatey commented 2 years ago

The Nutmeg images were failing to build for a few days because of upstream issues with Node 16. That is now resolved and I rebuilt and deployed the latest image. Also, the assets are being recompiled by default as part of the build so that shouldn't be an issue for this situation.

I don't see a tab for Canvas at the link that you provided, but I'm also not certain what I should be looking for.

pdpinch commented 2 years ago

I don't see the Canvas tab on the Instructor Dashboard either.

I thought maybe it was because the canvas course ID wasn't set in the course's advanced settings, so I set it to our test course (155), but I'm still not seeing the tab on the instructor dashboard.

I'm not sure how it's possible to have the advanced setting, but not the instructor dashboard tab.

arslanashraf7 commented 2 years ago

I was looking around and testing the things locally and it looks like the plugins might not be installed. The probable issues could be like: 1- If the plugin is not installed the (Canvas, Rapid Responses)tab won't show 2- If the plugins are installed but the path of the template isn't resolvable the Tabs would show but give errors complaining about templates unavailability.

In addition, where can we see the config for CI instance, In group-data there are configs for staging and prod.

arslanashraf7 commented 2 years ago

Update/FYI, With the new release of Canvas plugin as per https://github.com/mitodl/open-edx-plugins/pull/60 it worked, The Canvas tab is not visible when canvas_course_id is set in course advanced settings through the studio.

I've set up the course outlines for Canvas Test Course for the testing purposes for anyone who wants to play around it.