Thursday, 2013-01-17

*** kaganos has quit IRC00:11
*** kaganos has joined #openstack-meeting-alt00:13
*** kaganos has quit IRC00:18
*** amyt has quit IRC00:20
*** esp has joined #openstack-meeting-alt00:23
*** esp has left #openstack-meeting-alt00:23
*** cp16net is now known as cp16net|away02:07
*** cp16net|away is now known as cp16net02:07
*** robertmyers has joined #openstack-meeting-alt02:14
*** cp16net is now known as cp16net|away02:41
*** cp16net|away is now known as cp16net02:43
*** cp16net is now known as cp16net|away03:21
*** cp16net|away is now known as cp16net03:24
*** juice has quit IRC03:25
*** cp16net is now known as cp16net|away03:51
*** cp16net|away is now known as cp16net03:56
*** juice has joined #openstack-meeting-alt04:00
*** kaganos has joined #openstack-meeting-alt04:14
*** robertmyers has quit IRC04:43
*** robertmyers has joined #openstack-meeting-alt04:44
*** robertmyers has quit IRC04:48
*** jcooley is now known as jcooley|away05:31
*** jcooley|away is now known as jcooley06:40
*** kaganos has quit IRC06:46
*** jcooley is now known as jcooley|away07:22
*** cp16net is now known as cp16net|away07:41
*** jcooley|away is now known as jcooley11:22
*** jcooley is now known as jcooley|away11:32
*** jcooley|away is now known as jcooley13:22
*** jcooley is now known as jcooley|away13:32
*** jog0 has joined #openstack-meeting-alt13:56
*** jcooley|away is now known as jcooley14:20
*** jcru has joined #openstack-meeting-alt14:21
*** jcooley is now known as jcooley|away14:22
*** jcooley|away is now known as jcooley14:22
*** robertmyers has joined #openstack-meeting-alt14:25
*** jcooley is now known as jcooley|away14:34
*** jcru is now known as jcru|away14:59
*** jcru|away is now known as jcru15:06
*** amyt has joined #openstack-meeting-alt15:10
*** djohnstone has joined #openstack-meeting-alt15:13
*** jcooley|away is now known as jcooley15:14
*** jcooley is now known as jcooley|away15:17
*** ametts-atl has joined #openstack-meeting-alt15:34
*** ametts-atl has left #openstack-meeting-alt15:36
*** jcru is now known as jcru|away15:46
*** cp16net|away is now known as cp16net15:56
*** jcru|away is now known as jcru16:13
*** cp16net is now known as cp16net|away16:23
*** nithiwat has joined #openstack-meeting-alt16:38
*** nithiwat has quit IRC16:38
*** djohnstone_ has joined #openstack-meeting-alt16:40
*** djohnstone has quit IRC16:40
*** djohnstone_ is now known as djohnstone16:40
*** amyt has quit IRC17:04
*** amyt has joined #openstack-meeting-alt17:04
*** amyt has quit IRC17:09
*** jcru is now known as jcru|away17:11
*** amyt has joined #openstack-meeting-alt17:17
*** kaganos has joined #openstack-meeting-alt17:18
*** amyt has quit IRC17:22
*** amyt has joined #openstack-meeting-alt17:22
*** jcooley|away is now known as jcooley17:30
*** esp1 has joined #openstack-meeting-alt17:51
*** esp1 has left #openstack-meeting-alt17:58
*** kaganos has quit IRC18:11
*** jcooley is now known as jcooley|away18:24
*** jcooley|away is now known as jcooley18:28
*** kaganos has joined #openstack-meeting-alt18:29
*** jcooley is now known as jcooley|away18:32
*** jcooley|away is now known as jcooley18:32
*** jamie-rax has joined #openstack-meeting-alt18:38
*** jcru|away is now known as jcru18:42
*** ChadL has joined #openstack-meeting-alt18:47
*** kgriffs has joined #openstack-meeting-alt18:49
*** jamie-racklanta has joined #openstack-meeting-alt18:50
*** jamie-rax has quit IRC18:50
*** jhopper has joined #openstack-meeting-alt18:52
*** edsrzf has joined #openstack-meeting-alt18:54
*** treeder has joined #openstack-meeting-alt18:56
*** nithiwat has joined #openstack-meeting-alt18:56
*** oz_ has joined #openstack-meeting-alt19:00
kgriffs#startmeeting19:00
openstackkgriffs: Error: A meeting name is required, e.g., '#startmeeting Marketing Committee'19:00
oz_ih19:01
kgriffs#startmeeting Marconi Project Team19:01
oz_hi19:01
openstackMeeting started Thu Jan 17 19:01:15 2013 UTC.  The chair is kgriffs. Information about MeetBot at http://wiki.debian.org/MeetBot.19:01
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.19:01
*** openstack changes topic to " (Meeting topic: Marconi Project Team)"19:01
openstackThe meeting name has been set to 'marconi_project_team'19:01
kgriffs#topic introductions19:01
*** openstack changes topic to "introductions (Meeting topic: Marconi Project Team)"19:01
kgriffsOK, folks, let's get this party started19:01
*** ametts-atl has joined #openstack-meeting-alt19:01
kgriffsSince this is a new project and involves some folks new to OpenStack, I thought it would be good to start out with a few introductions from the core team and anyone else who's here to talk about Marconi.19:02
*** edsrzf has quit IRC19:03
kgriffsFirst off, I'm Kurt Griffiths with Rackspace in the Atlanta office. I developed the notification bus for our Cloud Backup product.19:03
*** oz_ is now known as oz_akan19:03
kgriffstreeder: you want to go next?19:04
treedersure19:04
*** Guest88946 has joined #openstack-meeting-alt19:05
treederI'm Travis Reeder, CTO of Iron.io, in SF. We built a cloud message queue called IronMQ. Excited to be involved in this project to help define the cloud MQ standard.19:05
*** edsrzf has joined #openstack-meeting-alt19:06
kgriffs(Travis is on the core team for Marconi)19:06
kgriffsCool. Anyone else want to say hi? Let's give it a couple minutes and move on to the next topic.19:06
edsrzfI'm Evan Shaw from Iron.io.19:07
jhopperI'm John Hopper, engineer over in the Cloud Integration group. We're working on a unified logging component for OpenStack and considering the potential applications of Marconi, we're very interested19:07
jhopperRackspace, San Antonio^19:08
*** Guest88946 is now known as carimura19:08
carimuraHey all. Chad Arimura, Iron.io, in SF with Travis.19:08
jamie-racklantaI'm Jamie Painter in Rackspace Atlanta (Kurt's colleague). Looking forward to contributing to Marconi.19:09
nithiwatHi, I am Nithiwat from Rackspace's Blacksburg office. We use a lot of messaging here and are interested in Marconi project.19:09
ChadLI'm Chad Lung, Rackspace Software Developer most recently on Atom Hopper (atomhopper.org) and helping out John Hopper on the Logging as a Service effort now. I'm in San Antonio19:09
oz_akanHi, I am Oz Akan from Rackspace, Atlanta19:09
ametts-atlAllan Metts, also from Rackspace Atlanta.  Happy to see such a great turnout!19:09
kgriffs#topic Answer any general questions about the project19:09
*** openstack changes topic to "Answer any general questions about the project (Meeting topic: Marconi Project Team)"19:09
kgriffsFire away, and I'll do my best to answer (or nudge one of my colleagues to answer).19:10
jhopperCan you define the initial use cases for the system? The target user audience, etc...19:10
*** jog0 has left #openstack-meeting-alt19:11
kgriffsThe high-level use cases revolve around providing a message bus that web app developers can use when deploying on OpenStack cloud(s)...19:14
kgriffsTwo main use cases that I see are:19:14
kgriffs1. Notifications and RPC between backend systems and user agents through the Internet19:15
kgriffs2. Distributed job queuing (producer-consumer)19:16
jhopperGotcha. Thank you, that makes it more clear to me19:16
kgriffstreeder: Anything to add based on your experience?19:17
ChadLI like the idea of using a "Home Document" versus WADL, are the other OpenStack projects using home documents since the RFC is pretty new? Or is this just something Marconi will have out of the box?19:17
treederthere's quite a few, mind if i post a link to a blog post with top 10 uses?19:17
treederdon't want to be spammy19:17
kgriffssounds good19:17
jhopperThat'd be great19:18
treederhttp://blog.iron.io/2012/12/top-10-uses-for-message-queue.html19:18
kgriffs#info http://blog.iron.io/2012/12/top-10-uses-for-message-queue.html19:18
treederThere's also this one which gets a bit deeper into some things: http://blog.iron.io/2013/01/common-actions-on-messages-in-queue.html19:18
kgriffs#info http://blog.iron.io/2013/01/common-actions-on-messages-in-queue.html19:18
kgriffscool, thanks19:18
treederthe worker pattern is probably the most common though19:19
treederone system puts messages on the queue19:19
jhopperMakes sense - so this is targeting a much wider distribution model than the current queue implementations already in use (RabbitMQ), is that a safe assumption?19:20
treederanother system (could be many different machines) pulls them off to process them19:20
treederI think so19:20
kgriffschadl: The idea for a home document came from mnot and I've been trying to follow his guidance. Thoughts on WADL vs. home documents?19:20
jhopperI prefer home documents - they're more concise and easier to parse and process in web-native platforms19:20
treederFor instance, one interesting thing we're seeing since it's a cloud queue that supports webhoooks19:20
treederis integration between third party systems.19:20
jhopperThat would be unique, especially when looking at the Mobile market19:21
treederie: service X (stripe, github, or whatever) posts messages to a queue via their webhook support19:21
treederthen you can deal with them later to process them with workers, etc.19:21
treederrabbit wouldn't work for those scenarios19:22
kgriffs#agreed Stick with home document19:22
jhopperHow will the bus handle the potentially vastly different latencies consumers will have. For example: mobile clients may have a much higher per-message latency for platform reasons than my VM hosted in an adjacent VLAN19:22
kgriffsDo you think mobile clients would use the service directly or via some kind of mobile push bridge?19:25
treederdo you mean the latency in terms of the mobile users experience? or how the mq would deal with it technically?19:25
kgriffsI guess their web browsers will do it via JavaScript if they load up a web app.19:25
treederkgriffs: the mobile thing is a bit tricky. We'd like them to be able to post directly, the hardest part of that is authentication though19:26
jhopperThe bridge would make sense. I was curious to know if there's a distinction between retention and replication of events made available to consumers that might drain their queue infrequently. The bridge is probably a more ideal solution since they're two different use-case domains19:26
*** clarkb1 has joined #openstack-meeting-alt19:27
kgriffs#info Need to figure out auth to allow posting directly from mobile19:27
treederregarding authentication, the mobile app developer would have to embed their authentication tokens into the client19:27
treedereven BaaS haven't figured that out yet19:28
*** clarkb has quit IRC19:28
kgriffsInteresting. We should take that up in depth in a future meeting19:28
kgriffs#action kgriffs add mobile app auth discussion to a future mtg agenda19:29
*** clarkb1 is now known as clarkb19:30
jhopperAre there any throughput/scaling targets? I've been following some of your blog posts but I'm curious to know if there's a workload range defined19:31
kgriffsre the latency question, the combination of customizable message TTLs and the ability to query stats (messages per queue, also trending) would allow app developers to tune for different scenarios (even dynamically)19:31
*** vipul is now known as vipul|away19:31
*** vipul|away is now known as vipul19:31
*** nithiwat has quit IRC19:32
*** kaganos has quit IRC19:32
kgriffsRight now I've just got some SWAGs re throughput and scaling targets19:33
jhopperHaha, fair enough - just curious. I know development is in the early stages19:33
ChadLAMQP support or not?19:34
kgriffsFor example, looking at 50ms max turnaround per request (hopefully will be more like 10-20ms, but we're dealing with Python here, so no promises)19:34
treeder-119:34
treeder;)19:34
jhopperIn the logging service there's a REST component that's loosely defined for downstream event dissemination - the REST interface described by this system seems to fit our needs quite well, hence the curiosity on throughput19:35
kgriffsI like the idea of keeping Marconi RESTful (to use an abused term), and creating bridges to other systems that may be more appropriate for certain problem domains.19:35
treederthat -1 was for amqp support19:36
jhopperI agree with that. AMQP was designed for certain reasons19:36
treederjhopper: is 50ms max response time good enough for your logging use case?19:36
kgriffsre throughput, it isn't unreasonable to target millions of tps for a 10-12 box cluster19:37
jhopperthat's basically 2000 serial requests a second. I'd need to know payload size and how that impacts request/response latency but I don't see us outstripping your performance. We're looking at a sustained output of 10k+ messages a second however.19:38
*** nithiwat has joined #openstack-meeting-alt19:38
jhopperOur numbers are based roughly on Nova's API logging output19:39
jhopperWell, Nova in general19:39
kgriffs#info 10k+ messages/sec19:40
ChadLWhat kind of networking libs are you planning to use? Twisted? Eventlet? Tornado? etc.19:40
kgriffsGood to know. We should keep that in mind and see how little hardware we can get away with deploying to support that.19:40
jhopperWhat I'm really interested in is how Marconi provides us with a uniform way of transmitting messages. Celiometer currently pulls a lot of information right out of RabbitMQ - Marconi may be a more ideal, decoupled solution. Even more so if we treat it as the log event distribution mechanism (used in metering, billing, monitoring, etc...)19:42
kgriffsThis is very tentative, but it's looking like gevent with monkey-patched sockets for async requests to auth/storage. I don't think we'll need to do any disk I/O directly from the app (other than error logging).19:42
kgriffsjhopper: Good point. The Ceilometer team has talked about some frustrations they have had in working with the current RabbitMQ-based RPC mechanism19:43
jhopperIndeed. We would like to position our solution as the feeding tube of Ceilometer and Marconi would drastically simplify that19:44
kgriffsre library, it will be WSGI. If people want to do push, they can add that as another layer on their own.19:44
kgriffsI don't want to necessarily position Marconi as a direct competitor to things like RabbitMQ, but if there are use cases where it makes sense to use it, I don't see any reason to stop people either.19:46
kgriffsP.S. - as for web frameworks, I'm working on one built specifically for these kinds of projects: simple, fast, focused on APIs only (vs. web apps). Preliminary benchmarks show it's about 10x faster than Flask, but that number will probably come down when I do some more realistic benchmarks.19:49
*** vipul is now known as vipul|away19:49
kgriffsLatency is very important and I'm also interested in efficient use of hardware.19:49
jhopperInteresting. Is the framework going to be Python 3 compatible?19:50
jhopperPart of my concern with the current dependency on RabbitMQ for Ceilometer is that it requires the Ceilometer instance to be hosted locally to that AMQP instance. This means that having a unified global view requires another aggregation system (another Celiometer perhaps) - not ideal in my opinion.19:51
kgriffsYes, I've done some preliminary work on Python 3 compat, but there is more to do. Once the library stabilizes, that will be next on the todo list.19:51
kgriffshttps://github.com/racker/falcon19:51
jhopperI'll take a look at it. We're using Pecan at the moment to design our REST interfaces.19:51
kgriffsinteresting - definitely less than ideal19:51
kgriffsDoug & Co. were touting that at the summit - I will run it through it's paces as well.19:52
kgriffs(AMQP situation is less than ideal, not Pecan)19:52
treederkgirffs: looks nice19:53
kgriffsYeah, that's the trick with things like AMQP and DDS19:53
jhopperCheck. I find Pecan a little under-developed still but usable and better than Flask. The models in it are pretty straight forward and the framework is tiny.19:53
jhopperI'd love to hear your prospective as well as see how the framework behaves when put into the grinder.19:54
jhopper^ in the future, that is19:54
kgriffstreeder: Thanks. I sort of got strong-armed into doing this in python, so I'm using just about every trick in the book to get performance up.19:54
kgriffsjhopper: Sure thing. Pecan is another framework more targeted at web apps rather than just APIs, but that doesn't mean you can't do both with it.19:54
treederjhopper: quick question, for your use case, is it ok to lose some messages in a failure scenario?19:54
kgriffs# info https://github.com/racker/falcon19:55
treederor do you need guarantees that all messages are safe19:55
treeder?19:55
kgriffs#info https://github.com/racker/falcon19:55
jhopperSince many of the events will be utilized for alerts and usage, redundancy and message durability are a must19:56
kgriffs#action kgriffs Kick the tires on Pecan19:56
kgriffsDo you require cross-DC replication?19:56
treederok, so in your rabbit install, you are clustering it?19:56
treederand using persistence?19:56
ChadLIs there a plan down the road to have a web ui peering into Marconi, kind of like how RabbitMQ has its own?19:56
jhopperCross DC replication is not required but would be ideal. I don't know many of the specifics on the RabbitMQ cluster itself but there is message durability implied but not necessarily flushing19:57
kgriffsChadL: Good idea. Noone has talked about a standalone admin surface19:57
oz_akanabout durability, AWS says that even though it won't happen often, some messages in SQS might get lost19:58
jhopperWell, now that I think about it, cross DC responsibilities may be better satisfied by a datastore19:58
*** djohnstone_ has joined #openstack-meeting-alt19:58
kgriffsChadL: I assume a Horizon plugin is in the future, but it would be nice to have something standalone as well.19:58
*** djohnstone_ has quit IRC19:58
oz_akanso it might be very difficult to have a fully redundant web scale queue service19:58
kgriffs#action kgriffs Add admin web UI to list of future features19:59
*** djohnstone_ has joined #openstack-meeting-alt19:59
kgriffsYou can replicate across DCs but it slows things down. What do you think about clients being able to specify message durability? If they want something super-durable but slower throughput, they can choose that.20:00
*** djohnstone has quit IRC20:00
*** djohnstone_ is now known as djohnstone20:00
*** joe5081 has joined #openstack-meeting-alt20:01
kgriffs#topic winding down the discussion20:01
*** openstack changes topic to "winding down the discussion (Meeting topic: Marconi Project Team)"20:01
kgriffsLooks like we are running short on time20:01
kgriffsI will shift the remaining agenda items to future meetings.20:02
jhopperThat would be interesting. It might make things more flexible if the client can determine if durability is important to it. I'd like to explore that more but I like the concept.20:02
jhopperCool20:02
treederkgriffs: can we talk about the spec a bit?20:02
kgriffsSure. I just didn't want to keep people around if they've got other meetings, but if some folks wanna stick around a bit, I don't mind.20:03
kgriffsThe spec in general, or the API?20:03
*** esp1 has joined #openstack-meeting-alt20:04
treederwell both I suppose20:04
*** robertmyers has quit IRC20:05
kgriffs#topic Discuss the spec rough draft20:05
*** openstack changes topic to "Discuss the spec rough draft (Meeting topic: Marconi Project Team)"20:05
kgriffs#info http://wiki.openstack.org/marconi/specs/grizzly20:05
*** jcru has quit IRC20:05
treedertwo things I'm interested in discussing20:05
treedertags20:05
treedervs a concrete queue name20:05
kgriffs#info API blueprint - http://wiki.openstack.org/marconi/specs/api/v120:06
treederand the options to Get Messages20:06
treederGET {base_url}/messages{?tags,ts,limit,sort,audit,echo}20:06
kgriffsOK. Let's take them one at a time20:06
kgriffsSo, tags and/or concrete queue name20:07
kgriffs#topic tags and/or concrete queues20:07
*** openstack changes topic to "tags and/or concrete queues (Meeting topic: Marconi Project Team)"20:07
*** jcooley is now known as jcooley|away20:07
kgriffsSo, I know we discussed previously in a G+ hangout that having queue names offers some benefits.20:08
treederya20:08
*** esp1 has quit IRC20:08
treederso a few of those benefits20:08
kgriffsWhile we *could* do everything with tags, it isn't very pragmatic20:08
*** robertmyers has joined #openstack-meeting-alt20:08
treederwell just to reiterate, tags essentially feels like the user has 1 single massive queue where each message is tagged20:09
treederwith one or more tags20:09
jhoppertags will come with a hefty performance hit20:09
jhopperand replication hit20:09
treederyep, for sure20:09
jhopperI love them, don't get me wrong20:09
*** robertmyers has quit IRC20:09
treederso 1) scaling with tags would be very hard20:10
*** robertmyers has joined #openstack-meeting-alt20:10
treeder2) sharing queues - ie: different rights/access to queues for different users/parties20:10
treederi suppose you could assign rights to tags, but tags feel more ad-hoc20:11
jhopperThey're really powerful for implying event types and interest - if Marconi had a poll-push model then they might make more sense in that you could actively filter. However I don't think removing the construct is a good idea either - tags are powerful descriptors. It might be enough to just have them as part of the event schema and let downstream poller decide interest20:11
kgriffsI agree, there's an impedance mismatch with the mental model20:11
jhopperSharing queues makes sense to me but authentication and authorization would have to be defined first before visiting what it means to host access for a shared queue20:12
jhopperIf AuthN/Z are offloaded by a proxy then permissions at the queue level might not matter at all?20:13
treederguess it depends how fine grained the auth can be20:13
jhopperThis is true20:14
kgriffsSeems like auth would be more expensive if it were based on a tag set20:14
*** nithiwat has quit IRC20:14
treederkgriffs: yes, it would be20:14
jhopperIf the bus doesn't really do any kind of tag introspection then using tags for permissions (while interesting) would require additional effort20:14
kgriffsWhat do you guys think about having concrete queues as well as some limited number of tags purely for filtering?20:15
treederif you can assign tokens to a particular queue, then you can give that token to a third party, embed it in a mobile app, or whatever and be sure it can only access messages in that queue20:15
kgriffsthat's an interesting concept20:15
jhopperIndeed20:15
kgriffsgenerate an API token that is tied to a specific app and a specific queue20:15
treederthe idea of a global queue scares me20:15
treeder;)20:15
treederya, exactly20:15
kgriffs#action kgriffs Add generating an API token that is tied to a specific app and a specific queue to the feature proposals list20:16
jhopperHaving concrete queues makes sense to me. If you want to do tag comprehension for filtering input into the queue, I think it would be interesting but that model also opens up a lot of extra questions.20:16
treederjhopper: agree20:16
treederalthough, for first version, I would highly recommend no tagging20:17
jhopperCan a queue impart tags to messages published to it?20:17
kgriffsThe sticking point is that we need it for Cloud Backup and I was hoping to use that as a guinea pig20:17
jhopperAh, I see.20:18
treederyou need tags?20:18
kgriffsjust one20:18
treedercan you explain the use case?20:18
kgriffsSure.20:18
kgriffsIf the control panel wants to communicate with a backup agent installed on someone's server, it uses RSE...20:19
kgriffsFor example...20:19
*** vipul|away is now known as vipul20:20
*** grapex has joined #openstack-meeting-alt20:20
kgriffs…actually, I'm jumping ahead of myself, but I think it would be possible to do what Cloud Backup needs by allocating two queues per agent. The downside is you are putting 2x the load on the servers and using 2x bandwidth, etc.20:21
kgriffs…so back to my example20:21
kgriffsWhen a customer logs in, the control panel checks for recent heartbeat events20:21
treederi think I get it already, you want some sort of fanout?20:21
treederone message in, two consumers?20:22
kgriffsyeah, you probably know where I'm going20:22
treederso we tell people to use two queues, just like you said20:22
kgriffswhen someone logs in, the CP checks for heartbeat events20:22
kgriffsit does this at an account-wide level20:22
kgriffsThere are other scenarios where the CP wants to talk just to a particular agent20:23
kgriffsanyway, depending on what's going on you've got fanout in one direction or the other.20:23
treederright20:23
treederwould using multiple queues work just as well?20:24
treederbesides the fact you'd have to post multiple times20:24
kgriffsEvent types are all multiplexed across a single queue, essentially, and the queues are only used to namespace by account and agent20:24
jhopperIt might be expensive since you could potentially have a queue for each host-agent of which there may be hundreds20:24
kgriffsYes, you could, it just doubles the load, also for polling.20:24
jhopperI see, so you'd use tags to demux the queue?20:25
kgriffsthere are actually going to be hundreds of thousands of agents20:25
*** joe5081 is now known as joe5081|away20:25
kgriffsPossibly, but I think the real benefit is to add one or two nested namespaces in order to provide an affordance than can be leveraged for stuff like fanout.20:26
kgriffsIn any case, we could do v1.0 without tags and folks could use multiple queues, but I think it makes sense to do it at some point.20:26
jhopperI ran into this thought game when it came to AtomNuke - This type of filtering, in my opinion, should probably be part of the responsibility of the poller or an intermediate bridge.20:27
kgriffsOf course, once the ability is there, who knows how people will leverage it? People do surprising things.20:27
jhopperBut again, there's a lot of +/- to the argument. That's a fair question too, kgriffs20:27
kgriffsjhopper: food for thought.20:27
kgriffsProbably not the poller; consider a web app doing the filtering. JavaScript isn't exactly a speed demon.20:28
treederkgriffs: for your tagged example20:28
*** esp1 has joined #openstack-meeting-alt20:28
jhopperWell, an intermediate bridge - maybe not the end client but rather a client from the queue's perspective20:29
kgriffsBut maybe a proxy approach. Although depending on the storage drive, it may be more efficient to just do it as part of the query, assuming a finite number of tags (say, 2-3)20:29
treederif agent A takes a message how does it even get to the two consumers?20:29
jhopperThat's a good question too. Hrm.20:30
treederyou'd have to have two messages anyways20:30
kgriffsNot sure I follow - if the agent gets a message, it *is* the consumer, right?20:30
treederi thought you wanted one message to get to two consumers?20:30
kgriffsoic20:31
kgriffsWell, the scenario is the CP wants to broadcast an event to all agents that Bob is running under his cloud account.20:31
kgriffsSo, agents need to listen on the broadcast queue, as well as another queue for RPC type stuff.20:32
kgriffsUnless you can do a tag20:32
treederok20:32
treederso even in that scenario, I think two queues is probably better than tags anyways20:32
treederunless you wanted to ensure that EVERY tag gets a message somehow20:33
treederbut that's adding some serious complexity20:33
jhopperTags imply a lot of routing logic20:33
*** robertmy_ has joined #openstack-meeting-alt20:33
treederand delivery logic20:33
jhopperI think that kgriffs' case makes sense, it's very useful in my opinion - just hard to implement.20:33
kgriffsIn RSE we basically have the notion of a single tag AKA subqueue20:34
jhopperWell, delivery logic would be simply placing a message reference into the relevant queue20:34
kgriffsIt works pretty well. Things would get more complicated with N tags20:34
jhopperThis is true, unlimited taxonomies produce only headaches20:34
*** robertmyers has quit IRC20:34
kgriffsI guess you need the ability to say "give me everything that has no tags and give me everything just with this tag set" in a single query20:35
*** esp1 has left #openstack-meeting-alt20:35
*** cp16net|away is now known as cp16net20:36
kgriffsso, I don't query /foo?tag=bar AND /foo in separate requests. Otherwise might as well just use two queues20:36
treedermaybe fanout support would be good?20:39
kgriffsGoing the other way, if an agent were to post to /account with tag=agent, the CP could decide whether it wants to listen to all events (in the case of a dashboard page) and just get everything regardless of tags for /account, or if you are looking at a single agent, it would then request /foo?tag=agent20:40
*** esp1 has joined #openstack-meeting-alt20:40
treedereg:20:41
treederhmmm, need to think about that a bit more20:41
treederthe broadcast use case is interesting20:42
treederwe have that with our Push Queues, but not for pull queues20:42
*** joe5081|away is now known as joe508120:42
treedercan we continue that discussion next week?20:43
kgriffsSounds good. We've been add it for quite a while now. :D20:43
jhopperI'd like that - there's a lot to think about20:43
kgriffsadd => at20:43
treedergood first meeting though!20:44
kgriffsDefinitely. I wasn't sure what to expect but I think we're off to a good start20:44
treederya, definitely20:44
jhopperI'm excited. This all sounds really promising and I like the API.20:44
jhoppergood stuff guys!20:44
ChadLyeah the API looks great so far20:44
*** esp1 has left #openstack-meeting-alt20:45
kgriffsOK. let's sleep on some of these things we've been discussing and follow up next week.20:45
treederalright, cheers guys, good meeting you all and talk to you next week.20:46
jhoppertake care20:46
kgriffs#endmeeting20:46
*** openstack changes topic to "OpenStack meetings (alternate) || Development in #openstack-dev || Help in #openstack"20:46
openstackMeeting ended Thu Jan 17 20:46:43 2013 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)20:46
openstackMinutes:        http://eavesdrop.openstack.org/meetings/marconi_project_team/2013/marconi_project_team.2013-01-17-19.01.html20:46
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/marconi_project_team/2013/marconi_project_team.2013-01-17-19.01.txt20:46
kgriffsttfn20:46
openstackLog:            http://eavesdrop.openstack.org/meetings/marconi_project_team/2013/marconi_project_team.2013-01-17-19.01.log.html20:46
*** ChadL has left #openstack-meeting-alt20:47
*** ametts-atl has left #openstack-meeting-alt20:47
*** ametts-atl has joined #openstack-meeting-alt20:48
*** ametts-atl has left #openstack-meeting-alt20:48
*** oz_akan has quit IRC20:54
*** kaganos has joined #openstack-meeting-alt20:57
*** cp16net is now known as cp16net|away20:58
*** joe5081 has quit IRC21:06
*** jcru has joined #openstack-meeting-alt21:07
*** robertmy_ has quit IRC21:10
*** grapex has quit IRC21:10
*** grapex has joined #openstack-meeting-alt21:11
*** robertmyers has joined #openstack-meeting-alt21:11
*** edsrzf has left #openstack-meeting-alt21:12
*** juice has quit IRC21:14
*** treeder has quit IRC21:16
*** grapex has quit IRC21:20
*** grapex has joined #openstack-meeting-alt21:20
*** carimura has quit IRC21:35
*** robertmyers has left #openstack-meeting-alt21:38
*** juice has joined #openstack-meeting-alt21:40
*** jamie-racklanta has quit IRC21:51
*** kgriffs has left #openstack-meeting-alt22:00
*** jhopper has quit IRC22:04
*** jcooley|away is now known as jcooley22:46
*** kaganos has quit IRC22:47
*** jcooley is now known as jcooley|away22:59
*** djohnstone has quit IRC23:10
*** esp has joined #openstack-meeting-alt23:10
*** kaganos has joined #openstack-meeting-alt23:12
*** jcru has quit IRC23:13
*** jog0 has joined #openstack-meeting-alt23:16
*** jcooley|away is now known as jcooley23:17
*** jog0 has quit IRC23:19
*** jcooley is now known as jcooley|away23:27
*** jcooley|away is now known as jcooley23:29

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!