[00:48:10] bd808: I also have the domain name "wiki.tools" which I reserved for a tools catalog [00:49:41] hare: if I can make the data repo work the way we hoped in the past maybe you will have a reason to use it as a UI/UX that is somehow better than the repo's :) [00:53:12] I take it early versions of Toolhub will prioritize the data aggregation and organization aspects? [00:54:41] I need to go back over your notes and ideas, and mix in new ideas, to figure out what we are shooting for in the "MVP". But yes the data aggregation layer is foundational I think. [00:55:16] there are some folks hoping for an "app store" but that idea is pretty vague today and beyond the MVP scope. [00:56:27] If you create a toolhub with API that simply works I could probably build a shinier interface on top of it [00:57:19] I'm interested in creating some active discussion group early int he process. I will make sure to invite you to participate. :) [00:57:37] * bd808 needs to go eat foods [01:25:22] alright, let's see if I hit the OOMKiller this time... [09:30:18] !log tools.zppixbot updating /wiki/ to 1.34.2 [09:30:19] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.zppixbot/SAL [09:56:31] !log update done [09:56:32] RhinosF1: Unknown project "update" [09:56:40] !log tools.zppixbot update done [09:56:41] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools.zppixbot/SAL [10:46:23] godog: you were working on a debian package to bridge prometheus alert manager to IRC, right? [10:48:38] arturo: that's correct yeah, it has been sitting in NEW :| [10:48:55] what was the package name? [10:49:19] golang-github-fluffle-goirc ? [10:49:55] that's the one dependency missing in Debian yeah, the package is https://salsa.debian.org/go-team/packages/alertmanager-irc-relay [10:50:27] sadly I can't also upload that to NEW until the build-dep is in the archive [10:52:29] well, I guess you can, but the package will FTBFS until the build-dep is in the archive [10:52:50] if you upload both you may shorten a bit the waiting :-P [10:56:52] heheh I tried! the upload gets rejected automatically if not all build-deps are in the archive already [10:57:25] it could be argued that it should be archive + NEW [10:58:38] but anyways, the packages are otherwise ready arturo [10:59:28] ok [11:17:07] godog: by any chance is packaged here internally somewhere? [12:20:34] arturo: not yet no, they will be as part of Q1 OKRs [12:24:07] ok [13:15:55] !help RhinosF1 is trying to stop all the IRC bots that were running within the mhwikibot tool. All of the bots use the same nickserv account. /ns listlogins shows that there are still 3 connections coming from tools-segbastion-08, and we’re unsure how to terminate them (the nickserv account is SigmaBot) [13:15:55] If you don't get a response in 15-30 minutes, please create a phabricator task -- https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=wmcs-kanban [13:16:45] are they running on the grid? did you check `qstat` ? [13:18:24] legoktm: he says it’s blank [13:18:45] So no [13:20:38] 1 14965 14965 32489 ? -1 SNl 54226 2:28 python mh-stream-beta/snitchbot.py [13:20:41] might be that? [13:22:23] legoktm: that’s one of them [13:22:23] but that's in a different tool [13:22:35] There are 2 other connections [13:22:36] Ah [13:22:44] legoktm: which tool? [13:23:23] x somethign [13:24:19] tools.xslack [13:26:14] anyways, I don't see any other processes that look like an IRC bot [13:26:18] legoktm: andrewbogott was supposed to have stopped them all [13:26:38] https://www.irccloud.com/pastebin/cqxLnmcm/ [13:26:47] is the logins to the account [13:26:56] so snatch is on xslack [13:27:56] well feel free to look around using ps or whatever [13:28:14] I spent all morning and got nowhere [13:28:36] I've killed numerous processes and they don't die [13:29:31] do you have permission to kill those processes? [13:29:52] Everything I've killed I had permission to [13:30:32] * RhinosF1 thinks StreamBot and SigmaBot ran on tools.mhwikibot [13:32:44] by don't die, I mean the bots stay running [13:36:00] RhinosF1: according to your pastebin from earlier, you were connected to login.toolforge.org, these connections are coming from dev.toolforge.org (a different server) [13:37:14] MacFan4000: running ps as the tool from dev. returns same 2 entries [13:37:21] https://www.irccloud.com/pastebin/HRYREOzb/ [14:19:09] andrewbogott: see pm [14:22:03] I'm probably going to need a mandate from T&S or security to spend much more time on this [14:23:07] andrewbogott: ok [14:23:37] andrewbogott: I'll pm [15:44:23] !log paws deployed a proof-of-concept paws-public setup in the new cluster T255997 [15:44:25] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Paws/SAL [15:44:26] T255997: PAWS: figure out paws-public in the new service model - https://phabricator.wikimedia.org/T255997 [16:39:53] !log paws deleted the deployhook from the in-progress new cluster for now just in case T211096 [16:39:57] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Paws/SAL [16:39:59] T211096: PAWS: Rebuild and upgrade Kubernetes - https://phabricator.wikimedia.org/T211096 [21:10:15] hi, I'm trying to understand the structure of the code in this tool: https://github.com/wikisource/ia-upload/ [21:10:50] it looks like the starting page loads from public/index.php. toolforge docs say that php should go into $HOME/public_html. does that mean it would have to be somehow under $HOME/public_html/index.php? [21:11:01] basically there's some mismatch between toolforge docs and this repo's structure [21:13:48] ningu: typically for a repo like that it would be checked out as $HOME/ia-upload and then a symlink made from $HOME/public_html pointing to $HOME/ia-upload/public [21:14:00] hmm ok, I see [21:14:02] that makes sense [21:14:11] the repo is not meant to be cloned bare to $HOME [21:14:15] yeah I see [21:15:14] ok, I'll also keep that in mind for other services I'm going to make -- a node.js one specifically -- but in that case it seems like $HOME/www/js _is_ where you'd want to put it [21:16:27] bd808: any suggestions for how to test changes to this tool? will I have to make my own tool and test it or something? [21:16:31] ia-upload I mean [21:17:42] ningu: you could make a test tool, yes. You probably can just run it locally too. I think it is a pretty boring LAMP stack app. [21:18:51] @seen samwilson [21:18:51] bd808: Last time I saw samwilson they were quitting the network with reason: Ping timeout: 260 seconds N/A at 6/19/2020 3:38:37 PM (6d5h40m14s ago) [21:19:12] Sam is apparently not on IRC right now to ask how he does it :) [21:19:48] I'm guessing he's taking a holiday with that long of a part time [21:21:15] yeah locally seems best, except not sure about the oauth credentials [21:21:19] ningu: musikanimal might know what the typical dev/test cycle for https://github.com/wikisource/ia-upload/ is. [21:21:53] ningu: oh. that part is easy. You can request an oauth grant for http://localhost/ or http://127.0.0.1/ [21:22:06] but without registering a new consumer? [21:22:15] it will work for you even if it is not approved. grants work for the requesting account immmediately [21:22:24] ok, so I do need to register it but it doesn't matter [21:22:53] and no one will care that I'm registering a consumer just for testing that will never be finalized? :P [21:23:16] ningu: nope. I approve about 5 localhost testing grants a week :) [21:23:28] ok, well let me see about getting some little php setup going [21:24:04] are you trying to make a pull request? Community Tech will be quick to review it :) But indeed it'll likely be Sam, unless it's something urgent [21:24:09] !log tools hard rebooting tools-sgebastion-09 [21:24:11] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [21:24:35] musikanimal: ultimately yes, it will be a pull request, this is regarding https://phabricator.wikimedia.org/T178261 [21:24:39] which is funded by a project grant [21:24:54] but I need to familiarize myself a little with the code and be sure the changes are good etc [21:25:19] I don't expect this to be a huge process but I need some sort of development setup [21:27:07] cool! I have never set it up locally, but I imagine it won't be too bad. I'm happy to try to help (Sam is the expert) [21:27:11] it looks like apache+php on macos will work fine [21:27:35] yeah, you probably can just use the normal PHP server, if you want [21:27:49] `cd public` then `php -S localhost:8000` [21:28:26] no promises [21:28:35] oh didn't realize that was possible. ok cool [21:28:53] I'm going to try it too [21:29:07] yeah, that would be a lot eaiser than apache/lighttpd/nginx [21:31:04] it worked for me [21:32:07] still working on getting php and composer installed here :) [21:32:42] oh okay :) you'll definitely need to install those first, hehe [21:32:54] looks like it needs PHP 7.2 [21:32:56] yeah, I don't often do php stuff [21:33:02] yeah, I got 7.4 installed [21:33:08] that works [21:33:36] ok yeah, it's working. awesome [21:34:12] \o/ [21:35:03] btw I see this: Package silex/silex is abandoned, you should avoid using it. Use symfony/flex instead. [21:35:14] not sure if symfony is a different framework but I could update to that too [21:35:39] it looks like symfony is a rebranded silex? [21:35:56] ok I see, symfony is a larger library and flex is the framework, I guess [21:38:08] yeah, flex is like a custom-made dependency manager from the folks at Symfony (though I've never seen it used outside a Symfony app) [21:38:52] but you can ignore the warning for now [21:39:21] ok [21:39:24] !log tools disabling puppet on tools-sgebastion-09 so I can play with mount settings T256426 [21:39:28] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [21:39:29] T256426: Extremely high latency over NFS between kubernetes node and bastion host - https://phabricator.wikimedia.org/T256426 [21:49:58] !log tools re-enabling puppet on tools-sgebastion-09 T256426 [21:50:01] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/SAL [21:50:01] T256426: Extremely high latency over NFS between kubernetes node and bastion host - https://phabricator.wikimedia.org/T256426 [22:43:44] !log paws bumped quota up to 24 instances, 128 GB RAM and 56 cores T211096 [22:43:47] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Paws/SAL [22:43:47] T211096: PAWS: Rebuild and upgrade Kubernetes - https://phabricator.wikimedia.org/T211096 [22:48:19] can't find a guide for this on wikitech - any advice on getting a ruby app (for web usage, uses sinatra) to work on toolforge? [22:49:06] tried one thing based off the python docs, webservice --backend=kubernetes ruby25 shell -> bundle install for the gems, got a write permission error, so [22:52:04] !log paws created paws-k8s-worker-5/6/7 as x-large nodes to bring the cluster up to roughly the same capacity as the existing one using soft anti-affinity T211096 T253267 [22:52:08] Logged the message at https://wikitech.wikimedia.org/wiki/Nova_Resource:Paws/SAL [22:52:08] T253267: Configure the soft anti-affinity (and presumably the soft affinity) server policy - https://phabricator.wikimedia.org/T253267 [22:52:08] T211096: PAWS: Rebuild and upgrade Kubernetes - https://phabricator.wikimedia.org/T211096 [22:55:53] ProcReader: where are you writing to that resulted in EACCES? [22:56:15] ProcReader: I have a todo to write docs :) Let me find the ticket where bstorm and I figured ruby things out... [22:56:43] zhuyifei1999_: I'd forgotten the --user-local param, so it was going to /var/lib, now the gems have installed but that's just one of my problems haha [22:56:52] bd808: appreciate it :) [22:56:59] k [22:57:18] task is T141388 [22:57:22] T141388: Add a easy way to run a ruby webservice on tools - https://phabricator.wikimedia.org/T141388 [22:57:56] oh poop. I didn't write any really useful comments there. Let me find my local notes [22:59:52] ProcReader: see if https://phabricator.wikimedia.org/T141388#6258714 makes any sense to you [23:00:13] that was RoR, but sinatra would be similar I think [23:02:08] think so, will try. one tidbit, I use the https://github.com/brianmario/mysql2 gem with sinatra, I **believe** it requires a mysql dev package like mysql-devel installed. when I did a quick ruby app.rb after installing gems, it error'd with "`require': cannot load such file -- mysql2 (LoadError)" [23:02:45] any way to get around this or something? [23:03:25] we install the "libmariadb-dev" debian package which should provide the headers and libs you need [23:03:29] at least in theory [23:04:11] https://github.com/wikimedia/operations-docker-images-toollabs-images/blob/master/ruby25-sssd/base/Dockerfile.template#L9 [23:05:46] libmariadb-dev is listed in that README for the gem. hrm. Is everything running with `bundle exec` ProcReader? [23:06:25] I imagine sinatra would be a much better fix for Toolforge than rails at least :) [23:10:25] I was trying to run it directly, I think I might know what I'm doing wrong with the gem. will try to fiddle around with it & read the phab ticket and see where I end up haha [23:10:25] one quick question beforehand, reading the notes on phab, rails is running on port 8000. is there a web server built into toolforge that automatically sends requests to the app server? [23:11:26] ProcReader: yes, there is an ingress layer in the Kubernetes cluster that will reverse proxy to your service running on port 8000 in the pod [23:12:06] its actually even more twistedly complicated than that in reality [23:12:41] I obsessively use bundler in ruby. It solves a lot of problems. You might need some fiddling with paths or something otherwise (even though it should work fine to use local gems without...unless the gem was installed with bundle) [23:12:47] [internet] -> [front proxy] -> [haproxy] -> [k8s ingress] -> [service] -> [pod] in reality [23:13:25] yeah, just assume that if the app watches port 8000, everything will work out fine with the webservice command [23:17:00] bd808: can I see an existing list of oauth consumers? [23:17:20] actually all I want to see is ia-upload's current consumer reg [23:17:48] ningu: search for it at https://meta.wikimedia.org/wiki/Special:OAuthListConsumers [23:17:54] thanks [23:19:07] found it -- https://meta.wikimedia.org/w/index.php?title=Special:OAuthListConsumers/view/5edff6876d6c477a3fcda8695e0b2ea5&name=ia-upload&publisher=&stage=1 [23:19:16] I found it too, thanks! [23:20:17] ok, I'm going to propose ia-upload-dev with a localhost callback [23:22:02] is oauth_cid equal to the application name in the consumer? [23:22:59] I'll just give it a try [23:23:42] well, it seems to be working [23:23:51] so it begins [23:24:03] does the "www/ruby/{src,vendor}" structure need to be followed? or does something just need to be listening to port 8000 [23:24:18] ProcReader: pretty sure it does, yes [23:24:26] and it isn't necessarily port 8000 [23:24:39] you need to respect the PORT environment variable -- at least, in other languages you do [23:29:31] ProcReader: you can mess with the structure in the the ruby stuff since you have to write your own startup script. I was just making things mirror the default python setup [23:31:24] but it does need to do into www/ruby, I believe? [23:31:27] to go into* [23:49:07] bd808: kinda getting there, the app starts without error onto port 8000, but viewing it from my browser just gives a 503 Service Temporarily Unavailable. It should say "PONG" (that's what my local install says). guessing the web server -> app server part is broken somewhere, is there any configuration I need to do to tell toolforge what port to forward to, or something? [23:57:43] ProcReader: hmm... the `webservice start` should take care of those bits. Basically you need a Kubernetes Ingress object which in turn needs a Service object. [23:58:06] Are you trying to run by hand inside `webservice shell`?