[00:06:33] gregdek: I don't have any specific ideas - not really thought about it - I'm just wondering if there is a place to submit ideas to for people that do have them [00:16:46] JeroenDeDauw: Good question. [00:17:07] That may be worth discussing on wikitech-l. [00:18:02] JeroenDeDauw: email reminder feature seems somewhat broken [00:27:01] Eloquence: "somewhat broken"? Can you be a bit more specific? :p [00:27:19] it does not send actual emails, and says "email has been sent to 0 participants" [00:28:23] also, can you include the subject in the preview? [00:28:43] Sure [00:28:54] the text says "Reminder e-mail Successfully send the reminder email to 0 contestants" [00:28:59] (should say "sent" not "send" btw) [00:29:22] Right [00:29:31] At least it's doing it successfully :) [00:29:55] heh [00:36:45] JeroenDeDauw, looks like your jobs aren't correct [00:36:50] Doing it manually errorrrs [00:37:03] [00:37:05] Reedy: how to do it manually? [00:37:14] Oh, thqt looks eqsy to fix [00:37:19] on test I've hacked out needs post, token [00:37:26] Will tqke q look when I'm done with the subject thing [00:37:36] and hten instead of $job->insert() use $job->run() [00:37:53] Reedy: right [00:39:04] $user = $this->getUser(); [00:39:07] is where it's borking [00:40:56] id is set. [00:43:47] ["id"]=> NULL [00:51:22] Reedy: thnx, found the issue [00:51:30] I've just fixed it in svfn [01:01:25] ... [01:02:23] And then fixed another bug [01:02:27] Reedy: can you tell me you are going ahead and fix it next time? Now I have an svn conflict [01:02:53] Shouldn't be a complex one [01:06:25] That was unproductive :/ [01:14:09] sorry about that jeroen :p [01:14:29] I am finding some room for improvement in the judging UI, I'll send a separate note about that so we can tackle that as a small iteration [01:15:48] Eloquence: sure [01:17:17] we're still having issues getting email batches to actually send, but I'll let reedy debug that for now so we don't overlap again [01:19:50] works fine on demand (running the job automagically), not so much when it uses the job queue [01:20:02] Wait [01:20:06] I'm on this [01:20:17] Partially fixed it already [01:21:57] Reedy: ^ [01:22:13] that's a join/quit cycle [01:24:55] Reedy: what is? [01:25:08] what you were ^ ing to ;) [01:25:19] lol [01:25:39] Reedy: you are supposed to be able to assign objects to the params array in jobs like I'm doing in the reminder job right? [01:25:56] Yeah, that's fine [01:26:03] Or seems to be [01:26:12] running $job->run() seeems to work fine (ie doing it manually) [01:27:12] I'm getting a fatal error when trying to do it via the UI [01:27:17] object to string conversion [01:27:28] wiki.php line 408 [01:27:30] $output = $job->toString() . "\n"; [01:27:42] That does not deal w/ objects [01:28:32] Or rather what it calls, jobque line 372 [01:30:34] tstarling 14809 [01:30:39] It's been there forever [01:30:58] So am I doing something wrong, or are objects not supported in the jobs params field after all? [01:34:56] JeroenDeDauw, seems to work fine from mw.org... [01:35:13] email via job queue just sent fine from mww [01:35:59] Reedy: I guess mw.org does not have error_reporting(E_ALL| E_STRICT); :p [01:36:04] what's the stack trace for the fatal? [01:36:04] heh [01:36:07] i'd guess not [01:36:25] Reedy: Well, the issue is what I wrote earlier [01:36:37] The method in the base class does not handle objects in that array correctly [01:36:41] So I'm just overriding it now [01:36:56] Didn't make sense to begin with [01:37:04] And why does the job class require a title? [01:37:09] That makes no sense here [01:37:45] Probably from legacy usage [01:37:55] Where most (everything?) did, so was just added there [01:40:12] JeroenDeDauw, rating seems broken.. [01:41:10] *Reedy waits for trunk to svn up [01:47:06] Reedy: what rating? [01:47:14] The judge stuff in contest? [01:47:17] yup [01:47:25] originally it didn't show the rating when i submitted [01:47:39] but erik, greg and I were playing with the same entry, and it was doing some funky things... [01:47:49] like every time i voted 0, it knocked 1 point off the totalk [01:48:30] Reedy: right - I'll have a look [01:53:20] Reedy: I don't see anything wrong with the code [01:53:26] You sure something is going wrong [01:53:32] Then I'll try to reproduce [01:54:51] It's also rounding to integers [01:55:33] (5+0)/2 is apparently 3 [01:56:13] Yeah, that it is doing [01:56:22] But the other thing I'm not seeing [01:57:05] It's also still doing the changing the url to http://localhost:8080/w/index.php [01:58:40] Rating 0 (0 votes) [01:58:44] Your current vote is "5". [01:58:46] That's not my doing - I can just change it back to what I had and worked, but might want to ask Roan what it's about [01:59:27] hmm, it seems ok on trunk [01:59:30] so what hasn't been merged [01:59:46] I made some fix related to the rating updating [01:59:53] Seems like a likely candidate [02:00:13] I should've tagged it as having a followup if I merged it.. [02:00:16] can you check? [02:03:12] sure [02:04:19] https://www.mediawiki.org/wiki/Special:Code/MediaWiki/100079 [02:04:22] Reedy: ^ [02:04:42] that's pre-branch [02:05:30] I'm just gonna rebranch from trunk [02:05:42] Right [02:05:46] Easier than wasting time trying to find a missed file/whatever [02:06:05] I'm now fixing the rounding issue - will need db update :/ [02:07:32] Well now is the time to be doing those changes (ie when there is little data) [02:17:43] Reedy: well sure [02:18:07] I just failed at creating a TINYINT field for the rating stuff >_> [02:18:11] It's fixed now [02:18:53] Wouldn't float/double be better? [02:22:42] Reedy: maybe [02:22:47] This works just fine though [02:23:18] I'm off [14:51:50] <^demon> hashar: So I was thinking of putting the job config in a separate git repo, rather than in puppet. [14:52:02] ^demon: hey :) [14:52:08] <^demon> Morning :) [14:52:11] ^demon: I have seen you added a new lint target [14:52:20] <^demon> Yeah, I set that to run @daily [14:52:35] <^demon> Could probably make it a shorter interval, it didn't take quite as long to run as I thought it would. [14:52:52] I don't really like the fact that each job need to fetch trunk/extensions, but since it is local traffic and disk space is cheap, it is probably not an issue. [14:53:00] which linter do you use? [14:53:22] *hashar looks at build.xml [14:53:24] <^demon> Just php -i for php files. [14:53:39] <^demon> We should probably put CSS and JS linters in that too. [14:53:58] under different jobs maybe [14:54:13] the ant 'lint' target use php -l which is quite slow [14:54:35] <^demon> It wasn't *too* slow. [14:54:46] <^demon> Too slow to run per-commit yeah, but it didn't take too long. [14:54:59] there is a faster version in /trunk/tools/code-utils/lint.php [14:55:11] <^demon> Total time: 2 minutes 29 seconds [14:55:12] <^demon> Finished: SUCCESS [14:55:20] <^demon> Not bad for looping over all of core + extensions ;-) [14:56:38] <^demon> I haven't put parsekit on gallium yet. I've had mixed results in 5.3.x [14:56:53] some PECL extensions just don't work in 5.3.X it seems [14:57:01] php -l is enough for now anyway [14:57:06] <^demon> Yeah, it'll do. [14:57:31] about the configuration files, why not using puppet? [14:57:42] <^demon> Well the config for jenkins is puppetized. [14:58:05] <^demon> But I figured the config for individual jobs doesn't really need to be in the puppet repo, I'd rather have it in a second repo. [14:58:13] <^demon> I imagine our build files would be useful outside wmf :) [14:58:38] plus it will let us alter the configuration without waiting for ops to deploy the change [14:58:45] <^demon> Right, that too. [14:58:46] maybe a local repos is enough? [14:58:55] <^demon> Eh, I'd still like to put it through gerrit. [14:59:18] then let s have the op set up a new repository [14:59:33] <^demon> Right, I was going to ask Ryan about that today. [14:59:38] <^demon> (This came to me late last night :p) [14:59:46] eh? [14:59:55] <^demon> Can we have a new git repo in gerrit? [15:00:00] <^demon> For config of jenkins builds? [15:00:09] why a new repo for that? [15:00:27] <^demon> Not something we really need to go through ops for [15:00:39] <^demon> Also, they'd be generally useful outside wmf too. [15:00:51] <^demon> It would be for things like ant's build.xml. [15:00:51] <^demon> J [15:00:58] <^demon> enkins config itself would remain in puppet [15:01:05] our puppet config is publicly available [15:01:16] <^demon> I know that. [15:01:38] what would this be called? [15:02:18] <^demon> "jenkins-job-config?" [15:02:22] <^demon> Or something along those lines [15:02:39] *Ryan_Lane groans [15:02:44] a repo for one specific thing? [15:02:52] <^demon> There will be many jobs. [15:03:09] *Ryan_Lane nods [15:03:18] I guess a number of people will participate too [15:03:44] <^demon> Hopefully they do :) [15:03:58] hmm. need a better name [15:04:16] <^demon> I'm open to better names, sure. [15:04:26] build/jenkins? [15:04:32] <^demon> That works [15:04:39] we'll also likely have build/debian [15:05:03] and maybe build/hiphop, or something like that [15:05:17] hmm. I still don't really like that either. heh [15:05:20] naming things is hard [15:05:32] <^demon> At least you're not naming a server ;-) [15:05:35] <^demon> That's really hard. [15:05:36] name it Leeroy/Jenkins [15:05:40] heh [15:05:43] no. this is harder [15:05:46] I can never change this [15:06:01] phase3 anyone? [15:06:05] <^demon> How about integration/jenkins? [15:06:10] http://www.youtube.com/watch?v=LkCNJRfSZBU [15:06:23] what else would go under integration [15:06:24] ? [15:06:28] <^demon> Not sure :) [15:06:31] heh [15:06:53] most possible changes will go either MediaWiki or to the upstream tools [15:06:58] we only need configuration to get tracked [15:07:03] possibly testswarm / jenkins [15:07:08] *Ryan_Lane nods [15:07:10] ok [15:07:18] and maybe Selenium if we do not want them in phase3 [15:07:20] integration/jenkins it is [15:07:28] I am not sure what is planned for selenium though [15:08:06] <^demon> Hopefully nothing ;-) [15:09:11] <^demon> Speaking of testswarm, where are we on getting things upstreamed? Can we puppetize that soon I hope? [15:09:56] ^demon: https://gerrit.wikimedia.org/r/#admin,project,integration/jenkins,access [15:10:03] you should be able to modify the permissions [15:10:07] <^demon> I just saw that show up. [15:10:09] <^demon> Awesome, thanks. [15:10:15] I recommend using wmf group for most things [15:10:48] and anonymous for read [15:11:49] I just added some permissions ;) [15:11:52] ^demon: testswarm is under Krinkle responsibility. I am not sure where his code lands [15:12:01] ^demon: probably on github in a fork/branch [15:12:47] <^demon> Right I know that, I didn't know if you were following it. [15:12:58] <^demon> I've been meaning to ask, but jenkins has kept me busy. [15:13:18] we will shift some loads to me :D [15:13:28] please note I am not there tomorrow (heading to a wedding in spain) [15:13:45] <^demon> On the plain? [15:14:35] I don't get it sorry :-[ [15:15:23] <^demon> It's a rhyme in English. [15:15:30] <^demon> http://en.wikipedia.org/wiki/The_Rain_in_Spain [15:16:16] seems popular [15:16:39] <^demon> Hah, leave it to enwiki to finish the lead with this. [15:16:42] <^demon> "Spanish rain does not actually stay mainly in the plain. It falls mainly in the northern mountains.[2] In Spanish, the phrase was translated as La lluvia en Sevilla es una maravilla (The rain in Seville is marvelous)." [15:19:27] unknown host zwinger.wikimedia.org ... [15:19:38] <^demon> zwinger's been dead for ages I thought? [15:19:48] <^demon> Or am I thinking of another. [15:20:12] yup, replaced by fenari [15:20:31] that used to be the NFS server for all PHP files and a bastion host [15:22:33] <^demon> Ryan_Lane: So to do an initial push, I just create the same branch name I'm using locally (master), and give that to gerrit with the commit hash? [15:22:45] <^demon> And then add remote origin? [15:22:47] you can clone it right now [15:22:50] then do a push [15:23:09] you don't have enough permissions set [15:23:15] you don't have push rights ;) [15:23:28] or read [15:23:35] at minimum you need those [15:23:49] and push merge commit [15:23:54] to submit [15:24:15] you also want forge author and forge submitter [15:24:47] <^demon> Is there an anon group I can give read to? [15:24:55] yes. anonymous [15:25:03] how do we list all the projects in gerrit? [15:25:10] anonymous users [15:25:26] (found it : Admin -> projects [15:25:27] <^demon> Ah/ [15:25:28] go to Admin->Projects [15:25:54] <^demon> It's not adding 'anonymous' or 'anonymous users' as a group [15:27:13] worked for me [15:27:13] I got it cloned with a warning: [15:27:14] warning: remote HEAD refers to nonexistent ref, unable to checkout. [15:27:26] hashar: no one has read perms yet [15:27:32] now you do [15:27:39] I just added anons :) [15:27:52] <^demon> Capitalization mattered, it seems. [15:27:55] <^demon> Stupid gerrit [15:28:00] \o/ [15:28:02] yeah [15:28:06] caps matter :) [15:28:17] Admin->Groups will show you available groups [15:28:40] <^demon> Admin->Groups shows me testlabs and wmf. [15:28:41] <^demon> That's it [15:28:45] really? [15:28:46] heh [15:28:55] we need to create it maybe? [15:28:59] you probably don't have enough permissions [15:29:02] no [15:29:15] you aren't a site admin [15:29:39] ahh [15:29:41] I am :D [15:29:44] I can make the groups listed [15:30:03] looks like I created a new group [15:30:11] though it is an internal group [15:30:30] yeah. you may even be able to link it to an ldap group [15:30:38] I think any project owner can do so [15:30:59] now you should see more groups [15:31:26] <^demon> yay groups [15:32:03] I got Administrators, Anon Users and Registered Users now [15:32:38] <^demon> Yep [15:32:57] that is not in LDAP though [15:33:36] ops is a subgroup of administrators ;) [15:33:49] anon and registered are automatically generated groups [15:33:55] <^demon> We should make integration inherit ops members [15:34:15] we have adequate permissions in All-Projects [15:34:28] <^demon> Mmmkay [15:34:31] wait [15:34:33] no we don't [15:34:34] heh [15:34:57] registered users have push access on all projects [15:35:06] everyone can forge author [15:35:19] everyone can label code reviewed +-1 [15:35:29] labsadminbot can label verified everywhere [15:37:10] <^demon> I only think we need the one branch, master. But I'd like "anyone to push" and "integration members can accept/merge" [15:37:42] everyone can push [15:38:03] push merge commit is what you guys need [15:38:19] you also want code-review +-2 [15:38:27] and submit [15:38:32] where are those rights? I can't reach them in gerrit web interface [15:38:43] you aren't an owner [15:38:59] cause I am not in the wmf group right? [15:39:07] correct [15:39:09] lemme fix that [15:39:10] *hashar feels like a noob when it comes to gerrit [15:39:32] we can just make the integration group owner of the project [15:39:40] that'll work too [15:39:50] I don't want to be an admin of your operations things [15:39:54] hmm [15:39:59] you are in wmf group [15:40:04] I have a "site breaking" background :D [15:40:27] Admin->Projects->your project->Access [15:40:37] you don't have permissions on our project ;) [15:40:41] only ops members do [15:40:44] I have missed the selection box "Add Permission ..." [15:40:51] *Ryan_Lane nods [15:40:57] gerrit has a confusing interface [15:42:38] maybe I should read the doc first [15:42:54] <^demon> So, to push and needing a review, I should `push origin HEAD:refs/for/master` [15:43:21] yep [15:43:29] I'd make that an alias [15:43:52] <^demon> Yeah I was going to [15:43:55] <^demon> Once I confirmed :) [15:44:22] <^demon> Missing change-id in commit message :( [15:44:39] we require change-id [15:44:52] yeah. you need to add the hook [15:44:53] https://gerrit.wikimedia.org/r/#admin,project,integration/jenkins,info [15:45:00] commit-msg hook [15:45:13] this is why I made a script for this for puppet ;) [15:45:13] <^demon> Ah yes [15:45:26] <^demon> I started the script for aliases and such :) [15:45:39] heh [15:45:39] true [15:45:54] this is why I added to the script you made is more accurate ;) [15:48:44] ^demon: isn't the puppet repository commit hook enough? [15:48:51] <^demon> Yeah it is :) [15:48:53] or is there anything specific there that we do not want [15:58:32] <^demon> I committed our version of the git-setup. [15:58:37] <^demon> As well as a README. [15:59:18] *hashar looks at gerrit [15:59:39] *hashar looks for the whole diff [16:00:00] <^demon> There is no unified multiple file diff. [16:00:10] oh my god, it opened 3 browsers tabs [16:00:59] there is a "git web" links where we can get a full diff view [16:02:01] I think I have approved it [16:02:25] <^demon> You reviewed, we'll do a submit now. [16:02:26] and +1ed it [16:02:41] looks like it need code review +2 [16:03:09] <^demon> Let me fix that. [16:03:41] Patch Set 1: Looks good to me, but someone else must approve [16:03:44] <^demon> Aw, Ryan left :( [16:03:45] I had no other choice :D [16:04:00] can't you +1 it ? :D [16:04:12] <^demon> Maybe that'll work. [16:04:19] <^demon> But you should be able to make some people +2. [16:04:40] I have a [Submit Patch Set 1] button [16:04:57] <^demon> Yep, it needs a "+2" added. [16:05:00] <^demon> Not 2x +1 [16:05:16] App Error : Patch Set 1: Looks good to me, but someone else must approve [16:05:19] grr [16:05:25] App Error says it needs code review [16:05:29] well we are screwed [16:06:20] <^demon> Ok, I fixed it [16:06:32] <^demon> I deleted our CR's, try reviewing again [16:06:47] I have changed the label https://gerrit.wikimedia.org/r/#admin,project,integration/jenkins,access [16:07:04] Label Code-Review for the integration group was -2 +2, made it -1 +1 [16:07:24] <^demon> I made it +2/-2 [16:07:27] <^demon> That's what I wanted. [16:07:31] oops [16:08:06] yeah [16:08:10] +2 Looks good to me, approved [16:08:47] I have received the change! [16:08:50] \o/ [16:09:50] <^demon> There we go :) [16:10:07] <^demon> So if we just make a habit of approving each other, we should do fine. [16:10:34] do we really need that much overhead ? [16:10:40] maybe we can just auto merge? [16:11:28] <^demon> I think there's a way to push-without-review [16:11:31] <^demon> I'd have to ask Ryan again [16:14:07] bah [16:14:11] gerrit rejected my change [16:22:36] I think I pushed a change [16:22:51] https://gerrit.wikimedia.org/r/#change,417 \o/ [16:31:09] ^demon: what do you want to add to the git repos ? [16:31:34] the whole /var/lib/jenkins ? [16:31:46] I am not sure tracking the plugins and update are that much important though [16:31:55] <^demon> No, just the things in /var/lib/jenkins/jobs/* [16:32:32] <^demon> And in those directories, just the build.xml, build.properties, config.xml, and any supplementary config/tweaks a specific build needs. [16:32:49] <^demon> Things like the lastStable, lastSuccessful, workspace, etc we don't need to checkin either [16:33:02] nods [16:33:23] at one point, I think we will need to have a script generating the build.xml / config.xml files [16:33:48] I have set up the REL1_18 job by copy pasting the trunk build.xml file [16:33:55] <^demon> The config.xml is generated by the jenkins ui. [16:34:12] <^demon> So when we do a git pull on gallium, any diffs would be changes people've made via the UI but not checked in. [16:41:56] <^demon> Ok, I went ahead and pushed the lint and phpunit jobs to gerrit [16:46:41] reviewing [16:47:02] yeah, safari crash! [16:48:53] ^demon: why do I get two patch set? [16:49:11] does it means you made two commits and then pushed them to form 1 change? [16:49:12] <^demon> I messed up on the first, so I did a commit --amend [16:49:30] <^demon> Just review patch set 2, you can ignore the first. [16:51:22] merged both [16:52:29] <^demon> So, once we get these last two in, we can go ahead and use the git checked out version. [16:52:34] <^demon> And I'll tweak puppet. [16:53:38] I am trying to tweak a puppet configuration :D [16:54:29] <^demon> jenkins' overall config.xml isn't in puppet yet (it needs to be!) but I need Ryan's help in moving the private info to the non-public repo. [17:03:32] ^demon: we should move all those jobs in a job directory [17:03:46] would let us have a 'common' directory at the root [17:04:37] at least you have cleaned up the xml files :-))) [17:04:49] <^demon> Yeah, I'm removing things not applicable to specific builds. [17:07:54] hurrur [17:07:57] <^demon> Lunchtime :) [17:27:23] preilly: sec? [17:27:33] hexmode: what's up? [17:27:52] for triage next wed, is 9AM your time ok? [17:28:03] that way we can get more Europeans, etc [17:28:07] hexmode: that's fine [17:28:14] k [17:52:02] gregdek, that's live [19:22:23] ^demon: I have updated change #420 :) [19:22:55] and got 24 Gerrit messages meanwhile! Yum spam /\ [21:18:26] so i got both Mac OS X 10.7 and Ubuntu 11.10 installed on this MacBookPro .... but there's no boot menu offering Linux. :) d'oh [21:19:16] brion: Boot Camp ? [21:19:34] i shouldn't need boot camp, linux is efi-friendly these days [21:19:40] worth a shot i guess [21:20:05] boot camp assistant doesn't like my partitioning scheme [21:20:07] srsly? [21:20:08] well, if you want a boot menu and startup disk options in macosx, it wants you to use boot camp :D [21:20:30] normally i expect to hold down option and be presented with all available startup disks [21:21:21] Hm.. good point [21:21:31] but i only see the mac partition offered [21:21:47] perhaps partion-thingy related ? [21:23:57] so... disk utility claims "this disk appears to be partitioned for boot camp" ;) [21:25:02] some pages claiming i need to install refit.... others claiming refit doesn't work with lion [21:26:54] ok others claiming manual install works. let's try this :D [21:30:04] no dice [21:30:18] Write your own from scratch in binary? [21:30:56] hah [21:31:10] i'll just let the rest of the apple stuff install before i go back to fiddling ubuntu on it [21:31:22] but i am impressed that the 11.10 livecd booted, ran in full gui, and ran through to completion in the installer [21:31:25] nothing crashed \o/ [21:31:31] all i need now is to, um, be able to boot it [21:42:12] http://earthquake.usgs.gov/earthquakes/dyfi/form.php?network=Unknown&code=Event&lang=en [23:03:04] Rarrgh [23:03:12] Why is code behaving differently on the cluster