Page MenuHomePhabricator

Run the orphan rectifier job from CRM Jenkins
Closed, ResolvedPublic4 Story Points

Description

Write a new Drush job to create and run a GlobalCollectOrphanRectifier.

For early review:
https://gerrit.wikimedia.org/r/#/c/300708/

Deploy and enable job using Jenkins.

Details

Related Gerrit Patches:
wikimedia/fundraising/crm : masterKill any configured fraud checks before making recurring charges
wikimedia/fundraising/crm : deploymentRe-enable recurring GC tests, add more
wikimedia/fundraising/crm : masterRe-enable recurring GC tests, add more
mediawiki/extensions/DonationInterface : masterDon't use frontend classes from fraud filters
mediawiki/extensions/DonationInterface : masterBe less magical about unstaging order status things
wikimedia/fundraising/crm : masterLet DI globals come from configuration files.
mediawiki/extensions/DonationInterface : masterAlways call antifraud hooks after get_orderstatus
mediawiki/extensions/DonationInterface : masterNo longer testGetOrderStatusSkipsIfFail
mediawiki/vagrant : masterDonationInterface settings for running under the CRM
mediawiki/extensions/DonationInterface : masterEnablement switch for BannerHistoryLog
mediawiki/extensions/DonationInterface : masterAdd more dirs to composer classmap
wikimedia/fundraising/crm : masterOrphan rectification for Drush (SEE NOTES)

Event Timeline

awight created this task.Jul 27 2016, 9:21 PM
Restricted Application removed a project: Patch-For-Review. · View Herald TranscriptJul 27 2016, 9:21 PM
awight moved this task from Backlog to Orphan rectifier on the FR-ActiveMQ board.

Change 300708 had a related patch set uploaded (by Awight):
Orphan rectification for Drush (SEE NOTES)

https://gerrit.wikimedia.org/r/300708

awight added a subscriber: Danny_B.Aug 3 2016, 10:16 PM

@Danny_B I'm curious why you removed Technical-Debt ? I might agree with you, but perhaps you can share the reasoning behind this?

You created this as a subtask, so it inherited all tags even those unrelated such as Patch-For-Review or Technical-Debt. Herald can easily remove Patch-For-Review, but can't decide on other tags. Technical debt is obviously the epic parent itself, however, partial tasks to resolve the epic aren't. Cf. Technical-Debt description and https://www.mediawiki.org/wiki/Technical_debt and https://en.wikipedia.org/wiki/Technical_debt. This task is basically about creating new feature.

Still have some request stuff to workaround:

Fatal error: Class undefined: RequestContext in /vagrant/srv/org.wikimedia.civicrm/extensions/DonationInterface/gateway_common/gateway.adapter.php on line 231

Need globals for payments-init and payments-fraud...

Have some stuff for review in the config deployment repo, on the awight-orphanage branch.

awight changed the point value for this task from 2 to 4.

One more important detail from code review: we need to run fraud hooks in the orphan rectifier, but not for recurring Ingenico charges. My current theory is that we set up all the fraud hook globals like on payments, but the recurring job somehow avoids calling those. That looks a tiny bit easier and more correct than making a new configuration for the orphan rectifier.

Let's just set $wgDonationInterfaceEnableCustomFilters to false in the RGC job.

Change 306310 had a related patch set uploaded (by Awight):
Kill any configured fraud checks before making recurring charges

https://gerrit.wikimedia.org/r/306310

The new production config patch is on branch awight-orphanage3

Change 306564 had a related patch set uploaded (by Awight):
[WIP] DonationInterface settings for running under the CRM

https://gerrit.wikimedia.org/r/306564

Change 306575 had a related patch set uploaded (by Awight):
Let DI globals come from configuration files.

https://gerrit.wikimedia.org/r/306575

Change 300708 merged by jenkins-bot:
Orphan rectification for Drush (SEE NOTES)

https://gerrit.wikimedia.org/r/300708

Change 306705 had a related patch set uploaded (by Ejegg):
Add more dirs to composer classmap

https://gerrit.wikimedia.org/r/306705

Change 306705 merged by jenkins-bot:
Add more dirs to composer classmap

https://gerrit.wikimedia.org/r/306705

Change 306711 had a related patch set uploaded (by Ejegg):
Enablement switch for BannerHistoryLog

https://gerrit.wikimedia.org/r/306711

Change 306711 merged by jenkins-bot:
Enablement switch for BannerHistoryLog

https://gerrit.wikimedia.org/r/306711

Change 306730 had a related patch set uploaded (by Ejegg):
Add settings for donation-interface library

https://gerrit.wikimedia.org/r/306730

Change 306730 merged by Ejegg:
Add settings for donation-interface library

https://gerrit.wikimedia.org/r/306730

Change 306806 had a related patch set uploaded (by Ejegg):
Re-enable recurring GC tests, add more

https://gerrit.wikimedia.org/r/306806

This has been deployed and run one-off, but I haven't convinced myself that we're running fraud checks. In fact, one order which failed CVV on the frontend was happing SET_PAYMENT by the new rectifier. OID 3258119210.

Looks like the glitch is that post_process_get_orderstatus gets called too early, before we've pulled in the CVV and AVS responses. That was a wart anyway--we should go ahead and parse the response as part of normal unstaging.

Change 306852 had a related patch set uploaded (by Awight):
Be less magical about unstaging order status things

https://gerrit.wikimedia.org/r/306852

Change 306853 had a related patch set uploaded (by Awight):
Don't use frontend classes from fraud filters

https://gerrit.wikimedia.org/r/306853

Note: I was able to run all the fraud filtering with the pending patches applies, but something bad happened with action ranges, a score of 110 still left me with action='process'. To be continued...

Change 306564 merged by jenkins-bot:
DonationInterface settings for running under the CRM

https://gerrit.wikimedia.org/r/306564

Change 308786 had a related patch set uploaded (by Awight):
Always call antifraud hooks after get_orderstatus

https://gerrit.wikimedia.org/r/308786

Change 309196 had a related patch set uploaded (by Awight):
No longer testGetOrderStatusSkipsIfFail

https://gerrit.wikimedia.org/r/309196

Change 309196 abandoned by Awight:
No longer testGetOrderStatusSkipsIfFail

https://gerrit.wikimedia.org/r/309196

Change 308786 merged by jenkins-bot:
Always call antifraud hooks after get_orderstatus

https://gerrit.wikimedia.org/r/308786

Change 306575 merged by jenkins-bot:
Let DI globals come from configuration files.

https://gerrit.wikimedia.org/r/306575

Change 306852 merged by jenkins-bot:
Be less magical about unstaging order status things

https://gerrit.wikimedia.org/r/306852

Change 306853 merged by jenkins-bot:
Don't use frontend classes from fraud filters

https://gerrit.wikimedia.org/r/306853

Change 306806 merged by jenkins-bot:
Re-enable recurring GC tests, add more

https://gerrit.wikimedia.org/r/306806

Change 310933 had a related patch set uploaded (by Awight):
Re-enable recurring GC tests, add more

https://gerrit.wikimedia.org/r/310933

Change 310933 merged by jenkins-bot:
Re-enable recurring GC tests, add more

https://gerrit.wikimedia.org/r/310933

awight closed this task as Resolved.Sep 16 2016, 7:13 AM
awight moved this task from Backlog to Done on the Fundraising Sprint Rocket Surgery 2016 board.

Change 306310 merged by jenkins-bot:
Kill any configured fraud checks before making recurring charges

https://gerrit.wikimedia.org/r/306310

mmodell removed a subscriber: awight.Jun 22 2017, 9:34 PM