[04:31:00] its really fixed this time coren :P last time was all lies :P [04:31:09] no idea why it works though after looking at apache [10:19:56] [bz] (NEW - created by: Krinkle, priority: Normal - enhancement) [Bug 40519] webtools: Setup up webtools.wmflabs.org - https://bugzilla.wikimedia.org/show_bug.cgi?id=40519 [13:09:44] Krinkle: what is difference between tools and webtools [13:15:16] petan: In what context? [13:17:39] Change on 12mediawiki a page Wikimedia Labs/Tool Labs/Needed Toolserver features was modified, changed by MPelletier (WMF) link https://www.mediawiki.org/w/index.php?diff=671139 edit summary: [+228] /* More */ done by default [17:22:45] petan: webtools + bots => tools [17:22:50] petan: It is an old bug [17:22:59] both projects are intended to be merged [17:23:06] does webtools still exist? [17:40:01] Krinkle: web tools does still exist AFAIK [17:41:11] k [17:41:23] Krinkle: btw https://gerrit.wikimedia.org/r/#/c/58281/6/resources/mediawiki/mediawiki.htmlform.js,unified [17:41:35] I got a comment of "Cache $(this) in a variable." [17:41:45] is it poor performance to constantly use $(this)? [17:42:04] my javascript skills are not the best. good to learn :) [17:42:15] Ryan_Lane: $() is basically new jQuery($this) [17:42:28] Ryan_Lane: With a chainable prototype [17:42:39] not caching it and/or not chaining it is wastefull. [17:42:43] so, I should generally be using $() ? [17:42:59] oh sure, never do "new jQuery()" that isn't even valid. [17:43:12] but either make sure everything is in one statement: $().foo().bar().baz(); [17:43:23] or, if you need multi-line, store it in a variable [17:43:27] ahhhhh [17:43:27] ok [17:43:30] makes sense [17:43:41] but don't instantiate a jQuery object for the same selection / elements [17:43:50] $(this).parent().append( $container ); [17:43:50] 103 +» » $(this).remove(); [17:44:02] php has ruined me. [17:44:11] (sorry, didn't mean to paste that) [17:44:15] where chaining is likely to break your app :D [17:45:00] thanks for the info [17:45:15] in javascript it comes naturally, since it used for native stuff as well. [17:45:55] indeed [17:46:00] "foo".toUpperCase().toLowerCase().substr(0, 2).split("").join("1") == "f1o" [17:46:21] even changed type to Array and back to String in there. [17:47:06] scary inline duck typing [17:47:16] No, not really. [17:47:20] not in this case anyway. [17:47:35] ah, right because the array is a string [17:47:50] .split() is a method on the String prototype, it returns an array [17:47:55] * Ryan_Lane nods [17:48:22] I need to do some javascript tutorials [17:48:44] .join() is a method on the Array prototype, returning a string. .join on a string would throw a TypeError. Not because join requires an array but because the .join method doesn't exist on a string. [17:49:15] I see [17:49:20] This is one of those good parts of javascript that are really quite intuitive and efficient. [17:49:27] (once you get them) [17:51:04] indeed [17:51:20] well, I guess I'll push in another change for this [17:51:25] oh. btw... [17:51:29] the jenkins tests are odd [17:51:47] is it really necessary to define all vars at the top of a scope? [17:51:52] in the same statement [17:53:01] because I was getting high priority warnings on "too many vars" [18:28:12] Ryan_Lane: Ignore the priority thing that is a Jenkins hack. If you look at the console output there is no priority there is only warnings we enabled and warnigs we decided to disable. [18:28:29] so I didn't need to shuffle all of my damn variables around? :( [18:28:34] In Checkstyle jshint outputs both enabled and disabled. and calls one high and the other normal priority. [18:28:57] Ryan_Lane: You did have to yes, because our jshint configuration and our coding conventions says so. [18:29:02] and that's a good thing. [18:29:04] ah [18:29:04] ok [18:34:21] Ryan_Lane: I'm going to disable checkstyle in a minute, going back to simple console output for jshint. [18:34:53] * Ryan_Lane nods [18:34:56] the checkstyle plugin is making it harder not easier. It adds 4 pages of useless text and the one page we care about (supposedly) "high" priority doesn't even show the errors immediately [18:35:00] you need to click "Details" first [18:35:03] heh [18:35:13] and then it shows a bunch of "No description, update checkstyle" [18:35:14] yeah, it was a pain [18:35:23] i.e. not helping :) [18:43:55] Coren, andrewbogott: check out the new project filter: https://wikitech-test.wmflabs.org/wiki/Special:NovaInstance [18:44:11] give me some feedback :) [18:44:41] I'd really like the form to be: Project [18:44:46] in a single span [18:45:07] well, horizontally aligned, not in a single span element [18:45:44] Ryan_Lane: I see a big field of buttons and no checkboxes… that's what you're going for? [18:45:58] you do? [18:46:02] I see how to remove things from the filter but not how to add them… when I click the 'x' that item is gone from the filter, seemingly forever [18:46:03] which browser? [18:46:10] ah [18:46:11] yeah [18:46:13] that's correct [18:46:16] click inside of it [18:46:31] Ah, I see! Drop-down [18:46:45] It also flickers a field of checkboxes on loading but then the checkboxes vanish [18:46:55] yeah [18:47:00] that's because there's a fallback [18:47:08] and this javascript is loading at the bottom [18:47:25] I should probably add a hide at the top [18:47:31] ok, makes sense [18:47:48] hm. I don't think I can add a hide at the top [18:48:07] since the content wouldn't be loaded yet [18:48:25] I think that the new interface would me much more useful for me. But it's also sort of unfamiliar and unobvious... [18:48:33] Krinkle|detached: any way of making that happen? [18:48:38] I've been trying to think of how this kind of filtering is done on other sites… usually it's in a sidebar, right? [18:48:50] Ryan_Lane: Are the users gone? [18:48:51] (Not that we have room for a 2nd sidebar) [18:49:19] Krinkle|detached: there's some content I'd like to hide immediately when the page loads, so that it doesn't appear then disappear [18:49:24] Coren: users? [18:49:40] andrewbogott: most only let you choose a single project at a time [18:49:53] so, the good thing is.... [18:50:04] andrewbogott: clear out all of the items [18:50:15] Ryan_Lane: It's not taking my password, and says the account doesn't exist if I try to reset it [18:50:18] the first time someone logs in, they'll see that text [18:50:24] Coren: oh, this isn't the production one [18:50:29] Ryan_Lane: here's an example of a sidebar filter: http://www.sears.com/appliances-dishwashers-built-in-dishwashers/s-1020283 [18:50:32] (which I like) [18:50:35] Ryan_Lane: I know. "TEST Coren" right? [18:50:50] andrewbogott: ah. right [18:51:14] the behavior when I clear everything seems right. [18:51:28] that behavior is what people will see when they first use it [18:51:34] What are the prospects for having the filter actually filter the page in real time rather than via 'submit'? [18:51:43] which means afterwards they should understand it [18:51:47] We already use js for the 'collapse' links, right? [18:51:49] Ryan_Lane: Ah, found it. [18:52:02] andrewbogott: yeah [18:52:06] and this is also javascript [18:52:23] Ryan_Lane: Me like. [18:52:31] we can't load the project interface via javascript yet [18:52:34] Ryan_Lane: Especially since I could select bacon. [18:52:34] err [18:52:37] It would be /way/ better if it filtered in realtime... [18:52:40] yep [18:52:41] agreed [18:52:46] we need to make an API for that [18:53:14] Why an API? Can't we just load everything and then hide/reveal according to the filter actions? [18:53:20] * andrewbogott knows nothing about how JS works [18:53:48] the reason for the filter is partially performance [18:53:48] Ryan_Lane: This interface has about 784 milipretties. [18:53:54] Coren: :D [18:54:04] I switched the default back to vector on the interface [18:54:12] Ah, so you don't want to load everything every time, fair enough. [18:54:17] yep [18:54:20] I mean the filter interface. I liked your skin better. :-) [18:54:23] So… overall, this is much better! [18:54:35] there's one thing we can do.... [18:54:58] when elements are added to this list, it fires an event [18:55:09] we can have that attach to the jquery cookie plugin [18:55:16] change the cookie on the client side [18:55:19] then refresh the page [18:55:25] but that's kind of ugly [18:55:29] and it would be slow [18:55:35] Sometimes I see a text-entry cursor blinking in the filter box, which is weird. But probably outside the scope of your work. [18:55:53] we can make an api module that returns the information back in json and let the javascript create the page [18:56:00] that's the better solution [18:56:04] Might be worth it… usually I only care about one particular project when I change something in the filter. [18:56:10] then projects can be requested individually [18:57:29] so, element added -> event -> change the cookie -> make a request for the new projects via ajax -> add the project to the page [18:58:24] we can start with just views [18:58:34] and later we can add actions, which would be awesome :) [18:59:26] anyway, I pushed in a core change for this style of interface [18:59:55] so it'll be a while till we switch to it [19:05:12] andrewbogott: oh. the text-entry blinking is because you can type to filter the drop down list [19:05:20] ah, makes sense [19:05:53] Ryan_Lane: Speaking of; I have a feature request. Can we _please_ have a "admin-" groops alongside project- ones? :-) [19:05:57] Ryan_Lane: BZ? [19:06:05] eh? [19:06:08] for what purpose? [19:06:42] Access control? It seems clear to me that "this instance should not be logged into by non-project-admins" is a fairly typical use case. [19:07:22] So is "that config file editiable by admin-foo group" [19:07:36] etc. [19:07:44] why are folks editing config files? :) [19:07:52] heh [19:08:03] heya Ryan_Lane, you round? [19:08:04] it's kind of a pain to manage the groups [19:08:07] ottomata: yes [19:08:15] but yeah, it would be nice.... [19:08:36] More typical, perhaps, would be "this logfile readable by admin-foo" :-) [19:08:42] Hm. [19:08:45] I've avoided it because it hasn't been very necessary and it heavily increases the number of groups [19:08:58] You know what? Nevermind. It can be handled with a local-admin service group. :-) [19:09:05] ah [19:09:06] true [19:09:13] I just realized that. [19:09:17] that's easier :) [19:09:22] hiii ja so, just wanted to bounce the puppetmaster + clients thing [19:09:28] wanna see what's involved in getting that to work [19:09:37] i could do it manually I think pretty easily [19:09:48] but it would be nice to puppetize it, and I don't know much about our puppet puppetmaster classes [19:10:01] is puppetmaster::labs used somewhere? [19:10:13] yeah. on virt0 [19:10:25] but it can be reused elsewhere, I'm sure [19:10:37] ahhh i see it, [19:10:37] if $is_labs_puppet_master { [19:10:37] include labs [19:10:37] } [19:10:39] that wa shard to find [19:10:39] haha [19:11:29] hm k, its the same as main puppetmaster except for the puppetsigner.py stuff [19:11:32] did you write that? [19:11:47] I did, yes [19:13:17] hmm, i'm looking at that, I think maybe i don't need that, I"m ok with having to manually sign the client certs [19:14:01] doesn't hurt to use [19:14:05] i *think* all I will need is: puppetmaster, and proper puppet.conf and fileserver.conf for the new puppetmster and the nodes [19:14:13] well, does it need to have ldap creds stored in puppet.conf to use that? [19:14:24] ugh. it uses scriptuser [19:14:29] that's not necessary [19:14:31] it can use proxyagent [19:14:36] we should change that [19:14:56] the proxyagent exists everywhere [19:15:09] if we did that we woudln't need the ldappassword in the puppet.conf file? [19:15:59] Ryan_Lane: Anyway of making what happen? [19:16:19] when a page loads, automatically hide content, rather than letting it pop up [19:16:24] and then disappear [19:16:36] Ryan_Lane: What kind of content? [19:16:59] for htmlform I added an optional css class called chosen [19:17:22] it takes the content in the multiselect input (which is a bunch of checkboxes), and converts it into a multiselect [19:17:33] then it uses chosen to turn it into something that doesn't suck [19:17:49] I'd prefer the checkbox content be hidden on page load [19:17:55] so that it doesn't appear, then disappear [19:20:18] I guess jquery will wait till the content is ready before running, so I could just stick it into the head, right? [19:20:49] hm, also, Ryan_Lane, are all analytics project instances in pmtpa? can I create new instances in that project in eqiad? [19:21:02] we don't have a zone in eqiad yet [19:21:28] I think I'll be making that the top priority for the new person we have coming in next month [19:22:18] ah ok [19:22:18] hm [19:22:19] k [19:27:32] Ryan_Lane, does labs have a specific subnet? if so, are subnets per project? [19:27:37] labs instances* [19:27:42] a specific subnet [19:27:46] and it's not per-project [19:27:52] shared pool of ips [19:28:00] cool, is that in a puppet var somewhere? [19:28:10] subnet is 10.4.0.0/21 [19:28:38] it's not in a var [19:28:44] well, it probably is [19:28:50] but it's not handled by $realm [19:29:06] it could probably be added there [19:29:09] err [19:29:11] realm.pp [19:29:29] oh [19:29:31] I take it back [19:29:37] $site will work [19:29:48] /^10\.[0-4]\./ => "pmtpa", [19:29:52] hmm, there are machines that are not in labs that are on that? [19:29:54] /^10\.6[48]\./ => "eqiad", [19:29:56] oh is it all of pmtpa? [19:30:00] yes [19:30:24] 10.4.0.0/21 is specifically labs [19:30:47] hmm, ahh ok, i'm just grepping puppet , i see [19:30:59] great, cool [19:30:59] ok [19:31:00] but we set labs/production explicitly [19:31:07] in $realm [19:31:12] $site is set automatically [19:31:22] I guess we could also set $realm automatically [19:32:17] yeah, but i'm looking at, for example, fileserver.conf for a puppetmaster with clients in labs [19:32:25] to allow more than just 127.0.0.1 [19:32:35] so i'd need that in a var somewhere…which I guess it is [19:32:46] fixed_range => $realm ? { [19:32:47] "production" => "10.4.0.0/21", [19:32:50] pmtpanovaconfig [19:32:51] ? [19:33:04] $pmtpanovaconfig['fixed_range'] [19:33:06] ja? [19:33:14] oh [19:33:15] no [19:33:21] wazzat [19:33:22] fixed_range => $realm ? { [19:33:22] "production" => "10.4.0.0/21", [19:33:22] "labs" => "192.168.0.0/21", [19:33:22] }, [19:33:56] o.O [19:34:09] production would be the default [19:34:15] and labs would be 10.4.0.0/21 [19:34:29] oh [19:34:30] right [19:34:31] * Ryan_Lane sighs [19:34:43] so. that's confusing [19:34:51] that's if that manifest is applied in labs or in production [19:34:53] right [19:35:04] it's configuring labs, so it's a little meta [19:35:04] and the nova config actually runs in prod [19:35:05] yeah [19:35:06] i get it [19:35:30] dmz_cidr? [19:35:36] heh [19:35:50] that looks more like it, no? [19:35:50] it's best to ignore the openstack config :) [19:35:58] dmz_cidr => $realm ? { [19:35:58] "production" => "208.80.155.0/22,10.0.0.0/8", [19:35:58] "labs" => "10.4.0.0/21", [19:35:58] }, [19:36:11] I wouldn't assign specific IPs to production [19:36:16] I would make production the default [19:36:21] and set IPs for labs [19:36:27] and for anything not production [19:36:47] ? [19:37:06] i didn't write that [19:37:28] i'm just looking for the subnet defined somewhere in avar that i could access from puppetization of a labs instance [19:37:39] instead of hard coding it [19:38:37] what is 192.168.0.0/21 ? [19:51:32] ottomata: I'd hard code it [19:51:40] ottomata: that's a fake range [19:51:47] 192.168.0.0/21 [19:52:01] k [19:52:11] we can use the hardcoded value elsewhere to replace the other uses [19:52:52] petan, coren, I have some morebots instances that are hogging entire instances… should I move them to the tools project and use the grid engine, or is there a different better place for them in bots? [19:53:09] can I make a variable in puppetmaster::labs ? [19:53:20] or meh, no this is more of a labs thing, not a puppet thing [19:53:29] andrewbogott: "hogging"? You mean they are alone 'wasting' the instances? [19:54:11] yeah… right now the bot is made to run as a service. I presume that it should be more properly redesigned to run on a grid instead [19:54:44] andrewbogott: It should be trivial to do, even. If it's a self-contained stript, just doing a 'jstart the_script' will have them run indefinitely. :-) [19:55:48] Coren: OK, sorry, my first question is: tools or bots? [19:56:05] …and then my second question is: is there a design guide for how a bot and/or tool should be managed? [19:56:34] andrewbogott: Well, 'bots' is designated as the experimental/looser standard project; 'tools' is the expected home of stable tools. [19:56:57] andrewbogott: Question 2: https://tools.wmflabs.org/?Help [19:57:01] andrewbogott: I just noticed that we're missing a message: https://wikitech.wikimedia.org/wiki/Special:NovaServiceGroup [19:57:01] ok, Ryan_Lane, I'm starting to think this labs puppetmaster client thing is a bit of work to get right, especially because of the ldap integration [19:57:08] err [19:57:21] <novaservicegroup> [19:57:33] i konw how to do puppetmasters in the usual way, never done much with the ldap stuff [19:57:38] Ryan_Lane: OK… I'll fix that shortly [19:57:41] andrewbogott: Of especial interest to you would be the 'gridengine' section. :-) [19:57:47] Coren, is that help paged linked to from wikitech in some obvious place? [19:58:08] andrewbogott: From the project's page, IIRC [19:58:26] Hah. No it's not. This needs fixin' [20:00:03] fix't [20:01:31] andrewbogott: There are certainly tons of holes in that doc; don't hesitate to point them out. :-) [20:04:08] ottomata: it's the same, roughly [20:04:17] ottomata: except that ldap is being used as the node [20:04:27] and that's configured from wikitech [20:06:37] hmm, riiighhhhht [20:07:24] does puppetmaster::self need a puppetmasterd running? [20:07:26] Ryan_Lane: ? [20:08:03] Coren: What do you think about some screenshots for the docu? [20:09:33] Jan_Luca: ... screenshots? Well, I don't /mind/ them, but do you mean like for putty and such? Because everything else is console based, really. :-) [20:09:57] ottomata: yes [20:10:00] Coren: yes [20:10:24] ottomata: node definitions will override ldap, btw [20:10:38] https://tools.wmflabs.org/ has a landing page now. Useful content will come, eventually. [20:10:46] oh that's good to know [20:10:47] just make sure you add the necessary vars/classes, or your instance will probably break ;) [20:11:50] Coren: How do you generate the tool list? [20:12:20] Coren: it would be good if there was a link to the tool/bot documentation on wikitech from there [20:12:34] yea, doing with ldap is cool too. hm [20:12:45] Jan_Luca: Dumbly; I enumerate service groups and provide a link to its webservice if there is an index present in it. [20:13:01] ah, ok [20:13:37] Ryan_Lane: I was presuming that tool authors would do so from their own tool's index.* [20:13:48] * Ryan_Lane nods [20:14:21] Ryan_Lane: I'm also going to add a column with the sanitized contents of ~tool/.description there though. [20:15:08] So authors can add links to docs, or bot's homepages, or whatever. [20:15:22] [20:15:36] Damianz: Please note sanitized above. :-) [20:15:59] Maybe you where just going to sanitize the ponies [20:16:15] markdown -> html would be cool for that, github readme's for tools :P [20:16:24] sorry... forgot we hate github around here #troll [20:17:10] Coren: something somewhere is automatically resetting the owner of my folder I was using for ~addbot ;p [20:17:23] o_O [20:17:26] On tools? [20:17:36] my cheap crappy hack no longer works and I have subsequently moved my folder :P [20:17:39] and no, on bots :P [20:17:57] it will change it to the correct owner and permissions [20:18:03] it's a thing [20:18:09] what if there is no owner? ;p [20:18:24] there has to be an owner [20:19:08] * addshore nammed a folder 'addbot' in /project/public_html, with the owner 'addshore' (which doesnt work and gets un set) ;p [20:19:22] yeah [20:19:30] addbot isn't a valid user [20:19:51] sad times :P it worked for a week or two :P [20:19:55] andrewbogott: I think there is a bug when tring to add a service group and you are not allowed to do that: I get the error: You do not have permission to manage OpenStack projects and roles, for the following reason: The action you have requested is limited to users in the group: Bureaucrats. [20:20:11] I think the right error should be that you need to be a sysadmin [20:20:24] Jan_Luca: Thanks, I'll have a look. [20:20:38] also Coren I spotted somewhere that dbreplication will only be on tools to start with? :) [20:21:04] addshore: Yeah, tools is going to be the guinea pig before it gets deployed to other projects. [20:21:28] Since it's a hacky solution - the proper one would be to use web space as a service - the only way to remove people removed from the project (ie maybe suspended) is to enforce real users [20:21:32] * addshore needs to start sticking some stuff on tools then ;p [20:21:35] I can add folders to the whitelist (such as wm-bot) though [20:22:28] Damianz, could you please add 'addbot'? :) (I dont imagine there is ever going to be a user created for it :P [20:22:36] also where is the whitelist? ;p [20:22:48] in a secret file [20:23:19] mwhahaha :P [20:24:52] https://github.com/DamianZaremba/labs-bots-vhost-builder/commit/c043a1dd0fe33d3d49f76a44020c61a3004adf49 [20:25:17] <3 [20:25:20] cheers :) [20:25:42] 2013-04-09 20:25:23,417 [INFO] wmib appears to be bad, disabling [20:25:43] 2013-04-09 20:25:23,427 [INFO] testuser appears to be bad, disabling [20:25:43] ^ Anyone placing a claim on those? [20:26:45] Ryan_Lane, where did you see <novaservicegroup> [20:26:47] ? [20:26:58] andrewbogott: Special:SpecialPages [20:27:32] Damianz: you should make it copy the previously set owner to the output before it changes it to root? ;p then you know who to poke ^^ [20:28:07] Coren: I'd like to start the migration of tools-project volume soon. the only disruptive phase is when I do the commit [20:28:11] since you have to be root to write to that directly and I don't grant humanity with the sense of intelligence it's probably root to start with [20:28:15] but I can only run one migrate at a time [20:28:27] and I have no clue how long it'll take ;) [20:29:05] It should be smallish. IIRC, the only disruption is a few seconds of filesystem access loss? [20:29:12] yep [20:29:50] Go, then. The jobs that are currently running are bound the the DB; it's one of our last chances to do it outside of a planned maintenance. [20:29:57] ok [20:30:38] Damianz: good point ^^ [20:31:26] Hmm do I get off my lazy ass and fry steak or order pizza... the former requires more standing, the later more walking... [20:31:37] steak [20:32:15] mmm steak 2 nights in a row sounds like an idea [20:33:14] steak is always the right choice :) [20:34:08] Coren: ok, ready to commit [20:34:23] Ryan_Lane: Make it so! [20:34:38] done [20:34:43] I'm going to do home next [20:36:19] As far as I can tell, it went without a hitch. [20:36:34] * Ryan_Lane nods [20:36:45] it should be mostly unnoticable [20:37:11] files that people are actively writing to probably got errors for a couple seconds [20:41:41] Coren: committing home [20:41:49] Gluster is like a schizophrenic, either no one noticies or omgwtfbbq labs is down [20:41:49] done [20:41:59] yep [20:42:02] Ryan_Lane: I didn't feel a thing. [20:42:22] gluster is actually pretty stable assuming you have only a few volumes [20:42:36] Ryan_Lane: Uh, oh. Fail. [20:42:43] ---------T 1 root root 0 Apr 9 20:35 .profile [20:42:48] -_- [20:43:09] Well it's 'stable' but it really doesn't scale well (in read/write heavy envs) [20:43:38] Ryan_Lane: ... and how it seems hung. [20:44:00] oh gluster. I hate you so [20:44:08] Coren: umount it [20:44:25] and have autofs remount [20:45:01] legoktm: Please log off tools-login for a sec [20:45:23] sure [20:45:30] done [20:45:38] if you feel really mean you can also just kill the process ;) [20:46:19] ---------T 1 root root 0 Apr 9 20:35 .profile [20:46:27] I see a couple more, in my home. [20:46:35] I'm guessing mine isn't the only affected. [20:47:24] Can't see such bugs on project [20:47:49] Ryan_Lane: You need to have done home the same way you did project. I.e. without the bugs. :-) [20:48:09] heh [20:48:12] well, I tried [20:48:17] it didn't complain of failures [20:48:23] I'm betting a brick was hung [20:48:54] Odd. *only* dotfiles seem to have been affected. [20:49:03] stupid gluster [20:49:17] can't wait to be away from this filesystem [20:49:26] Coren: thinking of that, how's that testing going? [20:49:54] Ryan_Lane: It's working fine in eqiad; I have the new scheme up with 100[12] now being drive-siamese. [20:50:08] how's performance with that [20:50:09] ? [20:50:58] Ryan_Lane: Pure NFS on a kickass XFS on a wide raid. I haven't run benchmarks yet because the array is just finished rebuilding, but I expect much kicking of asses. [20:51:06] heh [20:51:09] * Ryan_Lane nods [20:51:22] I'm interesting in seeing how btrfs works on the other two nodes [20:51:55] I wonder if mark is actually going to do that ;) [20:52:37] I didn't see a ticket go by requesting the happy fun cabling dance yet. Perhaps you should ask him where on his TODO this falls; if it's in "when I have time" mode we're SOL. :_0 [20:53:16] Ryan_Lane: I count 25 broken files on -home, all told. [20:53:58] well, it's not an alternative solution [20:54:02] it would be for scratch space [20:54:08] Oh, right. [20:54:23] another set of storage we'd offer with the warning of: "this can disappear at any time" [20:57:53] You mean like gluster? [20:57:54] :P [20:58:04] kind of, ues [20:58:06] *yes [20:58:07] :) [20:58:19] Ryan_Lane: Those files salvagable? I don't care about my dotfiles, but I see a couple in scfc's home. [20:58:31] Coren: doubtful [20:58:47] Data loss for fun an profit! :-) [20:59:01] which files? [20:59:07] * Coren is SO glad we are getting rid of this fragment of digestion subproduct. [21:00:29] yeah. none of the files are on labstore3/4 [21:00:33] Ryan_Lane: Hm... Part of a git clone of wikilint. I'm guessing we don't care. [21:00:42] hell, they may have been splitbrained before hand [21:01:31] legoktm: BTW, you're welcome back anytime. [21:01:47] legoktm: (sorry I forgot to tell you) [21:02:18] thanks :P [21:02:46] It would be more interesting if he wasn't welcome back [21:03:04] dafu [21:03:25] Ryan_Lane: I rm'ed my broken .profile, copied a new one from /etc/skel and... it's broken again. [21:03:40] lololololol [21:03:40] one of the bricks must be hung [21:03:46] let me kill/start [21:04:28] Coren: where is the readme for tools? :) [21:04:31] damn it, I did the wrong project [21:04:36] I did webtools :D [21:04:43] lol [21:04:44] Gluster: Nothing else will do when you think your sysadmin has nothing to do! [21:04:52] hahaha [21:05:02] we should delete webtools [21:05:09] addshore: https://www.mediawiki.org/wiki/Wikimedia_Labs/Tool_Labs/Help [21:05:28] ok. killed and restarted [21:05:30] Coren: try now [21:05:47] -rw-r--r-- 1 marc wikidev 675 Apr 9 21:03 .profile [21:05:50] yeay! [21:05:55] fucking gluster [21:06:10] so, it looks like the shrink worked after all :D [21:06:25] Ryan_Lane: Ewww! [21:06:33] ? [21:06:45] There are a lot of things I'd want to do to gluster, fucking it isn't one. :-) [21:06:51] hahaha [21:06:54] hmmm... you know how we have a weird cron puppet signing thing.... that would be an awesome use for salt based off the trigger that an instance is built just for shits and giggles [21:07:00] it would be promiscuous [21:10:05] ok. lunch [21:13:43] Coren: love the motd of sshing to tools login ;p [21:14:13] I hate windows updates so much :( [21:14:58] addshore: ascii art FTW [21:15:16] Coren: can you make me the tool 'addbot' ? [21:19:10] addshore: {{done}}. You'll have to log off and back on to get the groups. [21:25:55] Jan_Luca: https://gerrit.wikimedia.org/r/#/c/58421/ [21:26:54] andrewbogott: are you having fun, yet? [21:52:31] cheer Coren [21:52:47] cheer? [22:00:14] built a lucid image. now to see if it works [22:19:37] Coren: cheers ;p [22:35:00] corren, what should I do about logging? Log to stderr and let the grid take care of it? Or manage my own log file? [22:35:36] Um… Coren ^ [22:37:04] andrewbogott: It's generally more efficient to log to stderr; not only is this simpler, but I'm going to deploy automagic logrotate for the ge. You can specify the error output, too, if you'd rather not have it clutter your home. [22:38:03] s/your home/your tool's home/ [22:41:24] hm. this lucid image actually looks pretty simple [22:41:27] I may be done [22:42:25] next I just need to puppetize my vmbuilder work and document it [22:42:31] it's pretty simple, overall [23:05:15] Coren: How will packaging be managed? My bot will be in a .deb and it depends on a couple of other packages being installed. [23:10:44] we have too many projects [23:10:57] shrinking all of these damn volumes is exhausting [23:11:35] so ready to no longer have gluster [23:48:21] [23:54:50] hm. it won't let me ssh in immediately. requires a puppet run :( [23:54:59] nslcd must be bad [23:55:25] it's such a pain in the ass testing this over and over