[00:18:26] !log account-creation-assistance Unable to SSH in to accounts-database, issuing a reboot [00:18:28] Logged the message, Master [00:23:03] !log account-creation-assistance `apt-get update && apt-get upgrade -y` on all accounts-* [00:23:05] Logged the message, Master [00:24:17] !log account-creation-assistance accounts-application requesting reboot, fulfilling [00:24:18] Logged the message, Master [04:14:28] !log reportcard updated puppetmaster::self repo to head and force-runned puppet [04:14:29] Logged the message, Master [05:29:53] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Needed Toolserver features was modified, changed by MZMcBride link https://www.mediawiki.org/w/index.php?diff=667368 edit summary: [+38] /* Links */ +1 [07:56:00] [bz] (RESOLVED - created by: Antoine "hashar" Musso, priority: Low - enhancement) [Bug 46104] reduce the number of wiki on beta - https://bugzilla.wikimedia.org/show_bug.cgi?id=46104 [08:47:53] !ping [08:47:54] pong [08:49:20] petan: pm [13:34:39] @notify petan [13:34:39] This user is now online in #huggle so I will let you know when they show some activity (talk etc) [14:08:46] hi Coren :P [14:08:54] Heya. [15:54:04] !log tools giving sudo to Petrb in order to update qdisplay [15:54:08] Logged the message, Master [15:55:19] !log patched /usr/local/bin/qdisplay so that it can display jobs per node properly [15:55:20] patched is not a valid project. [15:55:24] !log tools patched /usr/local/bin/qdisplay so that it can display jobs per node properly [15:55:26] Logged the message, Master [15:59:36] Coren and what about the logging from terminal? should we have something like "log" command in bots? [16:00:28] petan: I don't feel strongly about it either way; I'm always on irc so using !log here is just as easy for me. Do you think it useful? [16:00:44] Coren, do you have cycles to talk about service groups a bit? [16:01:18] andrewbogott: If you give me 5, I'm all yours after that. [16:01:28] I don't really care either but I find it myself useful, because I am lazy :) I don't need to switch windows while I am in terminal and when I want to log some command I just did, I can scroll in history and prefix it with log just to log it to sal [16:01:30] ok. Time for me to make a cup of tea [16:01:44] I don't know about others [16:01:52] if it was just up to me I can install it to ~/bin [16:02:01] I don't know if other users want it or not... [16:02:23] I can search SAL to see how many users except for me were using it [16:04:18] !log tools petrb: installed log to /home/petrb/bin/ and testing it [16:04:20] Logged the message, Master [16:07:46] andrewbogott: Actually, I should probably nab a quick lunch; do you mind if I delay you my 15-20? [16:07:57] np [16:08:00] brb [16:29:38] * Coren is back. [16:29:42] andrewbogott: I'm all yours. [16:31:10] ok. firstly… I'm ready to turn on the service group code on wikitech whenever you are available to stand by and test it. [16:32:30] I'm standing by for you! [16:32:32] secondly… I'd like to set up a chown sudo rule and make sure it does what you're expecting. [16:33:12] Have you already written the code you need to implement the service groups/users out of ldap? (I'm not clear on what's needed on the instance level. Maybe nothing...) [16:34:28] andrewbogott: There isn't much to do on my side, mostly create directories and check a couple of permissions; I'll be able to adapt my existing creation code for it; I wanted to have actual service users in LDAP to work on it (which doubles as a happy fun test) [16:34:41] ok. So, here comes the merge. [16:35:35] Yeay. I see service groups. :-) [16:35:36] ok, the service group GUI is live on wikitech. Hopefully it's obvious how to operate. [16:36:18] It behaves in exactly the obvious way. [16:36:29] * Coren looks at the LDAPness. [16:38:57] Ah, right, we need to merge the addition to nslcd.conf first [16:40:17] What's the basedn of the per-project ou again? [16:40:18] I don't think I know what that is :) Is there a patch already written someplace? [16:40:33] andrewbogott: No, I'll make one once I test it live in 30s. :-) [16:41:14] ou=groups,cn=,ou=projects,dc=wikimedia,dc=org [16:41:35] and ou=people,cn=,ou=projects,dc=wikimedia,dc=org [16:42:57] I haz a suksess! [16:43:01] root@tools-login:/etc/ldap# id local-test [16:43:01] uid=40000(local-test) gid=40000(local-test) groups=40000(local-test) [16:43:01] root@tools-login:/etc/ldap# id marc [16:43:02] uid=2138(marc) gid=500(wikidev) groups=4(adm),8000(local-sample),8010(local-csbot),50062(project-bastion),50064(project-bots),50082(project-webtools),50380(project-tools),40000(local-test),500(wikidev) [16:43:18] cool [16:44:44] puppet is going to trample that away shortly, but I'll write a changeset for that. [16:45:58] andrewbogott: Do we have a puppet variable containing the project name automatically that you know of? [16:46:27] Hm… not sure. I think so. [16:46:28] * andrewbogott looks [16:49:34] Coren, looks like it is just $instanceproject. Does that work? [16:51:36] That'll work. I just found it myself in ldap/autofs.default.erb [16:59:18] git review is sooooo slow. [17:05:38] andrewbogott: https://gerrit.wikimedia.org/r/#/c/57082/ [17:09:01] Doesnt' that break existing uses of passwd, shadow, group? [17:10:30] No, it adds a new place to /also/ search, the result is the concatenation of all result sets. [17:10:43] * andrewbogott looks again [17:11:27] per nslcd.conf(5): [17:11:36] This option may be supplied multiple times and all specified bases will be searched. [17:11:56] Oh, ok. Weird! [17:12:23] No, it make sense - lots of orgs have users under more than one OU [17:13:53] Makes sense that it would take a list, but… I guess I'm not used to that kind of config format. [17:13:55] Anyway… merged :) [17:18:52] And we now have service groups. Now to plan a transition outage for tools to move the ad-hoc service groups to the new scheme and we be all set. Thanks a bundle, andrew. [17:23:12] Coren: So if I'm developing a new tool that will hopefully be developed by multiple users, should I request a new one? [17:23:44] legoktm: No, no, I'll convert the "ad-hoc" local tool users to the new ones transparently. [17:24:26] Er, so I should just set it up in legobot? [17:24:44] I want other users (when they volunteer) to be able to login and do stuff with it [17:24:52] Kinda like toolserver's MMP [17:24:58] ... wait, I think I misunderstood you now. You mean create a /different/ tool than legobot? [17:25:07] Basically [17:25:20] Because legobot is already setup to be multi-maintainer; but I can add a new one for you. :-) [17:25:32] Oh. [17:25:44] Well I have password files in legobot so I'd rather not share that with people... [17:26:16] legoktm: Well, you're the only maintainer until /you/ add more. :-) [17:26:25] Right [17:27:17] Hmm, I'll go with a new tool [17:27:23] Hopefully I can convince people to help me :/ [17:27:47] named "matilda" [17:30:37] legoktm: Give me a minute while I debug the new scheme. :-) [17:30:45] Sure [17:31:02] My code won't be ready until tonight, so no rush [17:31:31] !andrewbogott [17:31:37] yep [17:32:03] Can you make a manual change in LDAP for me? The home of local-matilda is set the the default; I forgot to change the pattern first. :-/ [17:32:26] sure. You want it changed to... [17:33:07] Coren, or, would it work to delete/recreate the group? That would test another code path [17:33:18] andrewbogott: Will I get the same uid back? [17:33:24] hm, nope. [17:33:43] Then /data/project/matilda if you please. I'll try the code path with my test group instead. :-) [17:33:49] ok [17:34:10] (stupid kvirc, ^W is werase not close-the-effing-window) [17:35:37] andrewbogott: delete/recreate did work with a different uid and the right home pattern. [17:35:51] great. [17:36:08] The code doesn't recycle uids, so we'll run out in 2085 [17:38:37] andrewbogott: Tell me when the LDAP entry has been changed? [17:39:16] yep, will take me a couple minutes to remember how to do this by hand [17:42:29] legoktm: FYI, you can manage the maintainers of the project through https://wikitech.wikimedia.org/wiki/Special:NovaProject [17:42:35] s/project/tool/ [17:42:52] oh [17:42:59] i see matilda but not legobot? [17:43:15] legoktm: That's because legobot hasn't been moved over to that new scheme yet. [17:43:20] gotcha [17:43:54] Coren, should be fixed now. [17:44:13] andrewbogott: Ayup. Danke [17:44:35] legoktm: And matilda should be all set for you too as a consequence. [17:44:41] great [17:45:46] legoktm: Actually, if you have no running job with legobot atm, I can move it over now. [17:46:04] lemme see if it finished what i started last night [17:46:09] kk [17:46:10] it had around 20k edits to make ;) [17:46:44] gah, it crashed [17:46:52] so no, nothings running right now [17:46:52] Aw. :-( [17:46:52] Coren: OK, so en route to automating this I want to set up the chmod sudo rule by hand for a service user. Is matilda a good candidate for that? [17:47:10] andrewbogott: Would be perfect. [17:48:26] ok, temporarily making myself a tools project admin [17:49:33] suddenly sudo appears to not be working on staging.wmflabs.org [17:49:54] all users typically with sudo are reporting seeing ;'awjrichards is not allowed to run sudo on staging. This incident will be reported.' [17:50:04] anyone know what might be going on? ^ [17:51:20] Coren: Hm, can't easily add it for the actual matilda user. Can I set it for you instead, and then remove your other sudo rights so we can test? [17:51:41] andrewbogott: ^^ [17:51:42] andrewbogott: No need to remove my other rights, sudo -l will enumerate the specific ones I get. [17:51:57] awjr: Nothing I'm doing. [17:52:16] Coren: OK… my specific question is whether the long rambling command survives quoting and such via ldap. So I want to verify that it really works, not just that it looks right [17:52:25] awjr: I can take a look in a few minutes [17:52:32] awesome thanks andrewbogott [17:52:36] andrewbogott: okay. Go ahead. [17:53:09] Coren: Thanks. Test now? [17:53:44] (root) NOPASSWD: chown -R local-sg10sgtest:local-sg10sgtest /data/project/local-sg10sgtest [17:54:02] Oops, copy/paste dumbness [17:54:23] Although that sudo rule would really need to use the actual configured home, not arbitrarily /data/project/foo :-) [17:54:45] Yeah, I just thought of that. [17:54:46] * andrewbogott makes note [17:55:26] OK, how 'bout now? [17:56:39] (root) NOPASSWD: chown -R local-matilda:local-matilda /data/project/matilda [17:56:47] This is full of joy. [17:57:01] OK, I'll fix that patch to use the actual homedir [17:57:17] um… after figuring out what's going on with awjr. [17:57:39] andrewbogott: Please to give me my normal sudo back? :-) [17:57:45] yep, done [17:57:53] Thanks. [17:58:44] awjr, what project and instance are we talking about? [17:59:54] mobile/staging andrewbogott [18:00:42] i haven't even hopped on there in a while, but i was starting to investigate some other weirdness - the MobileFrontend extension dir in our webroot is mysteriously empty [18:02:49] legoktm: legobot has been transitionned, but you will need to log out and back again before you can get to it. [18:03:37] will do [18:03:48] awjr: Did I change anything? [18:03:59] * awjr looks [18:04:38] no andrewbogott, and im still being prompted for pw (i think previously it was passwordless sudo) [18:05:01] yep, something is clearly broken. Can you check a different instance in the same project? [18:05:39] same problem on mobile-varnish [18:05:45] dang [18:06:11] andrewbogott: but mysteriously OK on mobile-osm2 [18:06:22] oh! curiouser [18:07:32] Coren: [18:07:33] Unable to run job: warning: local-legobot your job is not allowed to run in any queue [18:07:34] denied: no matching department for user "local-legobot" or group "local-legobot". [18:07:34] Exiting. [18:07:49] mobile-solr3, mobile-solr2 and mobile-b2g are all behaving fine as well, andrewbogott [18:08:03] I wonder how I restart the sudo service on an instance that I don't have sudo on... [18:08:14] lol [18:08:16] legoktm: Aw, crap. Forgot about that. Gimme a minute. [18:08:40] awjr, how would you feel about cycling power on staging? Will that mess with people? [18:09:01] i think that will be ok - gimme one sec to dbl check [18:09:33] It might not help, but I think the alternative is waiting for ryan who has root keys installed [18:10:07] andrewbogott: go for it [18:11:45] talk about timing [18:11:59] heh [18:12:43] awjr, no dice [18:12:44] what's up? [18:12:49] pssshhh [18:12:59] Ryan_Lane, sudo has stopped working on a couple of mobile instances. [18:13:01] e.g. staging [18:13:13] But not on /all/ the instances in the project [18:13:46] what specifically isn't working? [18:13:59] I think it isn't getting the policies from ldap. [18:14:08] So no one has sudo rights to do anything [18:14:17] Ryan_Lane: awjrichards@staging:~$ sudo su - [18:14:17] [sudo] password for awjrichards: [18:14:17] Sorry, try again. [18:14:17] [sudo] password for awjrichards: [18:14:17] awjrichards is not allowed to run sudo on staging. This incident will be reported. [18:14:23] ok. let me see [18:14:26] yeah, same story for all sudoers on staging [18:14:58] what's the actual instance name> [18:15:01] legoktm: Try again? [18:15:03] staging [18:15:06] ah [18:15:07] ok [18:15:08] will do [18:15:44] Coren: nope, same thing :( [18:15:51] * Coren grumbles. [18:16:04] Coren: is this a similar issue, or different? [18:16:30] Ryan_Lane: Completely different. Caused by SGE only looking at primary groups and service groups not having a common primary group. :-) [18:16:59] heh [18:18:01] Only workaround is disable queue access control. [18:20:03] why does SGE only look at primary groups? [18:20:48] Ryan_Lane: Because it was written by Sun in the days of SVR4 before additional groups even existed, I'm guessing. :-) [18:21:05] andrewbogott: so, ldap lookups are broken on this instance [18:21:31] let's see if the ldap servers are acting poorly [18:21:38] nope [18:22:23] RIP Sun :( [18:23:00] I never much likes Sun. I was a Digital weenie myself. :-) [18:23:12] liked* [18:24:04] strange getent passwd and getent group work [18:25:17] legoktm: Should work now, I disabled the check that failed. [18:25:25] ty [18:26:21] Coren: nope...... [18:26:33] ... message? [18:26:50] same [18:26:51] Unable to run job: denied: no matching department for user "local-legobot" or group "local-legobot". [18:26:51] Exiting. [18:27:00] Ohcrap. It's not even able to put you in a department at /all/. [18:27:10] I'll have to add every service user manually. [18:27:18] * Coren glares at Ryan_Lane [18:27:33] hey, don't glare at me for shitty software [18:28:30] do the open grid people have an irc channel? [18:28:48] ask them what you can do. this is a stupid requirement of the software [18:28:52] this isn't 1980 [18:30:29] legoktm: Try this. [18:30:33] OH [18:30:40] you changed the nslcd config [18:30:41] ok [18:30:42] guys. [18:30:49] this is broken [18:30:55] ...? [18:31:00] all of labs is now broken [18:31:00] wooh, it submitted [18:31:06] o.O [18:31:24] Ryan_Lane: Whu? Why would that have broken anything? [18:31:26] http://pastebin.com/ZXTkdmjf [18:31:55] Right, that looks okay to me. Why is it broken? [18:32:02] because lookups don't work [18:32:16] Apr 2 18:30:12 staging nslcd[4888]: [3c9869] ldap_result() failed: No such object [18:32:47] Coren: Is there a high load right now? Its still queued. [18:33:11] ... what? That stupid thing fails multiple basedn if /any/ of them fail? [18:33:37] no clue, but this config isn't correct [18:33:49] Ryan_Lane: It's working perfectly on tools. [18:34:02] We were thinking that it returns the union of all lookups [18:34:21] Ryan_Lane: and on bots [18:34:29] andrewbogott: It does! [18:34:44] andrewbogott: bots doesn't have the ou and it's working fine. [18:34:44] I bet it only works if the OU exists [18:35:23] Ryan_Lane: ^^ [18:35:35] you sure puppet ran on them>? [18:35:38] Ryan_Lane: There's the message in the logs, though. But sudo works 100%, and so to getent, id, etc [18:35:47] do: id laner [18:35:50] Ryan_Lane: So it's noisy if the OU isn't there, but works. [18:35:51] do all of my groups show up? [18:37:06] Nope. We apparently tickled a bug in nslcd. Damn. Rollback? [18:37:24] wait [18:37:28] Apparently it works fine except when collecting additional groups. [18:37:41] is this also a problem in tools? [18:38:07] Ryan_Lane: Nope, you got all your groups there. So it really is behaving badly when the OU isn't there at all. [18:38:16] yeah, so, let's populate the OUs [18:38:25] hahaha [18:38:28] That'd work. [18:38:28] it's even worse than you think [18:38:33] root@i-0000015e:~# id laner [18:38:34] id: laner: No such user [18:38:59] What's i-0000015e? [18:39:10] bots-labs [18:39:23] which is lucid [18:39:33] precise at least doesn't totally break [18:39:35] o_O? [18:39:37] lucid completely breaks [18:39:46] ok. let me make an ldif [18:39:55] So they only half-fixed the bug between releases. [18:40:05] it's not necessarily a bug [18:40:12] well [18:40:12] it is... [18:40:16] * legoktm slightly nudges Coren  [18:40:27] my job is still listed as qw [18:40:30] legoktm: Hang on, you are number 2 on my list atm. :-) [18:40:36] ok :P [18:40:41] legoktm maybe I can help you? :) [18:41:29] legoktm: What's your job number? [18:41:39] Coren: 231 [18:41:42] petan: on tools :/ [18:42:21] legoktm: no problem [18:42:36] legoktm: Yeah, it's the same problem about permissions on queue for users without the right group; lemme just set all the ACLs to none for the moment. [18:42:39] but im about to queue 190 jobs on bots-gs [18:42:56] legoktm no problem as well [18:43:39] :) [18:43:59] legoktm: Can you cancel and restart it, please? [18:44:05] sure [18:44:56] legoktm: Yeah, still got the permission problem. Darn. Give me a few while I try to find a workaround. [18:45:44] things are also being added to ldap improperly [18:45:44] dn: ou=groups,cn=local-matilda,ou=groups,cn=tools,ou=projects,dc=wikimedia,dc=org [18:45:56] legoktm: There we go. It unstuck. [18:46:03] oh [18:46:03] waity [18:46:05] *wait [18:46:06] ignore me [18:46:13] that's the ldif generator I'm running [18:46:14] Ryan_Lane: Don't we always? :-) [18:46:15] :D [18:46:19] :) [18:47:52] Ryan_Lane: Well, so it's not a major problem because I can turn off access control and move the "problem" to a human and documentation one about what is proper to queue where; but I just read the documentation on SGE and know why it uses the primary group: by architecture, users need to be in exactly one department. [18:48:22] ok. ldap should now be fixed everywhere [18:48:30] Coren, Ryan_Lane, the sudo policy patch should be ready to go now. https://gerrit.wikimedia.org/r/#/c/56523/ [18:48:34] awjr: try to sudo now? [18:48:55] sudo on staging works for me now [18:48:57] Ryan_Lane: And the new code creates the OU on project creation now, IIRC, so it won't recur? [18:49:24] andrewbogott, Coren: let's schedule deploys like this in the future. I wanted to create the OUs for all projects before we pushed the change ;) [18:49:25] Coren, btw, adding the sudo policy will be kind of a pain for groups creasted before that patch lands. So... [18:49:50] Coren: yeah, project creation automatically creates the OUs [18:49:54] andrewbogott: That's okay, I can work around it. [18:50:07] Ryan_Lane: Yep, OK. The code I wrote creates the OUs anytime it needs them. I didn't know there would be other things that needed them :( [18:50:27] well, I wouldn't expect a problem like this [18:50:35] but I like to have the projects in a consistent state [18:50:46] so, I always make sure I run a maintenance script to update everything [18:51:10] which in this case was just writing a small python script to make an ldif [18:51:41] I'll write an outage email [18:54:53] did someone say outage here [18:54:59] :o [18:55:20] petan: It was an outage, it's an outrage! [18:55:31] yay [18:55:40] whatever - wm-bot survived [18:55:43] !ping [18:55:43] pong [18:56:07] I have a terrible leak in my irc client [18:56:11] petan: In theory, nothing that was actively running and not doing LDAP lookups (directly or indirectly) is likely to have been unaffected. [18:56:39] ... too many negatives. [18:56:39] nothing is going to be unaffected? :D [18:56:40] damn [18:56:48] that sounds like everything is down [18:56:52] :o [18:57:05] nothing not doing lookups is unlikely not not have been unaffected. :-) [18:57:17] aha now itś clean [18:57:19] * clear [18:58:06] Coren how are you handling outgoing mails [18:58:21] so that when some borked tool starts spamming root account or any other account [18:58:34] like the times when leslie come here totally pissed [18:58:44] threatening us with bringing labs down etc :D [18:58:56] Ryan_Lane, andrewbogott: sudo works now, thanks! [18:59:02] yw [18:59:51] petan: it likely didn't affect anything, but it was an outage, so it deserves a report [19:00:02] ok [19:00:51] petan: I'm not, yet, I'm waiting on Legal to finalize its position. [19:01:49] legals you say? remind me this: http://www.techdirt.com/articles/20130401/03025722522/is-golden-age-wikipedia-coming-to-end.shtml [19:02:08] wikipedia being sued :o [19:04:44] petan: Honestly, I'm surprised this doesn't occur more often. [19:12:01] @labs-project-instances tools [19:12:02] Following instances are in this project: tools-login, tools-puppet-test, tools-webproxy, tools-exec-01, tools-webserver-01, tools-master, tools-db, tools-exec-02, tools-shadow, [19:12:23] tools-shadow? [19:12:35] @labs-info tools-shadow [19:12:36] [Name tools-shadow doesn't exist but resolves to I-0000064d] I-0000064d is Nova Instance with name: tools-shadow, host: virt11, IP: 10.4.1.66 of type: m1.small, with number of CPUs: 1, RAM of this size: 2048M, member of project: tools, size of storage: 30 and with image ID: ubuntu-12.04-precise [19:12:46] petan: SGE shadow master. Not yet ready for primetime (waiting for NFS) [19:12:50] aha [19:13:17] @user-info dzahn [19:13:25] case sensitive [19:13:30] and itś @labs-user [19:13:31] @user-info Dzahn [19:13:39] @labs-user Dzahn [19:13:39] Dzahn is member of 21 projects: Bastion, Bots, Ceph, Commons-dev, Deployment-prep, Editor-engagement, Etherpad, Gareth, Greensmw, Haproxy, Integration, Mailman, Nagios, Pdbhandler, Phabricator, Planet, Rt-testing, Testlabs, Translation-memory, Visualeditor, Wikistats, [19:13:40] @labs-user Dzahn [19:13:40] Dzahn is member of 21 projects: Bastion, Bots, Ceph, Commons-dev, Deployment-prep, Editor-engagement, Etherpad, Gareth, Greensmw, Haproxy, Integration, Mailman, Nagios, Pdbhandler, Phabricator, Planet, Rt-testing, Testlabs, Translation-memory, Visualeditor, Wikistats, [19:13:41] thanks [19:13:44] :D [19:14:14] but most memberships were just for helping people to setup stuff ..hmm [19:14:27] Ryan_Lane, can I get a +2 on my sudo policy patch? https://gerrit.wikimedia.org/r/#/c/56523/ [19:14:28] is this apostropheś test displaying apostrophe properly or s with ´ above [19:14:42] looks good to me [19:14:45] GTK textview keep showing it as crap [19:14:52] petan: The second thing… looks to me like an s with an accent. [19:15:06] oh, yea, sorry, that [19:15:09] wait second thing? [19:15:12] I sent only 1 :D [19:15:21] ś [19:15:32] is this apostrophe and s or weird s [19:15:40] damn textview [19:15:47] < petan> ś [19:15:48] petan, my choices were 1) displaying apostrophe properly or 2) s with ´ above [19:15:51] And I choose 2 [19:16:13] oh right :D [19:17:27] andrewbogott: looking [19:17:40] array( 'chown -R ' . $groupName . ':' . $groupName . ' ' . $homeDir ), [19:17:59] hm [19:18:11] that used to be something else [19:18:12] this is better :) [19:20:46] heh in linux it works [19:20:53] and they say GTK is cross platform [19:22:17] andrewbogott: +2'd. good work [19:22:43] Ryan_Lane, Coren, I'm going to merge that patch into wikitech right now if there's no objection… will save us cleanup later on. [19:22:54] go for it [19:23:00] andrewbogott: Sounds good to me. [19:25:11] Coren, want to test and verify? [19:25:30] andrewbogott: Doing so now. [19:27:22] (root) NOPASSWD: chown -R local-test2:local-test2 /data/project/test2/ [19:28:28] Coren, that's it for the service group changes you need, right? [19:29:12] Wait, there's one thing left; or did we decide to not do it after all (I can implement it locally) [19:29:22] Sudo policy along the lines of [19:30:03] %local-foo ALL=(local-foo) NOPASSWD: ALL [19:30:33] Right now I have a local sudoers that does it, but I thought we wanted this to be labs wide? [19:31:37] Ryan_Lane: ^^ [19:31:45] ah [19:31:46] right [19:31:49] that needs to be added too [19:32:10] is it possible to rename projects? [19:32:16] I don't understand the ALL=(local-foo) part. [19:33:10] ori-l: Not especially possible. [19:35:46] andrewbogott: could i possibly request a 'bugzilla' project, then? [19:36:18] ori-l: Sure… does that mean there's an obsolete project that I can delete as well? [19:36:31] yeah: 'gerrit-stream'. [19:37:17] cool. [19:38:36] ori-l: Should be all set. [19:38:57] thank you! does it have a public ip allocated, by any chance? [19:39:01] andrewbogott: That's a sudo rule that says that every member of the local-foo group is allowed to run any command as the local-foo user. [19:39:44] Coren: OK. Ryan_Lane, do you happen to know if ldap sudoer supports that exact syntax? [19:40:08] it does not [19:41:03] sudoUser: %local- [19:41:08] sudoHost: ALL [19:41:42] whoops [19:41:49] sudoUser: %local- [19:42:04] sudoRunAsUser: %local- [19:42:16] err [19:42:18] No % on sudoRunAsUser [19:42:29] yeah, ok, I think I follow :) [19:42:29] sudoRunAsUser: local- [19:42:31] indeed [19:42:41] andrewbogott: did you add me to the project? i don't see it in my list. (sorry for the trouble.) [19:43:12] Ryan_Lane, Coren, should I add a generic gui for runAsUser while I'm at it? Will people want that? [19:43:15] The sudoRunAsUser attribute is only available in sudo versions 1.7.0 and higher [19:43:33] both lucid and precise are hgiher [19:43:39] andrewbogott: sure [19:43:42] it's useful [19:43:44] ori-l, I tried to, what's your username on labsconsole? [19:44:07] we need to add ajax user lookup to those fields [19:44:28] andrewbogott: Right, but you don't want random project members to write sudo rules; that per-service-user rule really should be hardcoded with those users. [19:44:43] Coren: altering sudo is already restricted to project admins [19:45:01] andrewbogott: Ah, ok, you mean in the general interface. Right, that'd be useful. [19:45:03] andrewbogott: 'ori.livneh' on labsconsole but gerrit thinks i'm 'ori' because of the dot [19:45:19] Coren: yeah. [19:45:51] ori-l: better? [19:46:10] andrewbogott: much, thanks! [19:47:59] ok. I'm going to continue with my shrinking of gluster volumes [19:48:06] Coren: you were given cluster access, right? [19:48:22] Coren: do you want to start on the labstore systems in eqiad? [19:48:30] Ryan_Lane: I don't think so; if I have, nobody told me about it. :-) [19:48:32] oh [19:48:42] you weren't given access to fenari? [19:48:49] I thought I read that the other day [19:48:55] I need to be in admins.pp for that, right? [19:48:55] ok. let's add you to production [19:49:09] we can work in parallel if we do that [19:49:28] Coren: you want coren as your username, right? [19:49:35] err [19:49:36] or marc? [19:49:38] That works. There's already two bricks available in eqiad, right? [19:49:40] marc please [19:49:44] marc it is [19:49:49] Coren: there's 4 [19:49:50] [bz] (NEW - created by: Ori Livneh, priority: Unprioritized - minor) [Bug 46810] Project / instance filters should not be hidable - https://bugzilla.wikimedia.org/show_bug.cgi?id=46810 [19:50:01] I thought you were already using two. [19:50:08] I'd use all four, and test solutions against each other [19:50:15] * Coren nods. [19:50:17] I'm not using any in eqiad right now [19:50:46] I'm shrinking volumes in pmtpa right now to free up 2 [19:50:50] I'll try at least one with the JBOD with software raid for one; I'm pretty sure we can get better bandwith this way, especially if we mkfs with the right stride. [19:51:12] ok, let me push in a change [19:51:17] * Coren nods. [19:51:23] Do we need two labstore boxes for nfs? Because it would be great to have 3 gluster bricks in the meantime... [19:51:37] 'cause then it could recover from quorum failure… in theory [19:52:08] quorum is already enabled [19:52:10] and working [19:52:24] the quorum is 2 bricks and the consumer [19:52:40] if one brick goes down, the consumer marks the volume as read-only [19:53:41] Coren: I need a key to use [19:53:45] and it should be different from labs [19:54:01] * Coren makes a new one. Gimme a sec. [19:54:04] Coren: if you can post it on your officewiki page, that would be good [19:54:30] I wonder if officewiki or wikitech is safer :D [19:54:34] wikitech requires 2fa [19:55:06] Right, but with three then one can go down and come back up w/out changing the volume to readonly. [19:55:21] Which, doesn't it require manual intervention to switch a volume back from ro? [19:55:52] nope [19:56:01] when the brick comes back, it'll no longer be read-only [19:56:27] we need 2 nodes to switch to NFS [19:56:30] since we need a failover [19:56:39] ah, ok [19:57:02] legoktm did you fix ur memory issue or it still persist [19:57:06] virtual mem is evil really [19:57:17] I found out I will myself have troubles with it [19:57:18] yeah, hitting swap is nasty [19:57:23] petan: i just decided to redesign the script [19:57:43] I don't want to allocate 2gb of ram just to run a tool that typically eats 60mb of ram [19:57:46] ori-l: https://bugzilla.wikimedia.org/show_bug.cgi?id=42583 [19:58:17] but for some reason all these java, .net python etc tools are allocating creepy amount of virtual memory [19:58:40] Ryan_Lane: oh, nice [19:58:47] Ryan_Lane: https://office.wikimedia.org/wiki/User:MPelletier_(WMF) [19:58:52] yeah, that would make it way easier, and it would never be hidden :) [19:59:21] also, if we combine that with the cookie module, we wouldn't even need a submit button [19:59:29] well, I guess we would to refresh the page [19:59:36] petan: With Java, at least, you can -Xmmx [19:59:51] yes I've noticed [19:59:54] -Xmx [20:00:06] wondering if such exist for mono [20:00:26] petan: I'd be surprised if it didn't. [20:01:14] petan: Google sez: MONO_GC_PARAMS=max-heap-size=64m [20:01:28] how did u google it [20:01:33] I was looking for it now [20:01:38] couldn't find anything [20:01:39] mono maximum memory [20:01:42] aha [20:01:48] third link down. [20:01:48] I was looking for mono virtual memory :D [20:02:49] http://www.mono-project.com/Release_Notes_Mono_2.8#Configuration [20:02:57] that's nice yay [20:02:57] Lots of fun stuff there for bots [20:03:00] going to try [20:03:46] Change on 12mediawiki a page Wikimedia Labs/Interface usability improvement project was modified, changed by Ryan lane link https://www.mediawiki.org/w/index.php?diff=667669 edit summary: [+253] [20:04:18] I need this for firefox XD [20:04:34] wish it had similar option so it doesn't eat 1.6gb of ram on my 2gb ram notebook :/ [20:05:00] crap is I have a lot of ram for notebooks ddr3 I just didn't find a way how to insert it into this one [20:05:19] petan: That's the general complaint about coders and languages today. They have no concept of being frugal with resources anymore. [20:05:41] yes I read the torvalds emails from past recently was fun [20:06:14] he was like: how the hell people can use such a crap languages like c++? only good portable is c and assembler, other languages make you write crap [20:06:18] Yeah, Linus is old school; I'm sure he bemoans the current trend to. :-) [20:06:47] Although I don't agree with his assessment of C++. I like it, just as long as one stays the hell away from stdlib. :-) [20:06:57] I was thinking of what he was trying to tell and he was right, languages like java or c++ even [20:07:05] allows you to write shit in a way it looks nice [20:07:16] while in c it would always look like a shit [20:07:48] like you can write if (a != g) { ... and it can hide some really horrible code inside thanks to operator overloading [20:08:02] you can even compare strings like this [20:08:10] and that is pretty expensive call actually [20:08:44] in c, you would usually do that comparation once and store its results into some boolean, in languages like java people would call it 6 times in same funtion and wouldn't mind [20:08:48] because it would look ok [20:08:52] Right. [20:09:19] Also, coders tend to no longer understand the algorithms they use because it's all hidden in libraries with the environment "guessing" for you. [20:09:50] which made me start this thread on stack... http://stackoverflow.com/questions/15435636/is-it-faster-to-copy-reference-to-object-from-dictionary-or-access-it-directly-f [20:10:06] it's funny how you can write complicated things in a simple way in modern languages [20:10:15] which makes you think it is "simple" for cpu as well [20:10:33] That answer is crap. [20:10:46] really? :P I've seen worse [20:10:55] some people on SO answered like: use google [20:11:00] "However, in real life, a dictionary lookup is ridiculously fast, so unless you've got a massive dictionary the difference won't be noticeable, maybe not even measurable." is the reason why modern code tends to scale for shit. [20:11:00] that answer was a crap [20:11:05] hehe [20:11:07] true [20:11:40] But the question is the bigger problem IMO; it proves the library hides information you should have been able to understand. [20:12:39] lot of libraries do that [20:12:58] basically all proprietary libraries that use some overrides [20:13:07] unless they are well documented [20:13:48] petan: Right; because "memory is cheap" and "CPUs are getting faster anyways". *sigh* [20:13:54] I'm an old fart. [20:13:59] heh [20:14:14] I remember firefox running fine on 512 mb box [20:14:21] I like to be able to *know* how much memory will be used when I do something, and when it'll be freed again. :-) [20:14:23] eating less than 50mb of ram [20:15:18] elinks [20:15:18] now I am running out of memory on my windows laptop with 8gb of ram and not running out of it on my linux laptop with 2gb of ram, with more applications open on linux one :D [20:15:43] ha [20:15:48] im out of CPU right now [20:15:52] well I would be happy for open source c# memory profiler for windows [20:16:07] there is only 1 good profiler and that is not free even for open source devs [20:16:09] this hashing competition has abused my laptop like none other [20:16:32] legoktm why are you running wiki script on laptop and not on labs? :P [20:16:40] there we have many cheap cpu's :P [20:16:47] its not a wiki script... [20:16:47] and lot of ram which can be wasted :D [20:16:50] its for xkcd [20:16:50] aha [20:16:52] legoktm: I'd have thrown my own compute resources at it, but it only accepts .edu colleges. :-( [20:16:58] legoktm who cares, put it on labs [20:17:05] petan: you sure...? [20:17:11] Coren: Not anymore [20:17:20] They changed it 30 min ago [20:17:22] legoktm: Listen to petan at your peril. :-) [20:17:26] legoktm I am pretty sure Damianz is downloading porn through labs [20:17:30] * legoktm doesnt want to get kicked off labs [20:17:53] well i'm also using my VPS [20:17:55] or maybe he is even hosting some porn site on labs :D [20:18:05] im doing 6mil hashes/sec [20:18:21] petan: whats a bots server no one is using? [20:18:21] legoktm what for? [20:18:29] http://almamater.xkcd.com/ [20:18:38] legoktm I think in this moment the no-load one is not being used :P [20:18:48] that one is... [20:18:56] because we are trying to get load near to 0 there :D actually for no reason atm [20:19:03] hostname? [20:19:06] @labs-resolve ibnr [20:19:06] I don't know this instance - aren't you are looking for: I-00000635 (bots-ibnr1), [20:19:09] that one [20:19:19] interactive bots no root [20:19:39] what a cute hostname :D [20:20:26] legoktm wait a moment what is that site about [20:20:31] alamamater [20:20:32] its breaking a hash [20:20:41] have you really not heard of xkcd? [20:20:49] I've read some comics there [20:20:51] its a competition between universities [20:21:29] OMG so it's instructing ton of students to waste their CPU resources to do something unneeded instead of using them for something useful? [20:21:35] EXACTLY [20:21:35] like running counter strike servers :> [20:21:36] or that [20:21:39] :D [20:22:07] you know that if NASA could use these CPU's they could calculate amazing things... :D [20:22:22] or maybe if anonymous could use these boxes, they would bring down US government servers [20:22:43] I can think of many uses but calculating a hash... meh [20:22:51] so….any objection to me running it? [20:23:03] itll be done by midnight EDT [20:23:06] I'd prefer it not be run on labs :) [20:23:13] awww :( [20:23:18] as much as I do love xkcd [20:23:20] "nsa.gov","391" [20:23:22] wtf [20:23:27] is that a university? :D [20:23:34] national security agency [20:23:35] :P [20:23:38] I don't think so [20:24:40] legoktm I would lend you some production server but I need some money and if I get fired I will have no money to feed my cats [20:24:42] Coren: ok. I've added you to production. I'm force running puppet on sockpupppet, stafford, fenari, and bast1001 [20:24:53] nah its fine [20:24:57] I'm a big boy now! [20:24:57] im running it on my VPS [20:24:57] :)) [20:25:08] and a few people are paying $7/hr for EC2 [20:25:16] OMG [20:25:18] just for this? [20:25:26] they could instead donate to wikipedia :D [20:25:30] Coren: you're also +2/merge in puppet [20:25:33] last night we had 1 trillion hashes/hour [20:25:39] petan: LOL have you seen the bottom of the comic? [20:25:41] Coren: but don't +2 merge ;) [20:25:44] no [20:25:50] https://www.xkcd.com/ [20:25:51] Ryan_Lane: That went without saying. :-) [20:25:52] scroll down [20:26:13] Coren: well, it's our normal operating procedure, but I'd prefer that not happen with the tool labs stuff [20:26:32] Ryan_Lane: I *like* peer review. [20:26:36] same [20:26:41] legoktm I think I would see a purpose in this if all these hash searching weren't done by one script shared by some clever student [20:26:51] well [20:26:51] if all students actually had to write they own and use brains [20:26:51] IMO, self +2 should be reserved for emergency reverts. [20:26:54] stupid position of the moon [20:26:57] then it would have some login [20:26:57] i wrote an initial implementation in python [20:26:59] *logic [20:27:07] and someone rewrote it in C [20:27:11] but I am pretty sure you copy pasted a lot from someone else [20:27:15] :D [20:27:18] nope! [20:27:21] well [20:27:32] i copied the hamming distance function from wikipedia [20:30:30] legoktm did someone rewrote it to assembler yet and made an OS from it? [20:30:37] ha [20:30:37] nope [20:30:41] BRB [20:30:43] :D [20:31:39] * petan is going to win this and make his own university [20:32:05] actually... it should be clustered OS [20:32:18] good luck [20:32:20] you have... [20:32:25] so I can install it to all my boxes and everywhere and on my phones and fridge [20:32:26] 7.5hrs [20:33:08] you don't underestimate a power of dark assemblies [20:33:54] Coren: so, you can get into fenari now [20:36:28] Ryan_Lane: Indeed I can. [20:38:40] Coren: so, labstore1001.mgmt.eqiad.wmnet [20:38:47] user is root [20:38:51] password is what I gave you [20:38:58] same for 1002-4 [20:39:14] Coren: initial install of systems sucks :) [20:39:40] Coren: you need to add the host to DNS, then add it to the dhcp config, then PXE boot it [20:39:52] then ssh into it from sockpuppet and do an initial puppet run [20:39:59] Ryan_Lane: What's the image on PXE? Precise? [20:40:07] yes. default image is now precise [20:40:11] kk [20:40:20] you can specify it in dhcp if you want something else, but we only support lucid and precise ;) [20:40:26] Wait, what was the raid intercept key again? [20:40:26] dhcp is managed in puppet [20:40:42] ctrl-r, I think? [20:40:54] I think that was it. I know you have to fumble for it a while. [20:41:11] it's a pain in the ass [20:41:14] Hello, Coren! [20:41:36] Coren: https://wikitech.wikimedia.org/wiki/Dell_PowerEdge_R610 <— drac info [20:43:15] Ryan_Lane: kk. I'm on it. [20:43:56] Coren: https://wikitech.wikimedia.org/wiki/Automated_installation [20:44:06] https://wikitech.wikimedia.org/wiki/DNS#HOWTO [20:44:25] be really careful with DNS, unless you want to cause a nice nasty outage [20:44:39] this dns how-to sucks [20:45:04] well, actually I guess it's pok [20:45:07] *ok [20:45:19] https://wikitech.wikimedia.org/wiki/DNS#Changing_records_in_a_zonefile [20:45:27] Coren, when you get a chance I have a few questions about sshing in to the labs servers. [20:45:31] Oh quick question Coren, is there any updates on the eta for DB access? I have a rather icky hack to send queries from labs to toolserver and back [20:45:50] I'm going to get lunch. read through some stuff and I'll be back in a bit :) [20:46:10] legoktm: We're hoping for "By the Amsterdam hackaton" as a reasonable goalpost. [20:46:45] Although, in practice, it should be up and running a few weeks prior so we have time to shake the bugs up. [20:46:52] JohnMarkOckerblo: Ask away. [20:46:53] Ok... [20:47:23] JohnMarkOckerblo: (Oh, and "Hi!") [20:47:41] Well, normally when I ssh in somewhere I just do "ssh @" and then give my passphrase. It sounds like that's not the way to do it with these servers? [20:48:11] JohnMarkOckerblo: No, we only support ssh keys; do you already have one? [20:48:44] JohnMarkOckerblo: (If you don't know what it is, then you don't) :-) [20:49:02] I'm not sure if I do or not; I thought the process I gave above used htem in the background, but maybe not... [20:49:54] It sounds like I can generate one on a given machine, but then do I always have to log in from that machine? [20:50:00] Hm. You might if you give the passphrase to /it/ rather than the actual destination. Easy way to check; in the .ssh directory in your home, there would be a file named id_dsa or id_rsa with a matching file ending with .pub [20:50:32] JohnMarkOckerblo: No, you can move your key around at need. [20:50:54] $ ls -l .ssh [20:51:11] I see. No, the only file in that directory is a known_hosts file. [20:51:38] Allright. You can use 'ssh-keygen' to make one. [20:52:06] That will create two files; one named id_rsa (by default) and one named id_rsa.pub [20:52:34] The 'id_rsa' file is the key; you'll want that in your .ssh on any system you want to login from. [20:52:35] All right. I'll go ahead and do that. WOuld I want to make one specific to wikimedia-labs, or am I lokoing to make a general one? [20:53:34] JohnMarkOckerblo: Think of it as an access card; most people have just the one. I have a couple for more secure environments where the loss or theft of one would be a problem. [20:53:57] JohnMarkOckerblo: But, as a rule, unless you have highly privileged accesses, just one suffices. [20:54:45] Okay. I'm assuming generating one doesn't in any way affect my existing ssh accesses (where I give a server-specific password/phrase on login)? [20:55:12] the id_rsa.pub key is your public key. This is not secret, and what you give to the systems to want to authenticate /to/. On the Wikimedia Labs, you simply paste it in your wikitech.wikimedia.org preferences, in the "openstack" tab. [20:56:10] JohnMarkOckerblo: It does not, as a rule, although your default ssh options might try it first when you connect. I'll help you tweak your settings if it does - it's not harmful, just annoying. [20:58:55] All right; will try (pauses to think of a new passphrase...) [21:00:22] That passphrase protects the key itself, think of it as a pin on an ATM card, basically. [21:00:57] You can even leave it blank, in theory, but I recommend against it (because then anyone who gets their hand of your key file can authenticate as you) [21:06:09] Okay, I now have a id_rsa.pub file. I'm assuming I just copy the hash that appears between "ssh-rsa" and my local ussername@host into my preferences? [21:06:33] No, all three fields should be copied. [21:07:06] The last can be changed though, it's just an identifier for you (telling you which key it is) [21:09:11] * Coren makes a note to make sure there is a tutorial with all this somewhere. [21:10:39] okay.I just put the contents of the id_rsa.pub file into my Openstack tab. (Though that now just shows "imported keypair" rather than the public key.) [21:11:11] oh all right, I see it now when I go back to the tab. [21:11:34] And, indeed, I see it arrived safely. [21:11:51] What operating system is the computer you are ssh-ing from? [21:12:38] Right now, you should be able to just: ssh jmo@tools-login.wmflabs.org [21:13:04] There are convenience things you can do if you have a ssh-agent running, but they are not necessary. :-) [21:13:31] Just tried it. Was told "Permission denied (publickey)." Wasn't prompted for any interactive password. [21:14:52] Hmm. Do I have to put my key files anywhere else besides the .ssh firectory where they were generated? [21:15:15] No; but I just noticed that your paste of the key inserted newlines in it. [21:15:29] It should all be one (very long) line. [21:15:36] Shouldn't have done that... will try again. [21:19:24] okay, this is messed up... I tried carefully cutting and pasting segments and the form on the wikitech page itself seems to be adding linebreaks past a certain point... [21:21:35] That's... really odd. [21:21:54] it's not adding line breaks, it's probably just wrapping the text [21:22:12] it's likely however you are copy/pasting [21:22:12] Ryan_Lane: Look at the actual key: /public/keys/jmo/.ssh/authorized_keys [21:22:19] I did [21:22:27] sorry [21:22:31] I mean wikitech's form isn't [21:22:56] some clients automatically add line breaks when copy/pasting [21:22:58] it's really annoying [21:23:39] Annoying indeed. Ryan_Lane, can I just edit his key file to fix it? [21:23:53] no. you need to edit ldap [21:24:19] I guessed as much. I don't think I have the credentials for this. [21:24:32] Okay, I've just pasted back in, ignoring the linebreaks that get added by the form textbox. Not sure if it worked. [21:24:52] I think it did work [21:25:03] Ima open a bug, though, we really should sanity check keys and rejoin broken ones when detected. [21:25:07] indeed it did [21:25:18] it's weird. it *should* sanity check them [21:25:30] we should likely just strip the content of line breaks [21:25:39] Ryan_Lane: That'd be the easiest solution. [21:25:44] JohnMarkOckerblo: Your ssh should work now. [21:26:12] open a bug, and add it to http://www.mediawiki.org/wiki/Wikimedia_Labs/Account_creation_improvement_project [21:26:15] Yup, just got in! [21:26:26] (and now thinking I chose too long a passphrase :-) [21:26:59] JohnMarkOckerblo: And now you have to log back out again so we can create a tool account for your project. Does it have a snappy short name already? [21:27:05] Coren: it's really sad. we actually have one of the better systems for accepting ssh keys [21:27:11] and it's still not great [21:27:29] Well, my working title is ftl (for "forward to libraries"). Would that do? [21:28:00] JohnMarkOckerblo: That'd do. You're lucky the Tool Labs is young, the three letter acronyms aren't all taken already. :-) [21:28:37] OK. I'll need to be able to install and run CGI scripts in Perl for this. Will that be a problem? [21:29:05] (And if I'm reading the terms of use correctly, I should modify the application logger to *not* record IP addresses?) [21:29:06] JohnMarkOckerblo: Nope, that's all supported. You can log back in now. [21:29:40] JohnMarkOckerblo: The terms of use are a little outdated, the application logger won't even /see/ the IP addresses because of the proxy, so you can avoid modifying your code. [21:30:20] Coren: they aren't outdated, this project just has a stricter policy ;) [21:30:43] Ryan_Lane: Heh. Luis is actually writing up Tool Labs specific ones. [21:30:45] Well, if it's just going to keep logging the same proxy IP on every request, I migh as well drop it.... [21:30:50] that's a good idea [21:31:01] Coren: does the proxy not add XFF? [21:31:18] Ryan_Lane: Stripped by design. Made Legal happy. :-) [21:31:23] good :) [21:32:10] JohnMarkOckerblo: Here is a good summary documentation (well, /decent/): http://www.mediawiki.org/wiki/Wikimedia_Labs/Tool_Labs/Help [21:32:29] JohnMarkOckerblo: The short of it, use 'become ftl' to switch to your tool [21:32:53] JohnMarkOckerblo: from that home, you have a public_html and a cgi-bit that map to http://tools.wmflabs.org/ftl/ [21:32:59] sgi-bin* [21:33:03] cgi-bin* [21:33:46] Hmmm. There is one in-application use of IP addresses; if the user is coming in from an IP address in a registered institutional range, and hasn't otherwise registered a library preference, "your library" links automatically get forwarded to that institution's library. [21:34:49] If I don't have IP addresses, then the user can still register a preference with a cookie as usual, but the "defaults to your local IP's institution if known" is a nice convenience feature. [21:34:56] JohnMarkOckerblo: Hm. I can see how that can be useful; but this might require a specific exemption from our legal department to comply with our privacy policies. If you want, I can put you in contact with them. [21:36:45] We have... a very strong institutional philosophy of privacy. :-) [21:37:00] I understand that... libraries do too. [21:37:55] I think I will modify the script so it can run different policies at different locations. (And I won't record IP addresses on the Wikimedia configuration, though if I can use them for routing w/o recording, that would be great.) [21:38:54] I'll drop legal a note explaining your use case; I know they are currently revising the privacy policies with an eye towards the labs, so they may even have anticipated the possibility. [21:39:22] (I'm assuming from the URL you give above that the cookie domain in this case is wmflabs.org? Within that, are there any namespace considerations I should know to avoid colliding with other projects?) [21:40:03] JohnMarkOckerblo: I would recommend prefixing any cookies with your project ID. That's a very good point I should document. [21:40:45] JohnMarkOckerblo: And, indeed, the fact that any cookies you set can be read by other community projects living in the Tool Labs. [21:41:20] (Well, provided your user visits them, obviously) [21:42:05] That's all right. Hey, maybe they could be used by some of the others. (Like if someone is routing ISBN or OpenURL requests, one of my cookies will include the user's preferred library.) [21:44:17] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Help was modified, changed by MPelletier (WMF) link https://www.mediawiki.org/w/index.php?diff=667839 edit summary: [+460] /* Web services */ A note on cookies [21:44:36] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Help was modified, changed by MPelletier (WMF) link https://www.mediawiki.org/w/index.php?diff=667840 edit summary: [+12] /* Cookies */ more clear [21:45:21] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Help was modified, changed by MPelletier (WMF) link https://www.mediawiki.org/w/index.php?diff=667841 edit summary: [+1] /* Cookies */ ce [21:45:46] Okay, Well, I have to stop for now, but thank you for helping me get set up! I'll try to start populating the project tomorrow or later in the week. [21:47:32] JohnMarkOckerblo: I'm available here most of the time, and otherwise there are lots of people on the channel that can give you a hand. You cal also reach me through my talk page. [21:49:31] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Help was modified, changed by MPelletier (WMF) link https://www.mediawiki.org/w/index.php?diff=667850 edit summary: [+156] /* Cookies */ Also, could use Path= [22:07:41] For the oauth project, I accidentally added a host name of "w2.wiktionary.wmflabs.org", and when I try to delete it it tells me "The requested host does not exist". [22:28:46] anomie: yeah, the dns code is kind of crap [22:28:52] anomie: let me clean it up [22:30:00] Ryan_Lane- Thanks. No hurry. [22:30:48] done [22:30:56] andrewbogott_afk: it seems only one person is working on moniker :( [22:31:01] the same guy [22:32:07] I'm asking them if anyone applied for openstack incubation yet [22:35:37] Heh, now it's listing all the defined host names twice for some reason on Special:NovaAddress. [22:49:25] anomie: ugh [22:49:57] I can't wait to replace that code [22:53:10] anomie: fixed [22:53:29] Ryan_Lane- Awesome [22:53:46] if we weren't just replacing that code with an openstack project, I'd have rewritten it by now [23:00:04] andrewbogott_afk: ooohhh. moniker works with folsom+ [23:00:15] if we upgrade we can switch to it [23:00:21] assuming we have a backend written for it [23:00:50] it'll be at least a year till it's a fully supported openstack project [23:01:31] I wouldn't mind switching to brandon's new dns server. maybe we should write a driver for that [23:01:37] and stop adding the entries to ldap [23:06:15] looks like the implementations are pretty simple: https://github.com/stackforge/moniker/blob/master/moniker/backend/impl_bind9.py [23:07:01] and it uses jinja templates for the files themselves [23:08:19] https://github.com/stackforge/moniker/blob/master/moniker/resources/templates/bind9-zone.jinja2 [23:08:23] Ryan_Lane: That sounds like mostly good news [23:08:34] yep [23:10:38] oh. even better, it seems that we can likely reuse most of the bind9 code for brandon's dns server [23:11:48] and the daemon can automatically notice changes to the files and apply them, which it does by default: https://github.com/blblack/gdnsd/wiki/GdnsdConfig [23:12:24] jinja? [23:12:29] hahahaha [23:12:45] our new version of genzone/authdns-update that I wrote [23:12:45] :) [23:12:47] uses jinja [23:12:50] hahahaha [23:12:51] nice [23:13:06] <3 jinja [23:13:33] how funny [23:13:38] it's very similar to what I've done [23:13:42] moniker is looking pretty good [23:14:08] now we have a really strong incentive to upgrade [23:15:08] is pdns ldap that bad? [23:15:15] I think it's nicer that it's realtime [23:15:16] no. my dns code is [23:15:33] which just does ldap modify though, right? [23:15:43] I haven't bothered fixing my dns code since I initially wrote it because we were going to replace it [23:15:51] yeah [23:16:14] it's nice that it automatically updates, yeah [23:16:29] pdns ldap isn't terrible, but I want us to be using the same thing as production as much as possible [23:16:55] and gdnsd can also automatically update [23:17:08] gdnsd can inotify [23:17:14] we won't use this in production though [23:17:15] indeed. which is awesome [23:17:19] yeah [23:17:31] no reason to since all changes will go through git [23:17:31] labs needs auto-updates and production doesn't [23:17:34] and it could be racy [23:17:37] yep [23:17:56] well, auto-updates I wouldn't say [23:18:09] so if you create the mechanism for puting a file in /etc/gdnsd/zones/ or whatever [23:18:16] doing a "gdnsd reload" isn't such a big deal [23:18:24] * Ryan_Lane nods [23:18:42] inotify is fancy and nice if you manually write your zones :) [23:19:37] * Coren usually stores his host information (including DNS) semantically and has processes to generate all config from it. (dhcp, dns, etc( [23:19:56] I don't believe we'll have race conditions using moniker [23:19:56] using what? [23:20:12] I like having the "one true authoritative" database for all his config. [23:20:18] by race conditions I mean e.g. [23:20:22] let me rephrase: no more race conditions than we'd have otherwise [23:20:23] https://github.com/stackforge/moniker [23:20:26] adding a foo.wikipedia.org CNAME foo.wikimedia.org [23:20:30] I'm talking about in labs [23:20:32] s/his/the/ [23:20:36] and foo.wikimedia.org A 10.1.2.3 [23:20:39] yeah :) [23:20:40] I know [23:20:40] in a single commit [23:21:59] via labs it won't be a single change. it'll be a set of changes [23:22:12] serially applied [23:22:34] which is why I'm not concerned there. it's roughly the same as how we do it with ldap now [23:22:41] I get why we'd avoid it in production :) [23:23:27] they need to update that github doc page :D [23:23:57] http://moniker.readthedocs.org/en/latest/index.html [23:24:33] paravoid: how's the dns rewrite coming along, btw? [23:24:56] genzone is done, along with patches for our zones [23:25:07] configs are mostly done, just need a country list [23:25:16] authdns-update pulling from git is missing [23:25:25] plus linting [23:25:25] git hooks & jenkins [23:25:50] plus conversion of our svn repo to git to retain history [23:26:11] ah. sounds like it's pretty close to done [23:26:11] and debs/puppet for all that and putting them on the new boxes [23:26:14] yeah [23:26:18] that's awesome [23:26:59] it's running in labs [23:27:06] with actual zone data [23:27:10] generated via jinja [23:27:45] nice [23:27:45] both my script and moniker are simple really, but still it's funny how we both picked jinja [23:28:03] well, moniker is python :) [23:28:12] jinja is the templating language of choice for python [23:28:21] I was contemplating jinja2 vs. mako [23:28:27] * Ryan_Lane nods [23:28:29] mako is popular too [23:28:29] salt also uses jinja [23:28:39] though you can choose mako as well [23:29:40] {% macro langcname(lang, domain) -%} [23:29:41] {{ lang }} 1H IN CNAME {{ domain }} [23:29:41] www.{{ lang }} 1H IN CNAME {{ domain }} [23:29:41] {{ lang }}.m 1H IN CNAME m.wikimedia.org. [23:29:41] {{ lang }}.zero 1H IN CNAME m.wikimedia.org. [23:29:43] {%- endmacro %} [23:29:56] that's so much better than what we currently do [23:30:01] I know :) [23:30:08] our current way makes me want to cry [23:30:22] it's also much more flexible [23:30:30] I'm really glad you're doing this. I'm the only one who's touched DNS in quite some time [23:30:59] $ORIGIN mobile.{{ zonename }}. [23:30:59] {{ langlist('mobile-lb.eqiad.wikimedia.org.') }} [23:31:21] (langlist being the for lang in langs: langcname() loop) [23:31:33] yeah [23:31:35] this is there because I'm striving for a bug-for-bug for now [23:31:41] but it's wrong [23:31:49] this means en.m.mobile.wikipedia.org [23:31:55] yep [23:31:59] and www.en.mobile.wikipedia.org [23:32:01] we have a lot of bullshit entries [23:32:05] which actually exist [23:32:29] en.zero.mobile hahah [23:32:34] :D