20:00:06 #startmeeting octavia 20:00:07 Meeting started Wed Mar 11 20:00:06 2015 UTC and is due to finish in 60 minutes. The chair is xgerman. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:08 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:11 The meeting name has been set to 'octavia' 20:00:16 o/ 20:00:17 #chair blogan 20:00:18 Current chairs: blogan xgerman 20:00:21 0/ 20:00:26 o/ 20:00:38 o/ 20:00:40 o/ 20:00:43 o/ 20:00:43 Agenda: https://wiki.openstack.org/wiki/Octavia/Weekly_Meeting_Agenda#Meeting_2015-03-11 20:01:14 let's see if blogan is back from taco after daylight saving change 20:01:34 o/ 20:01:36 o/ 20:01:36 o. 20:01:39 o/ 20:01:42 o/ 20:01:43 o/ 20:02:13 blogan is on PTO :P 20:02:20 towed? 20:02:23 but who knows, he might show up 20:02:25 rm_work: oh, you mean he's working from home? 20:02:32 lol 20:02:35 Yes dougwig that's the troof 20:02:40 yes, his last two days of PTO he did :) 20:02:57 #topic Announcements 20:03:24 if he's here, i can tell him that my car got towed this morning (bad starter) 20:03:38 that doesn't count 20:03:39 lol 20:03:43 lol 20:03:51 dougwig: you didn't just fix it in your driveway? :P 20:03:54 jorgem +1 20:03:58 starter isn't too bed 20:04:01 *too bad 20:04:21 bet it's like $100 at Oreilly's 20:04:26 ok, so we had mark give us a demo of akanda rug yesterday and it looks pretty impressive 20:04:53 but he also promised us to give us a version to play around with... which hasn't happened... 20:05:08 yeah, if we decided to move to that, it would mean scrapping a huge portion of our current design for Octavia, right? basically all of the current VM interfaces? 20:05:42 yeah, I think it will be a big refactor 20:06:09 but from an operator perspective I liked the tooling for listing running vms, etc, 20:06:35 anyhow, I will reserver judegment to once I had a chance to play with it :-) 20:07:15 dougwig? any lb vendor perspective? 20:07:36 It sounded like there was still some work to be done before everything we would need is in akanda, but it didn't sound like a lot 20:07:39 i think we'd be nuts to rewrite all of that infrastructure ourselves. 20:08:08 +1 20:08:19 i mean, we can have simple drivers for nova, plumbing, and amphoras for demos, but when it comes to making them production ready, an akanda driver for those three functions could get us pretty far down the road. 20:08:26 that was my initial impression, anyway. 20:09:00 +1 20:09:38 that is predicated on us getting bits and it all working, of course. 20:09:43 o/ sorry for being late 20:09:48 So, we would probably need to invest time in Akanda to get it ready for our needs, unless we expect them to do that for us? 20:10:05 dougwig: correct, I want to get something working end to end asap 20:10:05 yeah, I think we will need to engage with them 20:10:26 jorgem +1 - I see akanda AFTER we have end to end 20:10:27 dougwig: +1 20:10:27 ptoohill: I hope it's the latter 20:10:34 xgerman: +2 20:10:37 i dont think it will be jorgem 20:10:46 jorgem: +1 20:10:51 and if it is, were at the mercy of their timeline 20:11:05 which im not sure our needs are their top priority 20:11:37 +1 20:12:05 ptoohill: It is open source and I agree regarding the priority. We would need to see and assess its status before we deicde to go with it 20:12:45 agreed, im just wondering if and how much of my time well be spending getting this new framework ready for things we already have planned out 20:13:02 based on the demo we only got to see what they wanted us to see. We need to dig deeper 20:13:04 or already in flux 20:13:19 sballe__ +1 we need to get the code and assess 20:13:21 agreed sballe__, just my initial thoughts 20:13:38 ptoohill: I agree 20:14:09 ptoohill we will be spending time getting our drivers production ready, too, so without the kanda code it's hard to assess 20:14:32 anyhow, I think we are on the same page... so moving on: 20:14:43 #topic Brief progress reports 20:14:49 xgerman: +1 20:15:25 SSH Driver should be ready to review, I just still haven't tested it locally by running the code by hand 20:15:31 That's what i'll be doing today/tomorrow 20:15:40 Continued progress on the controller worker. I plan to post another patch set today that will add load balancer functionality 20:16:22 Agent API server works for most functions need to add SSL and some other minor stuff 20:16:24 Im an Octavia slacker, all foxus has been in neutron-lbaas 20:16:26 continue working on add config drive to nova compute driver and change code for health manager based on review comment 20:16:44 I was hoping blogan would be here. I'm interested to know his timeline/plans for the network driver. 20:16:51 I have started work on Amphora REST driver 20:17:16 thanks for ptoohill TrevorV ajmiller for their help :-)] 20:17:18 johnsom assume he's a lazy bumb until next Monday. 20:17:36 ( sballe__ still not sure what I did, but you're welcome :D ) 20:17:53 :-) 20:17:53 Your presence TrevorV 20:18:31 #topic Discuss AmphoraDriver: 20:18:51 well, with ssh being ready I guess TrevorV won the race :-) 20:19:54 (my intention for this topic was to highlight we are close with the REST driver and could skip ssh but since we have it...) 20:20:50 I'll continue to work on the amphora driver we can always decide later 20:21:20 Well xgerman I don't think having both would be a problem anyway, since we should potentially still prioritize the REST driver for reviews and such 20:21:27 I'm still liking the prospect of SSH driver for production deployments, after my last conversation with dougwig about it 20:21:28 our aim was always to go with REST but we felt ssh got us to the end-to-enfd quicker 20:21:33 so I wouldn't want to skip it regardless :P 20:22:03 rm_work: +1 I agree 20:22:04 rm_work any reason why ssh is better than REST? 20:22:09 a few 20:22:15 shoot: 20:22:18 dougwig: do you want to go through them, or should I? :P 20:22:48 1) nothing additional running on the Amphora, so virtually zero overhead 20:22:57 Curious on this myself. 20:22:59 2) SSH is as provably secure as anything can be 20:23:28 3) No logic deployed to the Amphorae, so updates would be entirely service-side (better scaling for updates) 20:23:28 lit the fire under rm_work :) 20:23:45 i like it because the amphora image becomes *download cloud image from canonical*. it's there, adding keys is common in openstack, bash is a fine DSL for configuring haproxy. 20:24:01 no bugs in software we don't write. 20:24:21 well, we still need some agent to push stats/health 20:24:32 xgerman: +1 20:24:52 was stats a pull or a push? 20:24:54 Other stats besides the ones maintianed by haproxy right 20:25:02 theres a few types of stats i thought 20:25:27 like instance stats, but think we can collect those else where? 20:25:50 even the ones maintained by haproxy need to get to the controller/ceilometer/... 20:26:07 you can query for those 20:26:13 scp can copy over an agent or deb. it becomes self-updating. 20:26:17 its ones that are not set up to be tracked 20:26:28 dougwig speaks truth 20:26:41 yeah, he does :-) 20:26:49 like cpu stuffs 20:27:17 well, I know people who sell aproduct which ssh's into each host and gathers those stats 20:27:20 All those informations can be derived from the SSH connection 20:27:28 through the SSH connection*** 20:27:35 if the stats are "haproxy stats", then yeah those can be pulled through SSH 20:27:41 yep, but that doesn't scale very well 20:27:57 xgerman: +1 20:28:03 thgeres others i thought we wanted to collect 20:28:06 I thought we'd decided to go with pull-stats too... 20:28:10 not just haproxy 20:28:17 and actually, it should scale fine -- you split up the amphorae between different workers 20:28:29 scales pretty easily IMO? 20:28:38 ptoohill like what? Basic networking stats and hardware information? That can still be retrieved through SSH connection, right? 20:28:50 yep, I am not questioning that 20:28:52 sure static stats can 20:29:00 though there might still need to be SOME code that lives on the Amphora, like were we still planning to have a push-based heartbeat? 20:29:05 but i thought we wanted to collect data of cpu usage/mem etc 20:29:19 but im sure that could be done without an agent of sorts, maybe 20:29:20 yep, we want but you cna do that though SSH, too 20:29:21 idk 20:29:33 ah, very true 20:29:38 just have it poll 20:29:38 +1 xgerman that's what I was talking about 20:29:39 well, the point being if it's push based, it needs to have a daemon running ON the amphora 20:29:40 The code that is in the repo was for a push model. 20:29:53 so that can do whatever 20:30:01 yeah, even UDP because TCP was too heavy :-) 20:30:08 heh 20:30:13 yeah, barclaac's code 20:30:17 which is fine to remain as-is 20:30:31 we're talking about the controller->amphora direction 20:30:35 like config updates, etc 20:30:36 (morning) 20:30:41 and, I thought, stats pulling 20:30:43 The current design puts a lot of weight on the agent monitoring the haproxy instances 20:31:20 i'd wager that the "health check" in 0.5 could be just keeping an ssh connection hot and noticing when it drops. 20:31:29 my main worry is that pushing out code with ssh, etc. makes us into some poor man's ansible/chef/etc. 20:31:51 note: it is possible to exports stats through a TCP socket (ciphered) 20:32:00 or CSV through the stats page 20:32:21 bedi, neat! 20:32:57 http://demo.haproxy.org/ 20:32:59 and 20:33:00 http://demo.haproxy.org/;csv 20:33:06 just an example 20:33:31 you can even export stats for a single frontend or backend: 20:33:32 http://demo.haproxy.org/;csv?scope=www 20:33:34 I can see a short term (0.5) need for ssh but long term I would think REST is better (since we can use golden images; make sure nobody ssh i and turns it into a botnet) 20:33:34 :) 20:34:15 well, I assume SSH would only be bound to the management interface 20:34:33 but I don't know if this conversation is precisely on-topic/necessary right now 20:34:48 where in the meeting were we? :P 20:35:19 One thing to note, even when considering the REST api on the amphora, its still a pull model to gather info/details about the amphora, am I wrong? 20:35:57 the api client will make the request to gather that data, so yes, its still a 'pull' model 20:36:04 TrevorV the plan is to write an gent which has a REST API and some way to push stars 20:36:13 stars=stats 20:36:18 but they can be two pices 20:36:21 unless its planned to do something else :P 20:37:05 ptoohill the stats argument was to defeat the assertion we can use stock ubuntu/don't need to install anything 20:37:13 well, depends on what is push and what is pull 20:37:27 and yeah, we still need to deploy SOME agent on the amphora 20:37:31 but it can be much more minimal; 20:37:33 actually it depends who does it :) 20:37:42 and it could be *deployed* via SSH, making updates much easier 20:38:26 and that ties into how operators run their world - if it's golden images; or configured at ruuntime 20:38:36 true 20:39:27 (and I know my security people running an ssh system will only fly with waivers) 20:39:37 well 20:39:47 and heavy app armor 20:39:50 ask your security people how much more comfortable they are with a custom REST-based solution you wrote 20:40:07 xgerman I don't remember us every automatically pushing stats from the amphora. I knew of the heartbeat, but that's the only thing I remember as a communication out from the amphora without a request being made 20:40:08 seems there is much more likleihood of that being insecure than SSH being insecure 20:40:17 ever automatically*** 20:40:32 hence: 2) SSH is as provably secure as anything can be 20:41:36 Not sure what were argining anymore, but sounds like we should keep/use both ssh and rest to satisfy everyones needs 20:41:44 yep 20:41:56 and do a push/pull model and make it configurable ;) 20:41:58 That's a given, but now I'm confused about the priorities of the amphora. 20:42:08 TrevorV: http://octavia.io/review/master/design/version0.5/component-design.html scroll down to "Some notes on Controller <-> Amphorae communication" 20:42:38 yeah, priorities are confusing 20:43:33 I think that horse is glue 20:43:43 #topic Open Discussion 20:44:21 * dougwig used to eat paste as a kid. 20:44:38 dougwig.rb !!!! 20:45:00 "And the following would happen over TCP: * haproxy / tls certificate configuration changes" 20:45:06 that is not aphora->controller 20:45:09 that's the other way around 20:45:25 so no, it wouldn't have anything to do with a REST API controller-side 20:45:59 the only things I see listed in that section that are relevant are things that would be handled by barclaac's heartbeat code, or by the controller->amphora SSH connection driver 20:47:01 yep, I just pointed that out since TrevorV didn't recall pushing stats amphora -> Controller 20:47:18 but both ssh and REST are covered by the spec 20:47:43 so as ptoohill said different operators have different needs 20:48:12 ... 20:48:15 OH yeah I see, the bullets got messed up 20:48:31 * ptoohill Likes goldfishes 20:49:01 this stuff is really not well worded 20:49:01 T_T 20:50:00 agreed 20:50:44 TrevorV pointed out what I had forgotten -- I think a lot of this stuff is supposed to be sent over *as part of* the heartbeats from barclaac's daemon 20:50:46 over UDP 20:51:09 at least, specifically, “edge” alert notifications (change in status) from the amphora to the controller 20:51:24 which i assume means "member node UP/DOWN notifications", since haproxy is tracking those 20:51:29 and that's how I assume we'd be notified 20:51:39 Which makes his code much more intimately connected to the API driver or SSH driver or whatever to get those "agents" set up appropriately. 20:51:42 yeah, that's what we use the health manager for 20:52:01 (recieving those upodates) 20:52:20 TrevorV +1 20:52:54 rm_work brought up that the base image will have the agent that sends those UDP connections defined. 20:53:04 the health-manager listens for UDP messages? 20:53:06 UDP informations*** 20:53:12 I guess that makes sense, but i hadn't seen that code yet 20:53:23 no, driver does; health manager has logic to persist it into DB 20:53:27 ah 20:53:30 which driver does? 20:53:36 the Amphora Driver? 20:53:37 amphora_driver 20:53:47 if so, that'd be shared code between both the REST driver and the SSH driver 20:53:59 yep 20:55:04 they will be pretty similar the REST server doesn't do muh but some with open to move files and subprocess to start/stop things 20:55:31 yeah I'd hope the listening on UDP part would be above the SSH/REST layer 20:55:51 rm_work, will be an extra thread... 20:55:54 ah right 20:56:05 so it's not really part of the Amphora Driver, it seems 20:56:08 at least, as we have it 20:56:10 it is 20:56:24 because the amphora_driver is a specification for an interface to talk TO the amphora 20:56:28 and is not a thread 20:56:40 it's just code that is run when there are updates to be sent 20:56:59 + it also fires up a thread to lisetn for the stats 20:57:00 there needs to be a different class like amphora_listener to actually have an open socket for that, i'd imagine 20:57:03 err 20:57:09 except it fires up a thread when? 20:57:12 not per-update 20:57:36 it doesn't really make sense for a class that is instantiated/used as a result of queue actions 20:57:43 no, I think we will amend the spec so you cna say start_thread() 20:57:47 to spin up a long-term listening thread 20:58:06 since that thread needs to run as part of the health_manager BUT NOT the deploy worker 20:58:24 I mean, technically that would work, but it seems like a bad design decision to just shove it in with the rest of the outbound amphora communication stuff 20:58:47 since that thread and the rest of the amp driver will never share any code or call each other 20:58:50 well, I would hate to need TWO drivers to talk with Amphoras 20:58:58 it'll only be calling health-manager persistence methods 20:59:01 err, no 20:59:15 you'd need one class that is responsible for opening a socket and acting as a long-term listener 20:59:28 ok, got it two classes; one driver 20:59:30 and one class that is part of a lib that is run for on-queue-action updates 20:59:55 well, it also kind of makes sense to split it out, since it's not relevant whether the driver is SSH or REST 20:59:59 Yeah, the point of having it in the driver was for non-amphora deployments. 21:00:01 unless it lives at a layer ABOVE that part 21:00:18 so if it lives in the Amphora Driver code, we need to have an extra layer 21:00:34 because we don't want to be duplicating that code between the SSH and REST implementations 21:00:52 that should be easy enough to figure out though, since hopefully that makes sense? 21:01:14 yep, we also can share the code which makes haproxy.cfg files 21:01:23 yeah probably 21:01:46 anyhow, time's out 21:01:50 #endmeeting