Performance/Runbook/Webperf-tools services

From Wikitech
Jump to navigation Jump to search

This is the runbook for deploying and monitoring webperf-tools services.

Hosts

The puppet role for these services is role::webperf:profiling_tools.

Arc Lamp

Meta

XHGui

Meta

Monitor XHGui

(TODO).

Upgrade XHGui

Ensure you have:

To update our mirror:

  1. In your local clone, fetch from origin and checkout origin/wmf_deploy.
  2. Revert any hot fix commits in our wmf_deploy branch that might conflict with the next upgrade or that would be obsolete. Use git revert aaa0, and reference any relevant Phabricator task in the commit message.
  3. Fetch from upstream and git-merge in all new commits to the desired upstream tag or commit hash. (e.g. git merge upstream/master)
  4. Ensure a git clean working tree (git reset --hard && git clean -dffx)
  5. Ensure /vendor is absent from .gitignore. Instead, ensure /vendor/**/.git is present.
  6. Ensure /cache is absent. git rm /cache, if it is present.
  7. Run composer install --prefer-dist --no-dev --ignore-platform-reqs.
  8. Stage any changes made to gitignore, vendor or cache.
  9. If there are no local changes (cache and ignore were already correct, and no vendor updates in this upgrade), then skip this step and the next step.
    • Create a commit reflecting from which hash to which hash we are upgrading, and mention any relevant Phabricator tasks.
    • Ensure the subject line starts with "WMF: " to clearly distinguish it from upstream commits.
  10. Push to Gerrit. git push origin HEAD:wmf_deploy

To deploy in production:

  1. Happens automatically by puppet every 30 minutes.

To deploy to Beta Cluster:

(TODO. Beta server is like prod webperf002, Debian Stretch; and likewise the role isn't applied here yet.)