Page MenuHomePhabricator

Modernize the admin tool's codebase
Closed, ResolvedPublic

Description

The admin tool (https://tools.wmflabs.org) is the front page for Tool Labs. The codebase that powers this PHP site is a one-off "framework" that has been around for quite a while (3+ years?). Some work was done in early 2016 to update the codebase and make it slightly easier to work with, but there is a lot more that could and should be done to make this a codebase that people are not afraid to work with.

I'd like to update it to use the rWSLI wikimedia/slimapp framework as a base. This will allow introducing more structure to the code as well as open up the possibility of internationalization and other improvements.

Event Timeline

@yuvipanda and @valhallasw I think that this is ready to actually use in place of the current admin tool's www content. Could the two of you give both the live app and the code a look to see if you can spot any obvious problems?

Change 299703 had a related patch set uploaded (by BryanDavis):
iDO NOT MERGE] role::tooladmin

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

I like it! (and @valhallasw is on vacation for another week I think)

I tried to deploy this live to https://tools.wmflabs.org/ and hit some problems:

There was no output to error.log for any of these problems. All of these actions seem to work at https://tools.wmflabs.org/admin-beta/, but live debugging as the main https://tools.wmflabs.org/ landing page is a bit nerve-wracking.

@yuvipanda can you think of some way I can test in a more production like environement than my local mediawiki-vagrant setup without actually making the tool live for the whole world?

Here's how I was testing switching back and forth between the new code and the legacy code:

Switch tool-admin-web on as k8s service
webservice stop; rm public_html; ln -s tool-admin-web/public public_html; cp .lighttpd.conf.new .lighttpd.conf; webservice --backend kubernetes start
Switch tool-admin-web on as OGE service
webservice stop; rm public_html; ln -s tool-admin-web/public public_html; cp .lighttpd.conf.new .lighttpd.conf; webservice --backend gridengine start
Switch back to legacy OGE service
webservice stop; rm public_html; ln -s toollabs/www public_html; cp .lighttpd.conf.old .lighttpd.conf; webservice --backend gridengine start
bd808 changed the task status from Open to Stalled.Sep 20 2016, 4:17 PM

Note to my future self:

[22:35]  <yuvipanda>	bd808: the way to test these would be to test this on tools-proxy-02 by hand hacking
[22:35]  <yuvipanda>	that way it won't be live for people
[22:35]  <yuvipanda>	and you can curl
[22:35]  <    bd808>	oh nice
[22:36]  <    bd808>	just pointing proxy-02 at admin-beta instead of admin then?
[22:37]  <yuvipanda>	bd808: yeah

Change 299703 abandoned by BryanDavis:
[DO NOT MERGE] role::tooladmin

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

Mentioned in SAL (#wikimedia-cloud) [2017-07-27T22:27:07Z] <bd808> tool-admin-web is live. Switch back with ~/old.sh if things go sideways. (T140254)

bd808 changed the task status from Stalled to Open.Jul 27 2017, 10:29 PM

It's alive! I'm going to leave this open for a couple of days in case the prior broken behavior resurfaces.

Change 368318 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[operations/puppet@production] wmcs: remove toollabs::admin_web_updater

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

Change 368318 merged by Andrew Bogott:
[operations/puppet@production] wmcs: remove toollabs::admin_web_updater

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

Change 368798 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/toollabs@master] Remove legacy www content

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

Change 368798 merged by jenkins-bot:
[labs/toollabs@master] Remove legacy www content

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