Commit Graph

3595 Commits

Author SHA1 Message Date
David Ormsbee
ad2192e7fe Merge pull request #23392 from open-craft/blockstore-runtime-bug-fix
Fix Blockstore XBlock Runtime's handling of occasional S3 errors (take 2)
2020-03-23 09:59:54 -04:00
Matt Tuchfarber
f596a27064 Fix rst formatting for plugin view context ADR 2020-03-18 14:02:05 -04:00
Matt Tuchfarber
2559c42836 Merge pull request #23330 from edx/tuchfarber/add_dashboard_context
Allow plugins to update contexts in specific views
2020-03-18 10:29:56 -04:00
Awais Jibran
1296b6a79d Merge pull request #23427 from edx/logs-cleanup
Remove/Limit log.info
2020-03-18 12:08:23 +05:00
Matt Tuchfarber
0a8b06a122 Lints and final tweaks 2020-03-17 22:19:22 -04:00
Cory Lee
d0c3f16c2c DENG-17 Make schedules and schedulehistory the same (#23419) 2020-03-17 14:40:04 -04:00
Awais Jibran
e3069877af 383k instance / 7 days. 2020-03-17 16:59:19 +05:00
Matt Tuchfarber
8a48218628 Typos, constant names, add context nesting. 2020-03-16 17:39:24 -04:00
David Ormsbee
e9dbed948b Merge pull request #21365 from open-craft/agrendalath/one-letter-extra-fields
Allow one letter extra fields
2020-03-16 14:29:10 -04:00
Cory Lee
43b3a2004c Readd historical schedule fks (#23414)
* Readd historical schedule fks
2020-03-16 11:22:17 -04:00
Awais Qureshi
0f002bafb8 BOM-1399
checking django-wiki and fixing deprecation warnings.
2020-03-16 14:37:18 +05:00
Hammad Ahmad Waqas
f692739da3 Merge pull request #23191 from edx/hammad/ENT-2580
ENT-2580 | added management command to push old enrollments to ecommerce
2020-03-16 12:55:38 +05:00
Braden MacDonald
4bb5cb52a6 Improve caching of blockstore data
This includes an optimization to the get_bundle_version_files_cached method, which is used very often when loading blockstore data; it was previously being cached only in a process-local cache (lru_cache). My hunch is that in production, with many appservers and LMS workers and frequent deployments and a large number of bundles, the process-local cache is not being hit very often.

I also increased the MAX_BLOCKSTORE_CACHE_DELAY from 60s to 300s; this reduces the frequency with which we check if either (A) an external system modified the blockstore bundle and/or (B) we have a cache invalidation bug somewhere. I am increasing it because that check is more expensive than I thought (calling blockstore API to ascertain latest version of a particular bundle), and I haven't seen any cache invalidation errors that this would help to work around. (Plus, increasing this will make such bugs more obvious.)
2020-03-13 14:25:21 -07:00
Matt Tuchfarber
fc3bc032b9 Update with suggestions:
- Add ADR describing Plugin Contexts
- Remove app-specific constants from framework-level code
- Add dashboard constants to student app with README
2020-03-13 15:14:37 -04:00
Simon Chen
a47f4d7570 Fix flaky test in Catalog Integration Configuration Model 2020-03-13 11:28:03 -04:00
Michael Terry
2d845385e9 Merge pull request #23399 from edx/mikix/update-subquery
Avoid subquery on table being updated
2020-03-13 11:21:07 -04:00
Michael Terry
3775fb1d9e Avoid subquery on table being updated
MySQL doesn't like you subquerying on the same table you are trying
to update in one query.

https://dev.mysql.com/doc/refman/8.0/en/subquery-restrictions.html

PROD-1366
2020-03-13 10:53:23 -04:00
Albert (AJ) St. Aubin
a5ec801a2a Add an Admin page view to add External IDs for Users in bulk
[MICROBA-152]
2020-03-13 10:20:24 -04:00
Cory Lee
22bd5cccae Dropping start from historicalschedule (#23390) 2020-03-13 09:53:43 -04:00
Braden MacDonald
a8d5749b6b Fix: transient S3 errors were not being reported properly
Also improve usefulness of some blockstore runtime logs for debugging

Context:

Sometimes when trying to load an XBlock's XML file from Amazon S3, AWS will return a 4xx or 5xx response along with error XML like:

    <Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>foo/bar</Key>...</Error>

A bug in the get_bundle_file_data_with_cache method would cause this XML to be returned to the runtime anyways, as if it were the expected OLX. This would then (obviously) lead to strange parsing bugs, e.g. when trying to interpret <Code> as an <xblock-include>.

This fixes the bug and improves the logging, both to make this sort of issue easier to debug in the future and to return whatever detailed error code S3 provides (or Blockstore, if S3 is not being used).
2020-03-12 16:29:43 -07:00
Abdul Hannan
fa6633ba4e DO NOT MERGE - NEED FAKE - Rename start in schedule 5/5 (#22392)
* Remove start field in Schedules

Co-authored-by: hunytalk <ahannan@edx.org>
Co-authored-by: Cory Lee <cory@edx.org>
2020-03-12 15:40:19 -04:00
David Ormsbee
09c5432415 Revert "Fix Blockstore XBlock Runtime's handling of occasional S3 errors" 2020-03-12 15:09:23 -04:00
David Ormsbee
22af9ff545 Merge pull request #23241 from open-craft/blockstore-runtime-bug-fix
Fix Blockstore XBlock Runtime's handling of occasional S3 errors
2020-03-12 09:17:09 -04:00
Awais Jibran
ebd6494af2 Merge pull request #23380 from edx/logs-cleanup
Remove unnecessary logs.
2020-03-12 16:38:54 +05:00
Awais Jibran
6a25ca800b ~200k instances in last 7 days. 2020-03-12 14:22:52 +05:00
Zainab Amir
ed25521f61 Enable testing pipeline for video uploads to s3 (#23375)
Add integration settings to enable upload of videos from from studio.
Settings enable user to connect to s3 bucket using mfa and assume role
functionality.

PROD-1214
2020-03-12 12:19:52 +05:00
Matt Tuchfarber
bd9dbdf7de Syntax fix 2020-03-11 15:17:59 -04:00
Braden MacDonald
8b9594e7dd Improve caching of blockstore data
This includes an optimization to the get_bundle_version_files_cached method, which is used very often when loading blockstore data; it was previously being cached only in a process-local cache (lru_cache). My hunch is that in production, with many appservers and LMS workers and frequent deployments and a large number of bundles, the process-local cache is not being hit very often.

I also increased the MAX_BLOCKSTORE_CACHE_DELAY from 60s to 300s; this reduces the frequency with which we check if either (A) an external system modified the blockstore bundle and/or (B) we have a cache invalidation bug somewhere. I am increasing it because that check is more expensive than I thought (calling blockstore API to ascertain latest version of a particular bundle), and I haven't seen any cache invalidation errors that this would help to work around. (Plus, increasing this will make such bugs more obvious.)
2020-03-11 11:15:59 -07:00
Braden MacDonald
4ddb02eff8 Fix: transient S3 errors were not being reported properly
Also improve usefulness of some blockstore runtime logs for debugging

Context:

Sometimes when trying to load an XBlock's XML file from Amazon S3, AWS will return a 4xx or 5xx response along with error XML like:

    <Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>foo/bar</Key>...</Error>

A bug in the get_bundle_file_data_with_cache method would cause this XML to be returned to the runtime anyways, as if it were the expected OLX. This would then (obviously) lead to strange parsing bugs, e.g. when trying to interpret <Code> as an <xblock-include>.

This fixes the bug and improves the logging, both to make this sort of issue easier to debug in the future and to return whatever detailed error code S3 provides (or Blockstore, if S3 is not being used).
2020-03-11 11:15:59 -07:00
Michael Terry
f56a01adbe Reset schedule when mode changes
This way if an audit user upgrades a self paced course to verified,
their schedule will reset to the current time.

AA-60
2020-03-11 11:53:49 -04:00
usamasadiq
84744fdf88 BOM-1277 Removed constraint on requests-oauthlib and updated oauthlib 2020-03-11 11:15:24 +05:00
Cory Lee
3816e1c474 DENG-17 Setting the start column on schedules to be nullable so that it (#23208)
Setting the start column on schedules to be nullable so that it can be dropped.
2020-03-10 10:26:32 -04:00
David Joy
fa7cae74e0 Merge pull request #23355 from edx/djoy/course_metadata_staff_access_field
Adding user_has_staff_access to course metadata response.
2020-03-09 16:13:39 -04:00
David Joy
13096ca586 Adding user_has_staff_access to course metadata response.
We use this value in the client to understand whether or not we should be showing staff-only parts of the UI to the user.

Related to: https://openedx.atlassian.net/browse/TNL-7109
2020-03-09 15:16:26 -04:00
Dave St.Germain
5a4d03b7b2 Add another attribute to CourseOverview to support the Teams tab 2020-03-09 15:12:44 -04:00
Cory Lee
e1c896f2fa DENG-17 Removing schedules history FK to auth_user so it can be ghost migrated alongside schedules since they are tied to the same model. (#23349) 2020-03-09 14:30:13 -04:00
Matt Tuchfarber
e5b8f28778 Update with some preferences 2020-03-09 14:23:17 -04:00
Dave St.Germain
49c5d5194b Addressed review feedback 2020-03-09 11:28:48 -04:00
Dave St.Germain
b166788a8d Fixes TNL-7113 and TNL-7112, related to missing attributes in course tabs 2020-03-09 10:47:00 -04:00
Julia Eskew
4444ffbf1a Add migration to remove values from SiteConfiguration and unskip migration test. 2020-03-06 12:42:57 -05:00
Matt Tuchfarber
47255197e1 Allow plugins to update contexts in specific views
Instead of requiring views like the dashboard to know about plugins so
they can include their data in the context, this allows plugins to
define a mapping between a view and a function where the function
returns a dictionary of new context for the view. Each view would have
to purposefully enable this additional context before it could be used.
This will allow new content to be added to the pages without updating
the core with a combination of a plugin to add new context, and a theme
override of that page to use the new context.
2020-03-06 10:47:52 -05:00
Troy Sankey
5395a5e9f8 Merge pull request #23306 from edx/pwnage101/deng-18-rename_site_configuration_siteconfiguration_values_2.3
Revert "Revert "Rename values in SiteConfiguration (2/3) attempt #2""  (attempt #3)
2020-03-05 09:35:48 -05:00
Dave St.Germain
db1b88611c Merge pull request #22258 from open-craft/content-library-permissions
Detailed Permissions for Content Libraries
2020-03-05 09:07:40 -05:00
Nick
0df2debd5b Merge pull request #23283 from edx/ndalfonso/AA-12-reset-deadlines
AA-12 reset self paced due dates
2020-03-04 15:42:46 -05:00
Calen Pennington
95ba1b6e88 Merge pull request #23301 from cpennington/install-schedules-app
Schedules is a core part of the LMS, install it by default, rather th…
2020-03-04 15:26:09 -05:00
Nicholas D'Alfonso
be3b150621 AA-12 reset self paced due dates
- for self paced courses, if a sequential's due date has passed
  and it is incomplete, allow the user to reset the start_date
  for the related schedule to now, thus shifting all due dates
  for all sequentials within the course by the pre determined
  due date offset.
- add historical table to the Schedule model.
2020-03-04 15:13:46 -05:00
Troy Sankey
d428f7530d Revert "Revert "Rename values in SiteConfiguration (2/3) attempt #2""
This reverts commit e6f58b6d4c.

This is our third (3rd!) attempt to deploy stage 2 of this column rename.
2020-03-04 14:53:47 -05:00
Robert Raposa
d28889db1a delete oauth2.enforce_jwt_scopes waffle switch
The code for this switch was removed in:
https://github.com/edx/edx-platform/pull/23188

BOM-1324
2020-03-04 10:56:52 -05:00
Calen Pennington
d853444229 Schedules is a core part of the LMS, install it by default, rather than through the plugins mechanism 2020-03-04 10:52:17 -05:00
Manjinder Singh
7d2ff9cd3f Removing all settings that have OIDC in name (#23251)
* Removing all settings that have OIDC in name

* Removing ENABLE_DOP_ADAPTER

* changes JWT_ISSUER value in devstack
2020-03-04 09:06:29 -05:00