Fundraising/Cluster/Payments staging server

From Wikitech

Overview

The payments-staging server is part of fr-techs fundraising cluster. This server is used to live-test changes to payments processing before final deploy to production.

This server is only accessible with a WMF Fundraising SSL client certificate. Otherwise it has the same access to payment provider gateways, and behaves like the production payments servers in terms of wiki content, message queues, and logging. We have discussed being able to use separate queues and wiki content, but that has not been implemented so far.

Deploying to staging

The fundraising code deployment tools deploy two payments-related projects to this server, "payments-wiki" is the exact same code version as production, and "payments-wiki-staging" is the same branch but can be set to a different commit ID. Deployed project corresponds to the hostname in the web request, https://payments-staging.wikimedia.org serves the "payments-wiki-staging" project, and https://payments.wikimedia.org (accessible by changing your local /etc/hosts file) serves the regular "payments-wiki" project.

This allows you to merge a new commit in gerrit, and do final testing before deploying to production.

To update just the staging codebase, on the deploy server you would run "fundraising_code_update -p payments-wiki-staging" and then "rsync_blaster payments::ALL".