T229363: Write and merge puppet patch to update parsoid-rt-client.config.js to talk to Parsoid/PHP adds a parsoidPHPURL to the client config.
We need two things:
- Now, we need a mechanism for roundtrip-test.js to use the current default (JS) url or pick the PHP url so we run rt testing with Parsoid/JS or Parsoid/PHP. One way to do this is for the script to check for the presence of a file (or its contents) on disk that we manually toggle to pick what version we want to run. This lets us switch versions on our own without code commits or puppet changes.
- The Parsoid/JS curl command is curl http://localhost:8142/<domain>/v3/page/html/<title>/<revid> and Parsoid/PHP curl command is curl -x scandium.eqiad.wmnet:80 http://<domain>/w/rest.php/<domain>/v3/page/html/<title>/<revid>. So, we need to ensure we compute the parsoid/php url appropriately. It will not be based on parsoidPHPURL as it is set up in puppet. We could make it a format-string instead. Plus, we need to direct the request to the proxy, not localhost. So, we may need to enhance the client settings in puppet to include that as well.
- parsoid-rt test runs are automatically triggered based on changes to git HEAD in /srv/deployment/parsoid/deploy/src. This setting is in /etc/testreduce/parsoid-rt-client.config.js (which comes from puppet) in the gitRepoPath property. However, testreduce service has another option to trigger new tests. You can provide it a gitCommitFetch property which is a function that testreduce clients run to figure out the test run id. Take a look at /etc/testreduce/parsoid-vd-client.config.js. We will probably want to use that same mechanism to manually trigger new test runs. This lets us control when to use scandium for running roundtrip tests and when to use scandium for performance testing. So, we can continually update code on scandium when bugs are fixed and run performance tests without triggering parser tests and heavily loading the server as a result.