20:00:46 #startmeeting 20:00:46 Meeting started Thu Sep 3 20:00:46 2009 UTC. The chair is mmcgrath. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:46 Useful Commands: #action #agreed #halp #info #idea #link #topic. 20:00:57 #topic Who's here? 20:01:00 * lmacken 20:02:06 * abadger1999 shows up 20:02:14 * nirik is hanging around in the back. 20:02:17 * dgilmore 20:02:39 * jpwdsm is here 20:02:54 Ok, well lets get going 20:02:57 * quaid lurks for fun 20:03:32 First lets look at meeting tickets. 20:03:34 * dgilmore pust quaid to work 20:03:44 And there aren't any so that's good I guess. 20:03:52 #topic Infrastructure -- QPID 20:03:59 so I've been working on our qpid deployment for community. 20:04:12 As it stands I don't think they have any widgets ready for it yet, so it'll sit in staging. 20:04:20 I still have a number of questions for someone more experienced with qpid. 20:04:27 Specifically around acls, and authentication. 20:04:41 I think the orbited interaction will all be completely anonymous at the qpid layer. 20:04:50 but I want to know what that means and how to lock it down. 20:05:02 I don't think we want people inserting their own routes or anything. 20:05:06 the clients will still have to auth, but most likely through a guest account 20:05:20 lmacken: the 'clients' the desktop apps? 20:05:26 or the web browser 20:05:45 well, here's the rub right now, and it might be fixable but i'm not sure. 20:06:00 I haven't figured out how to get qpid to do anonymous and auth based at the same time. 20:06:14 When I do auth=yes in the config, no anonymous connections are allowed. 20:06:25 when I do auth=no, all user / password combos are accepted. 20:06:33 which means the acl system isn't useful. 20:06:48 Hmm.. well, I assume J5's AMQP.js can auth 20:06:54 and I think guest/guest is enabled by default in qpid 20:07:38 It'd probably be worth it for you guys to get a working widget together and a working client up and going in staging so I can test 20:07:53 yep, will do. 20:08:11 I'll just make a basic widget that just spits out all messages that it receives 20:08:16 and we can roll from there 20:08:17 K, so I'll sit tight until that time. 20:08:27 oh Im' here, sorry (: 20:08:29 J5 was planning on releasing his AMQP.js stuff today, I think. 20:08:34 worksforme 20:08:48 most of the stuff I've been testing had that reply_to flag stuff and got replied to. 20:08:57 I'm not sure if that's what you guys have in mind for most stuff, or some stuff or what. 20:09:14 (for an example of how Moksha/Orbited is currently working with live widgets, check the source code for moksha.csh.rit.edu) 20:09:18 lmacken: another thing I'm a little confused on is how messages work while I'm away. 20:09:22 or will they not? 20:09:41 lmacken: like, will messages get queued if a client isn't connected? 20:09:50 will some messages get queued depending on the message? 20:09:51 mmcgrath: I think that depends on the queue 20:09:57 there's still a lot of question marks like that in my head. 20:10:04 whether or not it's durable with guaranteed delivery or not 20:10:04 Oxf13: will there be lots of different queues? 20:10:05 mmcgrath: hmm, we'll have to figure those logistics out 20:10:10 mmcgrath: there can be 20:10:16 like will you have a queue and I have a queue? or will there just be a cvs queue? 20:10:20 usually we're just doing multicast to anyone that is subscribed, so if you're not subscribed, you don't get the msg 20:10:24 every client is essentially a queue 20:10:36 Oxf13: but what if the client is not connected? 20:10:38 lmacken: I released it 30 minutes ago 20:10:39 sorry back 20:10:46 that's where the durable queue comes in? 20:10:48 it'll just store it? 20:11:01 mmcgrath: I think so yea. It depends on how the queue is created when the client connects 20:11:04 lmacken: It can't auth yet, but that is easy to add 20:11:05 I guess that's where I'm still a little confused, it sounds like we'll have an all the above type setup. 20:11:23 for some of the stuff I want to use the bus for, I think we'll have to have durable queues 20:11:28 we don't need durable auth 20:11:29 for things like notifications of cvs changes and builds 20:11:39 durable queues that is 20:11:40 and for triggering autoqa events 20:11:45 Oxf13: but is the stuff you have in mind also goign to work with community and their external brokers? or all internal brokers? 20:11:49 particularly if we tie package tagging into pass/fail of QA events 20:12:00 mmcgrath: I think it would be all internal, but I'm really not sure. 20:12:11 I don't know what the community folks have going, I've not come up to speed yet :/ 20:12:17 Oxf13: honestly I don't even know that the difference matters the way we have it setup. 20:12:26 well the way I have it setup now. 20:12:35 and I still don't quite get the difference between an exchange and a queue 20:12:46 I don't know all the terms yet either 20:12:51 anyway, I still have some reading to do. but we do have a functional working setup right now. 20:12:52 I need to read up and maybe take the RH training course 20:12:55 but not one that's ready for production. 20:12:59 exchange is just the broker with bindings to queues 20:13:13 J5: but an exchange can have multiple queues right? 20:13:21 so you send messages to exchange and it sorts it into a queue 20:13:32 yeah, you send messages to exchanges, not queues. 20:13:37 like a mail sorting facility 20:13:45 ah right 20:13:53 the sender is essentially done once it gets into the hands of the exchange 20:14:00 so the queue itself is really just a storage bin? 20:14:03 it's literally just a queue? 20:14:04 then the exchange worries about ensuring all the queues get the message correctly 20:14:05 yep 20:14:21 messages can be split into multiple queues 20:14:29 Ok, so my next question on that then (and I won't jack the whole meeting for this) 20:14:40 if jesse and I are waiting for our builds to finish. 20:14:53 and koji sends a message that jesse's build is finished, and my build is finished. 20:15:00 how does it get setup so that jesse gets his message and I get mine? 20:15:05 J5: is your deployment proposal ready for prime time? meaning, can we schedule a meeting with the AMQP/QMF guys yet? 20:15:09 mmcgrath: here is how I envision it 20:15:23 mmcgrath: koji would message to the exchange that "foo build completed" 20:15:26 do I have to set up some sort of filter to only display my builds and ignore jesses? or does the broker some how route it to me via how I'm logged in? 20:15:28 mmcgrath: depends, but you can rout on pieces of the message 20:15:45 the exchange would know what queues such notifications go to, one being our future notification server 20:15:49 you route to different queues with bindings 20:16:10 lmacken: sure 20:16:12 yeah, depends if we're doing topic-based routing... so if you were listening to fedora.builds.# vs. fedora.builds.kernel 20:16:21 the notificatoin server woudl have a queue on the exchange. The exchagne would deliver a copy of the "build finished" message to the notification server, the server would then generate whatever it wants to generate, like emails, an rss update, etc.. basedon the message 20:16:39 lmacken: topics, that's the part I was confused about. not queues. Whats the difference between an exchange and a topic? 20:16:46 mmcgrath, Oxf13: the information you're talking about would be useful outside... whether we go directly through qpid to get it there, I don't know. 20:16:47 mmcgrath: I don't think you and I would have personal queues on the exchange. 20:16:57 Oxf13: 20:16:59 having it available externally will make testing easier ... 20:17:06 mmcgrath: 'topic' is a type of exchange 20:17:13 especially since we don't have a good solution for testing AGPL stuff inside infra. 20:17:16 along with fanout, etc 20:17:18 mmcgrath: topic is like the subject field in an e-mail, except you can user wild cards to do a match 20:17:19 mmcgrath: My thought would be that the notification server would have a queue on the exchange, and would take care of the logic of delivering the email to you and me 20:17:46 Ok, well. Besides the obvious fact that I have some more docs to read, I think it'd be helpful to get at least something up in staging. 20:17:47 mmcgrath: the notification server would have the logic to see that "smolt" build finished, and here are the people that care about smolt builds, so I'm going to email each one of them. 20:17:51 Oxf13: yeah, the 'community hub' would be consuming the message, and could handle the RSS/Email/etc logic 20:17:54 Oxf13: yeah 20:18:09 mmcgrath: there are different types of match rules, topic being one of them 20:18:18 J5: got'cha. 20:18:19 mmcgrath: the autoqa server would have it's own queue for such messages on the exchange 20:18:25 yeah 20:18:46 and then the autoqa server would consume the message, see it's a finished build for smolt, and then kick off any automated testing setup for smolt specifically, packages in general 20:18:53 I think my confusion on this is, after the few server client tests I've written, I realize hwo many different ways the brokers can be setup and how messages go around. 20:19:01 I think it'll be helpful to just get some use cases in and going. 20:19:07 then once autoqa has done its thing, it'll announce the results back on the bus, and... 20:19:16 mmcgrath: yeah 20:19:19 the scope could be huge 20:19:33 yeah, I think after once we get a simple usecase running, we should sit down with the AMQP guys and make sure we're on the right track 20:19:37 it's so flexible that it makes it hard to zoom in on a specific thing 20:19:47 J5: lmacken: another question for you, can I make the externally available qpid server any arbitrary hostname? Or does it have to be at the same address that the URL in the browser is using? 20:19:58 * mmcgrath seems to remember some browser security 'feature' that prevented them being different 20:20:01 but I might have made that up 20:20:10 Orbited requires that it be under the same domain iirc 20:20:19 lmacken: same domain or same hostname? 20:20:23 I don't think it can do cross-domain request, at least not until HTML5 20:20:34 mmcgrath: domain I believe 20:20:34 mmcgrath: domain 20:20:46 by HTML5, I mean, newer browsers. 20:20:51 lmacken: you lose cookies for cross domain 20:20:54 K, that's good to know. 20:21:14 Ok, so that's really all I've got on this for the moment. 20:21:26 J5: lmacken: do you have any ETA you might have some basic foo up in staging? 20:21:45 I'll have basic subscription in JS done tomorrow 20:22:01 we'll try and get something up next week 20:22:07 and then setup is a sinch if all we are running is tests. So Monday or tuesday 20:22:37 (http://www.rabbitmq.com/faq.html has some good explanations for messaging scenarios and such) 20:22:40 And remember to put it all in rpms for now :-( 20:22:43 k, sounds good. I'll make sure to have my schedule mostly available during that time so any hiccups that do come up can be dealt with. 20:23:03 lmacken: thanks 20:23:03 cool 20:23:18 Ok, anyone have any other questions / comments on this? 20:24:32 alllrighty 20:24:35 #topic smolt 20:24:35 Are we still following the multiple brokers route? 20:24:47 abadger1999: yeah, we'll have a single (or HA) internal broker. 20:24:54 and then each proxy server will have it's own sort of 'proxy broker' 20:24:59 20:25:27 So just a couple of notes on the smoltdb, I've made some interesting changes to what queries are being run. 20:25:39 we still seem to be having daily issues with render-stat but it's in much better shape then it was. 20:26:01 cool. 20:26:08 #topic Infrastructure -- pgpool 20:26:19 So db2 has been running out of open connections. 20:26:29 wheee 20:26:30 mostly because of poor pooling in our applications. 20:26:44 pgpool is a sort of fake postgres server that does this for the applications. 20:26:51 I'm working on deploying it in staging right now. 20:27:14 I think it'll be useful to mirrormanger, transifex and possibly koji not that we've had any issues with db3 20:27:42 Anyone have any questions or concerns on that? 20:28:02 I'm debating whether to get this in to production asap or wait until next week. 20:28:17 mmcgrath: koji uses persistent connections, pooling will be of no benefit. Also, db3 has been a rock lately, lets not mess with it. :) 20:28:17 Only because I think I'm the only one that knows how to use it, and I'm going to be gone from tomorrow until monday. 20:28:28 mbonnet: I'm inclined to agree. 20:28:42 mbonnet: but even with persistent connections, if I do a load test against koji.fedoraproject.org, won't I eventually use up all the connections? 20:29:21 mmcgrath: no, I think we've got MaxServers in httpd set lower than the max db connections (or we should) 20:29:27 ahh, got'cha. 20:29:43 even if we don't, no sense in fixing what isn't broken. db2 is where our current pain lies so we'll just focus on that. 20:30:11 The thing that was odd for me to wrap my head around with this is, unlike alchemy that does pooling per client (like app1 and app2 each have their own pools). pgpool does it completely external to that. 20:30:16 anyway... moving on. 20:30:23 #topic Infrastructure -- IPv6 20:30:31 So, domsch just sort of threw this all together and got it working. 20:30:36 It's worked fairly well. 20:30:46 We had a couple of issues that were external to us 20:30:59 but daumas as you've seen has gotten some of that all fixed 20:31:20 There's been some odder issues like what Oxf13 saw yesterday and the day before. 20:31:31 I'm a little worried that other people are running into similar issues. 20:31:42 so keep an eye out. 20:31:44 for me, it was a broken local router 20:31:48 advertising ipv6 when it shouldn't 20:32:04 but it was also very non-obvious to troubleshoot, so some people may not even realize it. 20:32:09 ahwell, another First for Feodra ;) 20:32:28 #topic Infrasturcture -- rkhunter 20:32:39 So I think I've got rkhunter just about configured where it's tolerable. 20:32:52 I'm going to make an SOP for it explaining what the emails mean, and what types of false positives are likely. 20:33:09 Any questions there? 20:33:16 can rkhunter detect the thing from that time 20:33:19 ? 20:33:25 from The Incident 20:33:26 actually I think it would have 20:33:33 I had a patch written a while back, but I'm not sure what happened 20:33:50 The way I have it configured presently it would have notified us 20:33:55 excellent 20:34:14 which reminds me I need to add another config because it HATES the fact that /usr/bin/.ssh.hmac exists on Fedora machines :) 20:34:55 anywho, moving on. 20:35:12 #topic Infrastructure -- RHEL5.4 20:35:17 joy 20:35:18 So we've got a RHEL5.4 upgrade to do. 20:35:30 honestly every one of these upgrades to date has been fairly painless. 20:35:34 I'm hoping this will be as well. 20:35:45 The basic way we've done this in the past -- start with staging (obviously) 20:35:52 Once that goes upgrade those servers in production 20:35:59 so that'd include the proxy servers, app servers, and db servers. 20:36:05 which is a big chunk of the important stuff. 20:36:23 Next, pick a physical host in PHX to upgrade and make sure virtualization is still working :) 20:36:30 then the rest of those 20:36:33 then everything else. 20:36:35 kind of one by one. 20:36:39 one issue we had with the 5.1 -> 5.2 update was with our xen servers. You had to upgrade the dom0 before you could do the domU's 20:36:41 trying to align reboots as we can. 20:36:58 it was listed as being needed for later ones too... but not sure if that was the case 20:37:22 smooge: that sounds familiar, the newer dom0's worked with the older domu's but not the other way around. 20:38:01 so in that case, you need to do xen9 first and then the staging 20:38:05 Anywho, that's not urgent urgent, but I'd like to have it done before the beta freeze. 20:38:25 I can start on it next week. 20:38:26 smooge: do the release notes dictate the same thing for this round or will it not be an issue. 20:38:29 ? 20:39:08 i am reading through them. its mentioned as a best practice.. but I think they spend more time on KVM!!!!! than Xen this tim 20:39:40 heh 20:39:41 do we have any kvm guests yet for testing? 20:39:42 quite likely 20:39:49 lmacken: app7 is a kvm guest 20:40:01 ah, and app7 is already serving production apps... nice 20:40:05 https://admin.fedoraproject.org/haproxy/proxy1/ 20:40:08 yeah 20:40:21 that's worth mentioning as well, if we have any issues with app7, just turn it off, you won't hurt anything :) 20:41:03 that does kind of contradict what I just said about esting in staging but we did do some special testing with app7 ahead of time. 20:41:15 G_work's been working on getting it and xen6 ready for a while, he's been using the 5.4 beta. 20:41:24 Anyone have any questions on this? 20:41:37 none from me 20:41:49 Alllrighty 20:42:13 I think with that I'm done. Nothing new on the PHX move, some meetings with our main contact have been moved to next week. 20:42:16 so 20:42:19 #topic Infrastructure -- Open Floor 20:42:24 anyone have anything they'd like to discuss? 20:42:29 Note: orbited and same origin: http://en.wikipedia.org/wiki/Same_origin_policy Cross site is per hostname (unless there's a browser bug). domain name == hostname 20:43:20 Ah, I took off draft status on the licensing page: https://fedoraproject.org/wiki/Infrastructure_Licensing 20:43:26 move to phx ( did I miss that?) 20:43:31 abadger1999: that's what I remember hearing about. 20:43:31 Should we list that anywhere/announce it? 20:43:33 oh wait you covered it.. 20:43:37 smooge: just said it a bit ago. 20:43:40 not really much else going on. 20:44:12 abadger1999: good question, totally up to you. 20:44:21 I'd be worried about starting a flame fest myself 20:44:26 heh :-) 20:44:28 but it is an important step for us. 20:45:24 k I'll figure something out. 20:45:26 smooge: we should probably figure out what we want to go where based on size and A requirements. 20:46:07 I am working on an ascii picture today 20:46:13 sweet 20:46:15 smooge: what for? 20:46:17 The only thing to note as a change is that I made a policy on AGPL apps until we get tired of it/come up with better: staging has to be like production (rpms + hotfixes listed in trac) and no AGPL apps on publictest. 20:46:29 rack space.. or where you talking about soemthing else? 20:46:36 abadger1999: 20:46:42 smooge: yeah rackspace 20:46:42 smooge: speaking of ascii pictures: http://ditaa.sf.net 20:46:53 smooge: sorry, thought you were working on network diagrams or just plain art :) 20:47:24 oooooooh pretty 20:47:39 yeah, I started playing around with that tool last night.. pretty neat 20:47:42 i wonder how that will render my old maryilyn monroe ascii calender 20:48:37 hah 20:48:51 abadger1999: might be good to send another reminder to the list as to our new rules. 20:49:01 other then that we've got 12 minutes left, if no one has anything we can close it early. 20:49:06 mmcgrath: Will do. 20:49:27 Ok, well if no one has anything else, I'll close in 30 20:49:50 say goodnight gracie 20:49:58 good night gracie! 20:50:01 Ok, that's that 20:50:05 #endmeeting