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

SONIC-848: Management Command to Migrate Program Offers to Commercetools #16

Open
wants to merge 16 commits into
base: 2u/main
Choose a base branch
from

Conversation

NoyanAziz
Copy link

⛔️ MAIN BRANCH WARNING! 2U EMPLOYEES must make branches against the 2u/main BRANCH

  • I have checked the branch to which I would like to merge.

⛔️ DEPRECATION WARNING

This repository is deprecated and in maintainence-only operation while we work on a replacement, please see this announcement for more information.

Although we have stopped integrating new contributions, we always appreciate security disclosures and patches sent to [email protected]

Anyone internally merging to this repository is expected to release and monitor their changes; if you are not able to do this DO NOT MERGE, please coordinate with someone who can to ensure that the changes are released.

Required Testing

  • Before deploying this change, complete a purchase in the stage environment.
    (^ We can remove that manual check once REV-2624 is done and the corresponding e2e test runs again)

Description

Describe what this pull request changes, and why these changes were made. How will these changes affect other people, installations of edx, etc.?
Please include links to any relevant ADRs, design artifacts, and decision documents. Make sure to document the rationale behind significant changes in the repo, per OEP-19, and can be
linked here.

Useful information to include:

  • Which edX user roles will this change impact? Common user roles are "Learner", "Course Author", "Developer", and "Operator".
  • Include screenshots for changes to the UI (ideally, both "before" and "after" screenshots, if applicable).
  • Provide links to the description of corresponding configuration changes. Remember to correctly annotate these changes.

Supporting information

Link to other information about the change, such as Jira issues, GitHub issues, or Discourse discussions.
Be sure to check they are publicly readable, or if not, repeat the information here.

Testing instructions

Please provide detailed step-by-step instructions for testing this change; how did YOU test this change?

Other information

Include anything else that will help reviewers and consumers understand the change.

  • Does this change depend on other changes elsewhere?
  • Any special concerns or limitations? For example: deprecations, migrations, OpenEdx vs. edx.org differences, development vs. production environment differences, security, or accessibility.

Comment on lines 133 to 136
if existing_uuids_set == new_uuids_set:
return False, None

combined_uuids = list(existing_uuids_set | new_uuids_set)

Choose a reason for hiding this comment

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

This approach will manage new and updated records from legacy systems but won't address deletions. For instance, if an offer initially had an 8% discount, it would be migrated into group 8. If that offer is later changed to 5%, it will then migrate to group 5 in the next run, but the offer would still exist in group 8 on CT. How do we plan to handle this discrepancy?

Copy link
Author

Choose a reason for hiding this comment

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

We will be informing the teams responsible to not edit any program offer after the migration


if not response:
logger.error(
"Failed to create cart discount with type %s and value %s.",

Choose a reason for hiding this comment

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

Would we re-run command from this one as well?

Copy link
Author

Choose a reason for hiding this comment

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

Yes, this is also a failure in command.

Choose a reason for hiding this comment

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

should we note somewhere about when to re-run command and when to consider it successful? Maybe a small runbook ?

Copy link
Author

Choose a reason for hiding this comment

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

Yes, we can create one. Can you share an example of this?

"sortOrder": f"{sort_order:.20f}".rstrip('0').rstrip('.'),
"isActive": True,
"requiresDiscountCode": False,
"stackingMode": "Stacking",
Copy link
Member

Choose a reason for hiding this comment

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

shouldn't we disable stacking 🤔

Copy link
Author

Choose a reason for hiding this comment

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

Stacking will be enabled for Program offers otherwise we cannot apply program-related coupons

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