[01:15:37] andrewbogott_afk: hey was sleeping [01:15:41] responding to email now [04:32:55] thanks to whoever gave me shell access :) [04:36:06] nice, that was quick [09:57:26] hi guys help needed with running pywikibot for tamil wiki [09:59:05] ask please. People will feel more useful if they can answer than if they can say 'yes, I am around' [09:59:31] for this page திருத்தந்தை அகாப்பெட்டஸ் it shows this "À®¤à®¿à®°à¯à®¤à¯à®¤à®¨à¯à®¤à¯ˆ அகாப்பெட்டஸ் " [09:59:53] it creates the wrong page [10:01:01] Ah. I found they have a channel here, #pywikipediabot, which you may click with a mouse to join and ask. [10:01:52] no no while running on my pc it did no error edited the right page on wmflabs it goes wrong [12:50:42] @search repo [12:50:42] Results (Found 4): load, report, rb, labstore3, [12:50:50] @search gerrit [12:50:50] Results (Found 6): gerrit, whitespace, git-puppet, gerritsearch, ryanland, gitweb, [12:50:56] !git-puppet [12:50:56] git clone ssh://gerrit.wikimedia.org:29418/operations/puppet.git [13:57:16] !log created Jenkins CI slave integration-slave01.pmtpa.wmflabs [13:57:17] created is not a valid project. [14:05:33] Coren: I submitted patches [14:05:40] plz merge to resolve batton of bugs [14:05:55] You have spammed! :-) [14:06:50] Wait, why are the bugs marked resolved and there is no gerrit? [14:07:30] Oh, ah! [14:07:49] So: last line of a gerrit summary, put the bugzilla like this: [14:07:52] Bug: 55555 [14:08:10] That links it both ways, puts the bz in 'patch_submitted' mode, and notifies me. :-) [14:10:10] Coren: are we really installing qt and X on tools? [14:10:39] YuviPanda: Not unless someone makes an incredibly good case for it. [14:11:13] Coren: ah, just saw https://gerrit.wikimedia.org/r/96478 [14:11:19] Such a good case that, a tear in the eye, historians will fondly recall the argument as one of the finest pieces of debate in written history. [14:11:21] I guess that won't be merged as it is [14:11:39] oh wow it even asks for dbus [14:11:58] aha [14:12:14] YuviPanda: what is wrong on QT? [14:12:23] it still doesn't suck so hard as python :P [14:12:25] petan: I'll let Coren handle that questio [14:12:26] n [14:12:37] you realize that QT does some terminal stuff too? [14:14:03] * anomie notes that dbus, x11, and various other weird things are already (unofficially) installed on various Toollabs hosts [14:14:45] o.O [14:14:56] anomie: other than -dev? [14:16:07] No X on grid nodes. No -dev libraries on grid nodes. Tool labs isn't the right place for CI; I'll gladly help someone set a gridengine up if they want to do massively parallel builds, but any form of CI needs to go into a suitable project. (Hint: tool labs isn't suitable) [14:16:09] YuviPanda, Coren, anomie: what is wrong on dbus? I want to hear sane anwers only, not something like "it sucks" [14:16:13] petan: dbus is on -login, -dev, -exec-01 through -exec-08, but not -webgrid. Same goes for a bunch of packages beginning with "x11". OTOH, dbus-x11 is only on -login, -dev, -exec-01 through -exec-06. [14:16:32] * YuviPanda suggests that we kill all the x11 related packages with fire [14:16:34] anomie: probably was a part of some image or dependency to another package? [14:17:02] petan: Nothing wrong with dbus, though it's dubious that it's that useful in a grid environment since you can't insure two things that want to communicate end up on the same node. [14:17:02] petan: indeed - there is no x11 directly in that patch, but it pulls them in as deps [14:17:13] petan: Probably. [14:17:19] YuviPanda: dbus has nothing to do with X11 [14:17:29] YuviPanda: neither most of QT packages [14:17:48] err, trace the dependency chains [14:17:56] you will end up at x at some point [14:18:02] because GUIs [14:18:06] petan: Most QT packages are not useful on grid nodes; why in hell would they be needed? [14:18:12] I didn't make these packages, go blame their authors? [14:18:14] * anomie would be happy to see all those unnecessary packages removed from the exec nodes. [14:18:31] Coren: so that C++ sources that use them can be run there? [14:18:45] I have a task now that I have to run in screen on -dev because that's the only server where it runs [14:18:49] it's a terminal program [14:19:03] petan: ... linked against Qt? [14:19:06] yes [14:19:12] petan: Why? [14:19:13] it's a QT terminal application [14:19:27] because it's cross platform framework that works? [14:19:41] you know some other better C++ cross platform framework? [14:20:05] petan: Then package a qt-nox. [14:20:20] The very idea of installing Qt on grid nodes is insane. [14:20:29] why [14:20:42] I think that idea of installing python anywhere is insane :P [14:21:03] Thankfully, python isn't a graphical toolkit. [14:21:10] Unlike Qt. [14:21:17] that's not entirely true [14:21:43] python supports graphical front ends, just as QT does... and just as in QT you can write terminal app's in python [14:21:44] It /is/ entirely true. That it also has some other generally useful stuff alongside its primary function is immaterial to what Qt is. [14:22:27] qt terminal applications DO NOT run in graphical environment. They don't even include QtGUI library which is needed for that [14:23:54] petan: specifically, I was talking about that one patch [14:24:01] petan: it installs x11 on the cluster [14:24:04] well, if you don't like QT on nodes, I will just keep running that terminal task on -dev in screen... but I thought that running tasks in grid was preferred [14:24:34] petan: if it can be redone in a way that does not require x11, I think that will be more palatable? (Not sure if that's still better off) [14:24:38] petan: Yes, and you can also have dinner in your car; that doesn't mean they are apropriate for the dining room. [14:24:47] petan: If they don't include the QtGUI library, why is your patch including libqt4-gui? [14:24:48] also if there is x11 on -dev it should be purged [14:24:55] YuviPanda: it installs X11 libraries, not xserver, so only harm it does, would be that it takes some disk space [14:25:11] anomie: that's a good question [14:25:30] anomie: I don't really need it, but I think I forgot to remove that from the list I grepped from my own PC [14:25:43] petan: I would not count on it working. I'm probably not going to bother doing manual purges on the current setup, but I can promise you there won't be libX11 anywhere near the eqiad setup. [14:26:18] petan: If you build your patches by grepping your list of install packages, then you have another different issue. Don't include random things that aren't actual dependencies. [14:26:41] petan: You really should have started with ldd of your actual program, with the goal of finding the minimal dependencies. [14:27:02] anomie: ldd finds .so files, not apt packages that are needed in gerrit [14:27:14] Some of the original images that were used were almost ubuntu-desktop because they included way too much crap by default. :-) [14:27:24] petan: Yeah, it's a little more work for you. So? [14:28:24] Coren: some of the packages in that patch don't even exist. qt5-default for example [14:28:28] petan: ^ [14:29:36] YuviPanda: http://packages.ubuntu.com/raring/qt5-default [14:29:45] YuviPanda: doesn't exist on wikimedia repository, maybe [14:29:56] petan: and that is what matters, no? [14:30:10] Coren: also, a good portion of GNOME is also installed, at least in -logi [14:30:11] n [14:30:32] well, so maybe these people who are supposed to merge the patch (who actually have access to wikimedia repository, which I don't) can fix that or not? you can't expect me to fix something I can't fix [14:31:19] petan: well, I already -1'd it, and I don't expect other *actual* ops people to have a different opinion. [14:31:24] petan: Have you looked at (a) what the package is and (b) which *release* it's for? [14:31:35] petan: just giving you suggestions :) [14:31:58] petan: It's (a) a development package "Qt 5 development defaults package" and (b) it exists only in raring up. [14:32:22] ok scratch that. I will stick with screen, that works and requires incomparably less time to set up [14:32:46] petan: That won't work in eqiad. [14:33:00] there is going to be no screen in equiad? [14:33:14] Coren: petan will just apt-get install random shit until his code works there too [14:33:59] petan: No, but libX11 will be pinned to -1 (i.e.: blocked from installing) [14:34:11] YuviPanda: I don't know if there is some random shit on -login or other exec nodes, but if there is some, it's not from me, because these servers I don't install stuff to by hand [14:34:39] Some of the original images that were used were almost ubuntu-desktop because they included way too much crap by default. [14:34:40] I am only touching -dev and usually I install there -dev packages that are needed, not just "some shit" [14:34:42] ^^ [14:34:57] petan: they should go in dev_environ, rather than 'apt-get install' [14:36:21] YuviPanda: yes they should and they go there, but executing apt-get install usually speed up the waiting time for package from 2 months to 1 minute [14:36:44] we've had that argument before [14:36:56] petan: Wait, what? You used apt to install packages on -dev without putting them in puppet?! [14:36:56] what's wrong on adding a package to puppet and then installing it by hand so that you don't need to wait for a mere? [14:36:58] * merge [14:37:19] Coren: that's been a point of contention between me and him since... forever [14:37:27] Coren: no, I did apt-get after putting them to puppet, before it was merged [14:37:32] petan: For one, your patch you install X11 would get -2; so obviously the apt-get is presumptive. [14:37:40] s/you/to/ [14:39:01] petan: Secondly, unless you have infallibility, you *will* forget things that way. Or do "oh, forgot that" then not update the manifest. Or any of a thousand human fails. Hence, we have a process. [14:40:08] petan: And "months" is ridiculous. I've yet to see a simple package install patch in gerrit that I - or a dozen other people - couldn't merge minutes after being asked on IRC at worse. [14:41:30] remember tdbc? ;) [14:41:42] that should be simple [14:44:48] [14:44:56] petan: Also, please don't close bugzillas until the patch is merged. The correct status is "PATCH_TO_REVIEW", and that is set automatically if you put the bz in the gerrit commit msg [14:49:03] Coren: uh, did I do that? if so, that had to be some mistake [14:50:06] what's up with labs icinga [14:50:08] petan: Possibly; you did it on at least one bug. Anyways, that'll all be done automatically when you submit patches if you include 'Bug: XXXXX' as the last line(s) of the commit message. [14:50:15] has config errrors [14:51:33] which one? [14:52:37] http://icinga.wmflabs.org/icinga/ [14:52:41] are there more than one? [14:52:52] oh the bug, nevermind [14:59:19] persia: I may have mixed two up. Where is the patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=56997 ? [15:00:09] petan: ^ [15:00:44] Heh, good. I'm still reading the rationale :) [15:02:38] Coren: hey, how do i get a lowercase name in gerrit? [15:02:45] Coren: hmm, I thought that was a part of another patch... seems I indeed forgot that one, fixing [15:03:12] fwiw, i'd just w3m as text-browser that can support frames [15:03:19] s/just/use [15:03:46] has IPv6 too [15:05:21] mutante: elinks is very nice too. [15:05:55] petan: ^^ install elinks too while you're at it. Anyone who wants one probably can use the other. [15:06:47] I'd like to but I am not able to amend this commit [15:06:57] for whatever reasons gerrit doesn't like it [15:07:45] petan: Also, https://gerrit.wikimedia.org/r/#/c/96484/ is a good example of a commit message you might want to follow. It has the bug number, etl al. [15:09:01] so aude I imagine I should try and setup a wikidata builder instance through puppet? :d [15:09:10] Coren: bookmarked :P [15:09:28] addshore: or you can add a role to mediawiki-vagrant, and use labs-vagrant :D [15:09:41] mhhhm? :P [15:09:45] addshore: https://wikitech.wikimedia.org/wiki/Labs-vagrant [15:10:05] addshore: if you add a wikidata role to vagrant, it's instantly available on labs via labs-vagrant [15:10:18] of course it is not suitable for things that require more than one patch [15:10:28] s/patch/machine/ [15:10:33] hmmm, not sure I follow :P [15:10:44] petan: NVM, I already put elinks in long ago. [15:10:44] addshore: have you used vagrant? [15:10:44] let me say what we need to do ;p [15:11:01] YuviPanda: never actually used vagrant before, but not sure its exactly what Im aiming for here ;p [15:12:11] mutante: icinga fixed [15:12:34] We need a place to run a script on an hourly basis, Specifically something like https://github.com/JeroenDeDauw/WikidataBuilder . This should probably be done through puppet to make sure it is easily redeployable etc [15:12:38] YuviPanda: ^^ [15:12:53] it's just a cron job [15:12:58] petan: :) thanks [15:13:04] yw [15:13:10] aude: indeed ;p [15:13:26] puppet might be overkill, although can be done [15:13:41] might be good [15:13:45] indeed, but with puppet, if its working, its never going to break ;p [15:13:52] aude: addshore for that particular repo, I'd suggest tools is good enough [15:13:55] no need to go puppet [15:14:12] now we just need to look at NRPE and stuff some other time http://icinga.wmflabs.org/cgi-bin/icinga/status.cgi?host=all&servicestatustypes=16&hoststatustypes=3 [15:14:15] and if it is missing packages - file bugs and poke me and I can submit patches :) [15:14:47] mhhm, YuviPanda I guess this kind of counts as production esc so perhaps we will stick it on our own instance in the wikidata project [15:15:00] addshore: heh, yeah - easy enough to do that too [15:15:31] * aude ultimately like it in zuul [15:15:38] but then we run into issues [15:15:40] so then it would be good to setup the environment for it to run through puppet so if we need to burn the insatnce it can be easily redeployable? [15:15:45] addshore: we should add that to puppet in the existing maintenance cronjobs i think [15:15:52] there is maintenance.pp [15:16:06] which does that for a whole bunch of other crons for mw-related stuff [15:16:14] mutante: won't work because of certain issues [15:16:14] that sounds like it could be the right place [15:16:22] addshore: not sure [15:16:23] aude: which issues do we fall on? :P [15:16:47] mutante: we need to pull from github, is that an issue? [15:16:48] same issue with jenkins we have [15:17:00] addshore: yes, why not gerrit [15:17:12] then we have to mirror stuff on gerrit [15:17:23] yes, that's the one we use.. [15:20:50] anyways, the examples for puppet crons .. it's just like cron {} and command=> , hour => etc. examples from misc/maintenance.pp can be copied [15:21:02] will take a look [15:21:09] "just a cronjob" is actually "deploy software", right ?:) [15:21:25] it makes a "build" which goes into gerrit [15:21:32] the gerrit repo is what is deployed [15:21:52] ah [15:22:40] so yes, its a cronjob which runs a script and makes a commit to gerrit :P [15:23:02] wait, that would mean we tell puppet to make gerrit commits [15:23:27] PRIVATE KEYS! [15:23:28] heh, let's ask Ryan about this because he's on the deployment stuff [15:23:33] :P [15:23:45] if not we will just have to stick it on a labs instance for now :) [15:25:13] so, next question, is there some magical puppet place or confuig place to automagicaly mirror repos onto gerrit? ;p [15:26:25] not sure, i just use gerrit in the first place, but i know others have done the mirror thing [15:26:37] in both directions afair [15:27:05] hashar: i guess you know this:) hi [15:27:43] delegating to Chad [15:28:03] I don't know of any automation to replicate github back to a gerrit repository [15:28:11] should be possible using a bot in labs and github hooks [15:28:15] maybe YuviPanda would know [15:28:25] it doesn't exist [15:28:29] as such [15:28:57] you could download github source.. oh wait, it's not free [15:29:13] you would need to listen to GitHub webhooks and push it gerrit [15:29:19] or have a cron [15:29:20] that [15:29:32] does a git pull github master and a git push gerrit master [15:29:41] and have the repo configured for automatic push [15:29:51] or have a bot that does the merges automatically for you [15:30:23] Coren: can you elaborate on that "it will not work on equiad" I can actually move this whole job from tools project to huggle project, where we got these few MB to install libdbus, QT etc :P [15:30:24] aude: addshore it is sadly not a supported scenario (GitHub -> Gerrit replication) [15:30:29] wait [15:30:35] i remember hoo saysing something [15:30:47] YuviPanda: we will make it supported [15:30:54] maybe from github side [15:30:54] :D [15:30:57] nice [15:30:58] Coren: should I keep it running in screen or move to different instance then? [15:31:03] petan: No part of Tool Labs will have any X libraries when reinstalled fresh. [15:31:15] https://gerrit.wikimedia.org/r/#/admin/projects/labs/tools/SuchABot [15:31:15] I'd suggest not running anything in screen [15:31:23] petan: Unless you can remove your dependencies on X, then it'll stop working. [15:31:26] ok I will move it out of tools project then [15:31:34] good to know [15:31:45] Better would be "moreve dependencies on X" [15:31:51] But meh, it's your tool. [15:32:38] okay, such a bot doesnt quite hit the nail on the head [15:32:47] but it's not my packages. I didn't package QT, I don't know why it depends on X libraries, and TBH I don't even see why there must be no X libraries (libraries aren't running, just lying on storage) [15:33:09] probably a webhook or something we can setup with github [15:33:12] addshore: you need something that will C+2 V+2 submit on the patch that you get from git push [15:33:14] * aude not exactly sure how it works [15:33:25] I think that reason why there are dependencies to X libs is that someone else was lazy to split it to more packages [15:33:27] addshore: you don't need a bot, gerrit has an ssh interface that lets you do it [15:33:27] aude: yes we can do webhooks in github [15:33:30] localisation update does stuff automatically [15:33:33] so they just mixed stuff that doesn't need X with stuff that does [15:33:38] yup [15:33:49] something similar + webhook probably [15:33:56] aude: webhooks is rather easy, github has that really nicely done :) [15:34:00] yep [15:34:03] yup [15:34:15] aude: especially if you just want to have a notification on 'merge' or 'push' [15:34:20] * aude nods [15:34:28] the other notifications are weirdly available from the API but not the UI, which is weird [15:34:41] yus [15:34:50] still need to set them up for our repos [15:35:02] :D [15:35:25] addshore: unrelated, but I'm taking a break today - for my wrist pain. Should hopefully be back on that wikidata patch tomorrow [15:35:36] addshore: although your patch no longer applies cleanly [15:36:13] * aude still here tomorrow :) [15:36:26] and friday.... [15:36:59] aude: oh, SF? [15:38:21] YuviPanda: no, here on irc and berlin [15:38:29] ah right :) [15:38:51] aude: my tz are messed up, so my concepts of 'today' and 'tomorrow' are a bit murky right now :) [15:38:59] hah [15:39:06] you are in SF again? [15:39:10] aude: but will hopefully find you and addshore around 'tomorrow' on your local timezaone [15:39:15] sure [15:39:27] aude: no in India, but took a week off to write exams, so am on a Indian Standard Time [15:39:36] aude: wile usually I'm much closer to PST [15:39:43] ok [15:40:02] anyway, I'll have to go sleep now. rather sleepy. [15:40:06] night! [15:40:09] * YuviPanda waves [15:51:13] Coren: how do I safely change instance that is self puppet to default puppe [15:51:14] t [15:51:33] I saw a mail from Ryan that it's needed so that it get a new network settings [15:51:35] aude: could just call it 'wikidata' [15:51:49] confusing [15:51:57] wikidata-build [15:52:15] or something [15:53:01] petan: I expect just removing the puppetmaster::self class should do. [15:53:04] petan: last time i checked that wasn't possible yet, and it meant having to create a new instance [15:53:17] Coren ^ that's what I thought :P [15:53:30] or, rather, was afraid of [15:54:06] mutante: I don't really want to have puppet back to previous state, I just wanted that instance to work in equiad [15:54:13] mutante: is there any other way? [15:54:18] then waht is that setting? [15:54:19] what* [15:54:24] can it be manually done? [15:54:30] evil, though :) [15:54:49] there is nothing evil compared to puppet :) [15:54:53] !puppet [15:54:53] http://scary.hostei.com/ascarywaterorg-/img/scary+puppet1.jpg learn: http://docs.puppetlabs.com/learning/ troubleshoot: http://docs.puppetlabs.com/guides/troubleshooting.html [15:54:55] heh [15:55:01] Coren: could we get another project on labs please? :) [15:55:31] addshore: only if you dance on a table! [15:55:43] :/ our tables are not very stable :/ [15:56:05] stable table you want, hmm... [15:56:17] petan: how do you mean previous state? like before you made changes in puppetmaster::self ? [15:56:39] i'd say you have to take the changes and add them to regular master [15:56:42] mutante: to state where my instance won't die after it's migrated :-) [15:57:09] petan: eh. yea. just have the puppet classes checked in? [15:57:17] according to Ryan, every instance that uses puppetmaster::self will not be registered to network in equiad [15:57:18] and apply on eqiad instance? [15:57:29] btw, why do you say eqiad, is it already moving? weee [15:57:46] I just saw some email days ago [15:58:13] eh yea. i don't know what to say besides then the changes from ::self have to go into the regular repo [15:58:45] or you make a backup of your puppet files at least? [15:58:47] addshore: You might. What's it for? [15:59:00] 4) Labs instance owners: Make sure that puppet is running properly on your instances. If '$sudo puppetd -tv' produces any red lines, then fix them or contact me for help with fixing. When instances move to the new data center we'll be relying on puppet to update location-specific settings, so instances without puppet may not survive the move. If your instance uses self-hosting puppet (via puppetmaster::self or role::puppet::self) then you will [15:59:17] hi people. I've a problem: On the toolserver I've used exec('convert 123.jpg -crop [...]') directly out of a php script. (Tool for cropping files and upload by bot). On Labs it seems not be possible to execute command by php, I get 127 (command not found). Anyone a idea how to do it? [15:59:41] Coren: it's for our github to gerrit thing [16:00:07] Luxo: It's probably just not in your path. Use '/usr/bin/convert' rather than just 'convert' (it's also safer) [16:00:08] for our regular wikidata project, we are a bit more liberal about giving admin access [16:00:20] aude: Sure. What project name? [16:00:28] for this, we want to restrict it more [16:00:32] addshore: ^ [16:00:41] wikidata-build? :) [16:01:07] Coren: ah ok thank you. [16:02:04] addshore: {{done}} [16:02:09] cheers :) [16:02:12] \o/ [16:02:16] thanks Coren [16:49:18] who wants to puppetize me? :d [16:49:58] Im fairly sure what I want to do is simple, but I have never touched puppet before ;p [16:56:31] addshore: does it boil down to defining the content of file(s)? [16:57:03] the most common things you'd want is defining a file{}, installing a package{}, running a {service} .. [16:57:13] it boils down to needing 4 packages installed [16:57:33] well then potentially pulling something from git and adding a cronjob [16:59:52] addshore: similar to this http://paste.debian.net/66831/ for the packages [17:00:55] and mutante this should all be in a new manifest or new module ? :P [17:01:57] addshore: you'd start with a single manifest, making it a module is nice to have, you could start with it right away but not necessarily [17:02:08] do you think this will grow in the future? [17:06:14] mutante: no, not really :P [18:12:34] addshore: if you're doing any new puppet work please add it as a module or add to an existing module. [18:12:41] Our goal is 0 manifests outside of modules. [18:16:37] andrewbogott: okay :) I am doing :) [18:16:45] thanks :) [18:16:55] never used puppet so trying to figure out how to do some basic stuff is rather ammuning :P [18:17:03] right now I'm more used to anisble :P [18:18:07] i.e. now what is the correct way to clone / pull master from a repo at every puppet run :P [18:18:18] Be warned that puppet uses a bunch of words (e.g 'class') that mean totally different things from what they mean everywhere else in programming :( [18:18:32] Oh, um… use the git::clone class with ensure => 'latest' [18:18:38] although I just found git::clone :P [18:18:55] yup, Im just grepping all of the other manifests for key words ;p [18:18:58] I believe that with 'latest' it will rebase on each puppet run. [18:20:41] next stage, I need a user for all of this stuff ;p [18:22:51] getting there slowly but surly ;p [18:23:53] Hey guys [18:24:11] anybody has some notes on to how to configure MW to be behind Varnish or an external provider such as Fastly? [18:24:30] I found two URLs with some config and was wondering if somebody among you had more experience [18:24:31] https://www.varnish-cache.org/lists/pipermail/varnish-misc/2012-January/021574.html [18:24:35] http://www.mediawiki.org/wiki/Manual:Varnish_caching [18:32:58] mutante: at the office yet? ;p [19:23:42] mutante: made a patch, cant find you on gerrit though ;p [19:56:48] hi, is there mwscript available on betalabs? [20:45:47] mwscript? [20:55:12] MartijnH: i copied it from production ,seems to be working ok :) [20:55:38] we should probably put it into common bin dir [20:55:50] very useful for shell-based wiki debugging [20:56:18] hashar: would i break anything if i run puppetd -tv on betalabs bastion? [21:06:34] yurik_: it is being run by cron every half hour or so [21:07:22] hashar: on betalabs? because i modified one of the prod files (minor fix to see if it works), and was wondering when it will get reset back to the master git [21:12:21] yurik_: not sure [21:12:26] I think it is every half hour [21:12:37] thx [21:13:54] yurik_: wait, what have you changed ? [21:15:00] addshore: re. find me on gerrit as dzahn [21:16:30] hashar: data/project/apache/common-local/php-master/extensions/ZeroRatedMobileAccess/includes/PageRenderingHooks.php [21:16:49] yurik_: that will be reverted, that is done every 6 minutes or so [21:16:57] and can eventually break the updater [21:17:13] you should really test out on your local wiki [21:22:03] mutante: added you to it [21:32:13] Coren, hihi [21:32:27] What's up? [21:33:34] Coren, can you help me diagnose something? The python script rfppbot.py doesn'r seem to be running, but I'm not getting any errors. Can you tell me what 1615584 is doing? [21:35:29] notconfusing_, your username is confusing me. I'm confused because I don't understand what's not confusing about your username "notconfusing_". Can you unconfuse me? :p [21:36:43] Cyberpower678, the thing that is not confusing about my username is that it is self-referential. [21:37:32] Cyberpower678: Lemme take a looksie [21:37:33] coren: you call the tcler's wiki a Fcgi homepage?! [21:37:49] the information is of 11/2000 anyway [21:37:58] notconfusing_, I see. That's totally not confusing at all. [21:43:14] restarted apaches on labs [21:43:19] 32 & 33 [21:46:56] giftpflanze: If you find me a working and maintained fcgi for tcl, then we can talk. :-) [21:47:19] haha [21:47:21] Coren, do you see anything? [21:47:29] have you tried it at all? [21:48:09] giftpflanze: Unless it's well hidden, there it isn't in apt; so I'd need something to package. [21:50:01] Cyberpower678: As far as I can tell, it's not doing anything at all, just sitting completely idle waiting on a poll() [21:50:13] a poll() [21:50:14] ? [21:51:05] Coren, a poll()? [21:51:19] Coren, What's that and what's causing it? [21:51:29] Waiting for activity on a file descriptor; probably a network socket. [21:51:59] Coren, elaborate, please. [21:53:35] Cyberpower678: Nothing to elaborate on, but I did find what it's python waiting *on*: the script itself. [21:53:49] Oh, or not. Look at the wrong line. Hang on. [21:53:58] Coren, why is it waiting on that? It never idled before. The script always started immediately. [21:54:16] coren, look: https://github.com/nagarajanchinnasamy/tclfcgi/commits/master [21:57:04] Cyberpower678: It's sitting idle in its main loop. [21:57:11] ??? [21:57:14] From what? [21:57:23] I don't see what could be causing that. [21:57:51] Well, it seems to have errors, but it's not clear to me why they're not being sent to stderr. [21:58:27] If I were able to see the errors, I would be able to fix them. :p [21:58:34] i experience with my script that stderr is sent to stdout [21:58:49] when it comes out of a thread [21:59:22] Coren, oh yea. I've been meaning to ask about that. Why do Python scripts print to stderr and report errors to stdout? [22:00:12] As far as I know, they don't normally do that. [22:00:33] It keeps doing it. [22:00:55] Cyberpower678: Your code is erroring out; but I don't see why it's not sending the errors to you. Run it by hand. [22:01:57] I don't know how. I'm no python experts. I don't have a python debugger. [22:02:13] That's why I've been working to convert these scripts to PHP> [22:02:19] $ become cyberbot [22:02:19] $ cd /data/project/cyberbot/compat [22:02:19] $ python rfppbot.py [22:02:28] Oh. [22:03:12] = = = = = = = = = = Wed Nov 20 22:02:49 2013 (UTC)= = = = = = = = = = [22:03:13] Unhandled exception in main() [22:03:13] [22:03:13] Traceback (most recent call last): [22:03:13] File "rfppbot.py", line 144, in main [22:03:17] protectionrequests = rfppdata[re.search("\n==\s*Current requests for increase in protection level\s*==\s*\n", rfppdata, flags=re.I).end(0):re.search("\n==\s*Current requests for unprotection\s*==\s*\n", rfppdata, flags=re.I).start(0)] [22:03:21] AttributeError: 'NoneType' object has no attribute 'start' [22:03:23] None [22:03:29] I've never seen that error before. [22:04:25] Coren, ^ [22:04:49] Hold on... [22:04:52] I think I see it. [22:05:02] I'm guessing it's data driven or something; it does seem to have bits of WP:RFP into it. Perhaps something on the page it inspects is broken in a way that confuses it? How should I know? :-) [22:06:05] Coren, so know you have something to work on. Fix the python stderr and stdout. [22:07:05] You're presuming there is something broken about it; and I know that people use it. It's either your code or something it uses that switches things around. If it reopens stderr, for instance, that'd explain it. [22:08:35] I find that somewhat hard to believe since the jsub syntax is identical to my PHP ones and they're outputting just fine. [22:08:43] It's using the print command. [22:09:14] and all of the errors are being thrown into the out file while the output is being thrown into the err file. [22:12:57] Jsub doesn't care what your code is written in. If it works for PHP, it works for python. [22:13:57] And I just tested rfppbot.py from the command line; it does send errors to stdout. [22:16:01] It's sending the errors to stdout because of the way it handles exceptions [22:16:36] it's catching the exception, then printing the details [22:21:58] Well, there you go. [22:22:47] Coren: have you seen my link? [22:25:32] Coren: Ive got an idea for a basic extension and not sure who to bribe to get it created [22:26:05] Betacommand: Sorry, I'm out of minutes for an hour or so; giving an interview. [22:26:14] Coren: np [23:22:41] Coren, how about now? Is Rfppbot doing something. It keeps hitting that 503 issue causing it to die. Python and Pywikipedia are so unreliable. [23:27:56] You know you're perfectly allowed to run a bot by hand while you're debugging. :-) [23:29:31] I ran it by hand and it worked. I send it to jsub, and it seems to do nothing. Without stderr and stdout, I'm kind of dead in the water. [23:34:35] !ping [23:34:35] !pong [23:34:46] !Pong [23:34:49] !pong [23:34:49] !pang [23:34:52] !pang [23:34:52] !pung [23:34:55] !pung [23:34:55] !derp [23:34:59] !derp [23:34:59] Ok enough. I don't want to do this all day. [23:35:05] ^^ [23:35:29] Coren, see my reply above. [23:37:26] Can you fix the stdout and stderr Coren? [23:42:24] Cyberpower678: There is nothing to fix. Change your program so that it doesn't output errors itself to stdout. [23:43:38] Coren: can you please answer me? [23:45:37] Coren, no I mean so that it starts outputting something. It's still not outputting a thing. [23:51:46] Coren: are you Tools-labs projectadmin? [23:52:09] (03PS1) 10Andrew Bogott: On startup, prime redis with all the routes in our db. [labs/invisible-unicorn] - 10https://gerrit.wikimedia.org/r/96668 [23:52:10] Cyberpower678: are your "o" and "e" files empty? [23:53:10] saper, yes. [23:53:57] @labs-project-users tools [23:53:57] Following users are in this project (displaying 19 of 379 total): Novaadmin, Ryan Lane, Coren, Addshore, Legoktm, Tim Landscheidt, Petrb, Darkdadaah, Wizardist, Fox Wilson, Jan, Ceradon, Dcoetzee, Krinkle, Jeremyb, Jmo, UA31, Andrew Bogott, DGideas, [23:54:04] yes hello. [23:54:13] :O [23:55:44] if wm-bot really listed all 379 users, I'm sure we'd have a lot of torches and pitchforks. [23:56:04] im sure one of us would make it blow up before it could finish :D [23:56:09] I guess early adopters are being penalized. [23:56:27] indeed >.< [23:56:37] I guess I'm just outside of that list. :p [23:56:41] cant we do it in reverse alphabetical order? :d [23:56:44] I'm one of the earlier adopters. [23:56:50] alphabetical sucks :> [23:57:10] I'd like reverse alphabetical order. [23:57:58] i feel that should be the norm everywhere [23:58:34] Meh. My first name starts with M and last with D. So I'm ok with reverse alphabetical order.