Wednesday, 2010-08-04

*** hazmat has joined #openstack00:05
*** dmd17_ has joined #openstack00:06
*** devcamcar has quit IRC00:06
*** dmd17 has quit IRC00:09
*** dmd17_ is now known as dmd1700:09
*** devcamcar has joined #openstack00:13
*** adrian_otto has quit IRC00:15
*** adjohn has joined #openstack00:16
*** devcamcar has quit IRC00:16
Glacehdo you guys support glusterfs?00:20
alekibangoGlace: try #gluster here on freenode00:20
alekibangoi do :D00:20
*** hazmat has quit IRC00:23
uvirtbotNew bug: #613264 in nova "api / objectstore should allow specifying ip to bind to" [Undecided,New] https://launchpad.net/bugs/61326400:25
*** hazmat has joined #openstack00:31
*** devcamcar has joined #openstack00:32
*** pcrews has quit IRC00:42
*** zenmatt has quit IRC00:44
*** devcamcar has quit IRC00:58
*** gnrfan has quit IRC01:01
*** jsmith is now known as jsmith-away01:02
*** hazmat has quit IRC01:02
*** kallistec has quit IRC01:08
*** gustavomzw has left #openstack01:10
*** pcrews has joined #openstack01:12
*** maximilien has quit IRC01:13
*** justinsheehy has quit IRC01:23
*** tomo__ has joined #openstack01:25
*** jakedahn has joined #openstack01:25
*** tomo_bot has joined #openstack01:28
*** tomo__ has quit IRC01:28
*** justinsheehy has joined #openstack01:29
*** mrayzenoss has joined #openstack01:32
*** mrayzenoss is now known as mray01:32
*** mray has joined #openstack01:32
*** kallistec has joined #openstack01:36
*** rdw has quit IRC01:40
*** pcrews has quit IRC01:40
*** sirp1 has quit IRC01:56
*** codejunkie has left #openstack01:58
*** RobertLJ has joined #openstack02:04
*** jdmaturen has quit IRC02:18
*** miclorb_ has quit IRC02:20
*** ptremblett has joined #openstack02:21
*** sirp1 has joined #openstack02:23
*** jdmaturen has joined #openstack02:43
*** mray has quit IRC02:45
*** ikk has quit IRC02:50
*** stewart has quit IRC02:55
*** stewart has joined #openstack03:07
*** kashyapc has joined #openstack03:12
*** miclorb_ has joined #openstack03:21
*** RobertLJ has quit IRC03:25
*** silassewell has quit IRC03:27
*** blpiatt has joined #openstack03:29
*** jsgotangco has joined #openstack03:47
*** alii_ has joined #openstack03:55
*** miclorb_ has quit IRC03:59
*** alii_ has joined #openstack03:59
*** alii_ has quit IRC04:01
*** alii_ has joined #openstack04:01
*** jamiew has quit IRC04:03
*** blpiatt has quit IRC04:08
*** dmd17 has quit IRC04:12
*** adjohn has quit IRC04:12
*** adjohn has joined #openstack04:12
*** dmd17 has joined #openstack04:12
*** jakedahn has quit IRC04:17
*** jakedahn has joined #openstack04:17
*** jakedahn has quit IRC04:22
*** jakedahn has joined #openstack04:23
*** tobym has joined #openstack04:36
*** dendro-afk is now known as dendrobates04:40
*** miclorb_ has joined #openstack04:43
*** stewart has quit IRC04:48
*** maximilien has joined #openstack04:54
*** rdw has joined #openstack04:59
*** stewart has joined #openstack05:01
*** maximilien has quit IRC05:20
*** justinsb has quit IRC05:35
*** sophiap has joined #openstack05:41
*** sirp1 has quit IRC05:55
*** allsystemsarego has joined #openstack05:58
*** rajijoom has joined #openstack06:05
*** BartVB has joined #openstack06:07
*** metoikos has joined #openstack06:19
mtaylortermie: hey - may sound stupid, but mailing list mail from launchpad isn't hitting a spam filter for you do you?06:22
*** jdmaturen has quit IRC06:25
*** kallistec has quit IRC06:30
sorenmtaylor: Do you know if anyone is working on packaging Swift for Debian/Ubuntu? Feature freeze is nigh :)06:31
mtaylorsoren: well, it's packaged and up in the ppa06:33
mtaylorsoren: I don't know if anyone is actively working on uploading it though06:33
sorenok.06:34
sorenmtaylor: I'm probably uploading nova today.06:34
ttxsoren: \o/06:35
sorenmtaylor: I fixed the problem with Redis in the builds, so we seem to be golden now: https://edge.launchpad.net/~soren/+archive/ppa/+build/190291406:36
mtaylorsoren: excellent06:37
mtaylorsoren: uploading to ubuntu I'm assuming06:37
sorenmtaylor: Yup.06:37
sorenmtaylor: Debian should be fine, too, really. I think all the dependencies are met there too now.06:38
* soren goes to get his daughter ready for day care06:42
*** brd_from_italy has joined #openstack06:55
*** londo__ has joined #openstack07:04
*** londo has quit IRC07:04
*** sophiap has quit IRC07:09
*** jsgotangco has quit IRC07:19
*** calavera has joined #openstack07:21
*** almaisan-away is now known as al-maisan07:24
termiemtaylor: nope, i've checked a few times and checking right now it still is not, however it seems i've been missing mail from a variety of cute local girls07:30
*** rajijoom has quit IRC07:58
*** calavera has quit IRC08:00
*** calavera has joined #openstack08:05
*** miclorb_ has quit IRC08:12
*** rnewson has joined #openstack08:16
*** rnewson has joined #openstack08:16
*** calavera has quit IRC08:28
*** calavera has joined #openstack08:31
*** dmd17 has quit IRC08:50
*** ptremblett has quit IRC08:53
sorenanotherjesse: I'm about to upload Nova to Ubuntu. You're still listed as the maintainer in the package. Do you consider that accurate? Are you intending to be involved in the packaging effort going forward?09:08
*** adjohn has quit IRC09:12
*** calavera has quit IRC09:14
alekibangosoren: where is source package? i have debian amd64 -> i will test them for you on debian09:16
alekibangofound it...09:17
alekibangobtw your glusterfs packages are realy old now09:17
alekibango:D09:17
alekibangosoren:  this url? http://ppa.launchpad.net/soren/nova/09:18
*** adjohn has joined #openstack09:25
soren/my/ glusterfs packages?09:25
*** veszig has quit IRC09:28
*** jtimberman has quit IRC09:28
*** veszig has joined #openstack09:32
*** jakedahn has quit IRC09:33
*** jakedahn has joined #openstack09:34
sorenttx: Hm... Maybe you have some good ideas for this:09:43
sorenttx: Nova uses rabbitmq for messaging.09:43
sorenttx: and redis as its datastore09:43
sorenttx: We can have a whole bunch of frontend API servers, but we don't want all of them to have their own rabbitmq and redis instances.09:44
sorenttx: so just making nova-api depend on rabbitmq-server and redis-server won't work. Even doing it as a recommends seems wrong, since really only the first API server needs them.09:45
sorenttx: So I'm thinking of creating a metapackage with some install profiles in it.09:46
ttxhmm, right, looks like you'd need a nova-api-with-extra-stuff09:46
sorenttx: So a meta-package that'll install all of nova-api, redis-server and rabbitmq.09:47
sorenttx: Yeah. Not sure what to call it.09:47
ttxyou need *one* server with all the stuff ? or *some* servers with all the stuff ?09:47
ttx"only the first" sounds all spof09:48
sorenttx: Each nova-api server needs to talk to a Redis server and a RabbitMQ-server.09:48
ttxbut not necessarily on the same machine ?09:48
*** jtimberman has joined #openstack09:48
*** jtimberman has joined #openstack09:48
sorenttx: There can be any number of rabbitmq servers on the netwrok.09:48
sorenttx: No, not at all.09:49
*** miclorb_ has joined #openstack09:49
sorenttx: None of the components of Nova speak directly to each other. Everything goes through Rabbit.09:49
ttxwhy not have a nova-redis+rabbit metapackage then, that can be installed (or not) on the same machine as the nova-api ?09:49
ttxsoren: you abandoned zeromq completely or are still considering it ?09:50
sorenttx: We haven't really talked about it yet.09:50
sorenMuch.09:50
* ttx is thinking about that install profiles idea... Could be interesting to have some "topology" metapackages that would propose decent defaults for various topologies09:52
* soren wanders over to his whiteboard for a little bit09:52
ttxthough I don't know enough of nova yet to know if it would make any sense :)09:52
ttxmaybe documentation is just a better way to do it. "all in one ? just install those:..."09:54
ttxbut I'd definitely have some nova-branded metapackages to make logical units of "stuff that should be deployed on a single machine"09:55
sorenPackage: nova-api-standalone Depends: rabbitmq-server, redis-server, nova-api09:57
sorenMaybe.09:57
sorenDefault config looks on localhost for both rabbit and redis, so that'll "just work2.09:57
soren".09:57
ttxor just nova-api-extras depend in rabbit and redis, and doc says "single machine ? apt-get install nova-api nova-api-extras"09:58
sorennova-api-extras doesn't sound like a metapackage to my ear.09:58
*** ptremblett has joined #openstack09:58
uvirtbotNew bug: #613383 in nova "euca-terminate-instances fails to remove instance" [Undecided,New] https://launchpad.net/bugs/61338310:01
*** ikk has joined #openstack10:04
* soren wonders why branching lp:euca2ools involves downloading >17MB of stuff.10:04
*** jakedahn has quit IRC10:06
sorenAh, because it used to embed a bunch of deps. *sigh*10:21
*** silassewell has joined #openstack10:44
*** Tony[] has joined #openstack10:54
Tony[]morning, can anyone point me at any architecture diags or howto type docs for openstack so I can start educating myself??10:55
Tony[]to clarify, I've looked at the sites for each bit, but I'm trying get a good overview of how all the pieces fit together11:04
*** justinsheehy has quit IRC11:10
*** Tony[] has quit IRC11:11
*** miclorb_ has quit IRC11:17
*** ctennis has quit IRC11:34
*** rajijoom has joined #openstack11:35
*** Glace has quit IRC11:36
*** justinsheehy has joined #openstack11:43
*** jaypipes has quit IRC11:44
*** Podilarius has left #openstack12:02
*** sophiap has joined #openstack12:05
*** jonesy_ has quit IRC12:10
*** _mattf has quit IRC12:10
*** carolinad28 has joined #openstack12:20
*** maximilien has joined #openstack12:22
*** hazmat has joined #openstack12:29
*** sophiap has quit IRC12:30
*** ctennis has joined #openstack12:30
*** codejunkie has joined #openstack12:38
*** jsmith-away is now known as jsmith12:42
*** aliguori has joined #openstack12:43
*** abecc has joined #openstack13:07
*** Glace has joined #openstack13:20
*** tonywolf has joined #openstack13:24
*** jbd has joined #openstack13:26
*** jsmith is now known as jsmith-away13:28
*** jonesy_ has joined #openstack13:34
*** mtaylor has quit IRC13:43
*** kashyapc has quit IRC13:46
*** cjwilson has quit IRC13:49
*** Podilarius has joined #openstack13:50
*** gustavomzw has joined #openstack13:52
*** Podilarius has left #openstack13:55
*** jaypipes has joined #openstack14:05
*** ptremblett has quit IRC14:14
*** ptremblett has joined #openstack14:15
*** sophiap has joined #openstack14:17
*** pcrews has joined #openstack14:24
*** sirp1 has joined #openstack14:25
*** mrayzenoss has joined #openstack14:29
*** mrayzenoss is now known as mray14:29
*** mray has joined #openstack14:29
*** gundlach has joined #openstack14:33
*** pvo has joined #openstack14:38
*** pvo has joined #openstack14:38
*** ChanServ sets mode: +v pvo14:38
*** pvo has quit IRC14:40
*** pvo has joined #openstack14:41
*** ChanServ sets mode: +v pvo14:41
*** dendrobates is now known as dendro-afk14:42
*** sophiap has quit IRC14:44
*** mray has quit IRC14:44
*** sophiap has joined #openstack14:45
*** sophiap has quit IRC14:47
*** dendro-afk is now known as dendrobates14:47
* hazmat is starting to come around to eventlet over twisted14:48
*** adrian_otto has joined #openstack14:50
*** sophiap has joined #openstack14:53
gundlachhazmat: why's that?14:54
*** jsmith-away is now known as jsmith14:55
*** metoikos has quit IRC14:55
*** tr3buchet has joined #openstack14:56
uvirtbotNew bug: #613479 in nova "Support querying versions in API" [Undecided,New] https://launchpad.net/bugs/61347914:56
*** metoikos has joined #openstack14:56
uvirtbotNew bug: #613481 in nova "Support throwing Faults in API" [Undecided,New] https://launchpad.net/bugs/61348115:01
*** silassewell has quit IRC15:02
*** RobertLJ has joined #openstack15:04
*** matclayton has joined #openstack15:05
*** sophiap has quit IRC15:10
*** cjwilson has joined #openstack15:11
*** blpiatt has joined #openstack15:18
*** codejunkie has quit IRC15:21
*** dendrobates is now known as dendro-afk15:22
hazmatgundlach, i did a lightning talk on async programming via example w/ twisted and eventlet last night.. it was clear from the discussion that folks found the eventlet approach much more approachable.15:30
gundlachhazmat: cool.  had you gone into the talk leaning towards twisted?15:31
hazmatgundlach, i had15:31
hazmatgundlach, actually what convinced me, was a little experiment i just did earlier this morning.. you can actually use pdb w/ greenlet based approaches15:32
hazmatits rather useless with twisted15:32
gundlachthat's a good datapoint for the discussion.  eday and i think that eventlet is the way to go so that we can use WSGI to make our apps as simple as possible.  maybe we're finally coelescing upon a decision :)15:32
hazmatfrom app debugging perspective that adds huge value.15:32
gundlachwow, pdb with greenlet?  cool!15:32
gundlachyeah absolutely.15:32
hazmatit maintains the stack trace within a greenlet15:32
gundlachwould you mind (if you haven't already) posting your thoughts to the discussion on the mailing list?  if we can settle on an answer it will help us move forward.15:33
hazmati'll post on the list re the above.. but i have to wait till i'm done with work today.. other things to do.15:33
gundlachok -- i was about to post anyway, so i'll mention what you said, and you can flesh it out.15:34
creihtWhere's mtaylor when you need him :/15:35
creihtsoren: just fyi re: packaging swift, I'm not sure the swift package in the ppa is fully funtionaly yet15:35
hazmatgundlach, sent..15:40
gundlachhazmat: ty, i was composing mine so i'll adapt appropriately :)15:41
*** pstevensza has joined #openstack15:45
*** Phil_FL has quit IRC15:46
*** tobym has quit IRC15:46
gundlachhazmat: you posted to the "[Nova] Twisted or Eventlet?" thread?15:48
hazmatgundlach, yeah..15:48
hazmatgundlach, https://lists.launchpad.net/nova/msg00082.html15:49
*** dendro-afk is now known as dendrobates15:49
gundlachhazmat: ty, my mail must be behind15:49
hazmatgundlach, care to comment on gevent vs. greenlet15:50
hazmater. eventlet15:50
*** Podilarius has joined #openstack15:50
creihtjust use eventlet and make your life easy :)15:50
gundlachhazmat: only what i've researched, which is that gevent was made as a fork to eventlet by a guy who wasn't happy with it -- and that the things he complained about are fixed in eventlet.  gevent is maintained by one guy, eventlet is a real project.15:50
*** pstevensza has quit IRC15:51
creihtgevent is a little faster since it is much closer to libevent15:51
redboI don't know if that's true.  I could never tell much difference when benchmarking.15:51
hazmatgundlach, i only see one active maintainer on eventlet.. lots of legacy code in eventlet as well, very different stdlib integration techniques, and faster performance in greenlet.15:52
hazmater.. gevent15:52
* creiht is just quoting blogs I read earlier15:52
hazmathttp://nichol.as/benchmark-of-python-web-servers15:52
creihthazmat: Most of the legacy code is removed from eventlet15:52
gundlachhazmat: i may be mistaken.  again, my data is just from reading "gevent vs eventlet" threads on the web.15:52
hazmathttp://nichol.as/asynchronous-servers-in-python15:53
creihtthere is one maintainer, but several contributors, and he is very easy to work with15:53
creihtthe gevent maintainer isn't as easy to work with15:53
* redbo waves at rdw15:53
creiht^- the main reason he created gevent15:53
uvirtbotcreiht: Error: "-" is not a valid command.15:53
creihtnot rdw, but that he isn't easy to work with :)15:53
* creiht <3 rdw15:53
hazmatcreiht, he seems fine to work w/ on the gevent list15:53
hazmati guess i'm wondering the differences on a technical basis.. sounds like besides.. its just familiarity w/ the eventlet project.15:54
hazmaton a technical basis things would point towards gevent afaics15:56
creihthe wasn't so easy to work with when things didn't go exactly the way he wanted with eventlet15:56
hazmatcreiht, i still some legacy code going through the eventlet source.. from twisted integration to deprecated names support15:56
creihtgevent doesn't work cooperate so well with threads15:56
hazmatcreiht, yeah.. the process and thread integration do seem lacking in gevent... i noticed gunicorn basically had to implement its own process pool15:57
creihteventlet has async support for pgsql and mysql15:58
creihtthe twisted stuff was donated by someone, and then never touched again by that person15:58
_0x44Doesn't eventlet have two "core" maintainers? Donovan and that M(att|ike) guy?16:00
creihtRyan (rdw) is the maintainer16:01
creihtDonovan was an original maintainer, and he pops in and out16:01
_0x44I need to be better with names. :S16:02
creihtIn fact, Denis is the one who added the twisted support to eventlet :)16:04
creihthttps://lists.secondlife.com/pipermail/eventletdev/2008-October/000147.html16:04
*** kashyapc has joined #openstack16:05
*** brd_from_italy has quit IRC16:07
*** lbieber has joined #openstack16:09
*** hazmat has quit IRC16:10
*** tobym has joined #openstack16:16
*** hazmat has joined #openstack16:18
*** jdmaturen has joined #openstack16:18
*** tobym has quit IRC16:19
*** rnewson has quit IRC16:21
*** jdmaturen has quit IRC16:27
edaygundlach: so, we should talk some more about structuring the wsgi layers... I'm thinking we should order the wsgi layers from auth right down to individual request handlers... basically a wsgi tree with selection at each layer. Todd has done some of this in the rackspace/wsgi endpoints already, but we should make each layer use a wsgi interface so we can transparently insert a proxy if needed16:29
*** mtaylor has joined #openstack16:31
*** ChanServ sets mode: +v mtaylor16:31
gundlacheday: ok, if i understand you, you're proposing that we would have a wsgi layer for every / in the URL, basically -- directing traffic to the correct choice of next layer.  yes?16:32
gundlachand are you saying that Todd's rsapi branch is using wsgi?  i thought it was on twisted?16:33
edaygundlach: no, it's wsgi with simple http server16:33
gundlacheday: ah, gotcha.16:33
*** maximilien has quit IRC16:34
creihtmtaylor: howdy16:34
edaygundlach: well, the wsgi layer may not map directly onto path elements, you might hit two layers for the same URL. most routing between will happen based on URLs though16:34
gundlachre wsgi tree: i'm all for peeling some code off of wsgi layer A to make wsgi layer B, if it makes layer A simpler.  i don't quite see yet how peeling once per / would simplify the routing -- one per API version would probably be useful, but i dunno how tall to make the stack16:35
creihtmtaylor: btw.. I don't think the swift package is fully funtional yet16:35
mtaylorcreiht: no? well poo16:36
gundlacheday: maybe i'm not on the same page yet -- why do we need a tree instead of a stack of layers?  if we choose between APIs as our only "branch" point, and let the API request handler do normal routing a la django routes or whatever, that seems fine to me16:36
mtaylorcreiht: letterj was saying he had some bugs to file against the packages compared to what you guys had been cutting internally16:37
creihtyeah16:37
creihtcool... just making sure he had talked to you about it.  I will get with him and see if he has filed those bugs yet16:38
*** rnewson has joined #openstack16:38
* creiht hopes he didn't scare hazmat away :/16:39
*** hazmat has quit IRC16:40
edaygundlach: so, I'm not proposing a layer per /, it's whatever is most efficient and makes sense... probably a combo of hard-coded rules and pattern matching16:41
gundlacheday: ok, sure, i agree with "let's make a layer wherever it makes sense" :)  when you said "I'm thinking we should order the wsgi layers from auth right down to individual request handlers" I guess I thought you were suggesting something more specific.16:42
gundlachare you saying we should hash out now exactly what those layers will be, in what order?  i don't think i can do that until i'm actually in the code.16:42
edaygundlach: but I think it needs to be more tree than stack because not all states are valid at every level. Take a look at nova/endpoint/rackspace.py  it first splits between v1.0 and servers, and then for each, there are differnet handlers16:42
edaygundlach: I don't think we need to hash out the layers, but we need to hash out a framework so we have something sensible to write code in :)16:43
gundlacheday: gotcha.  lemme look at rackspace.py again, brb16:43
edaygundlach: I'm looking to see if there is anything existing already, especially one with a proxy option built in16:43
*** RobertLJ has quit IRC16:46
gundlacheday: re "more tree than stack" -- i think i disagree so far.  after SSL termination, we could have a layer that picks the right API version and branches at that point to a RS API stack, or to an EC2 stack.  The EC2 stack would do EC2 auth as a layer, then maybe more layers, then hit a route-to-handler layer.  The RS API stack would have its own auth layer, then maybe more layers, and then a route-to-handler layer.16:47
*** mrayzenoss has joined #openstack16:47
*** mrayzenoss is now known as mray16:47
*** mray has joined #openstack16:47
*** rnewson has quit IRC16:47
gundlachso the only real branching i see is between versions of the API.16:47
edaygundlach: currently, yes, but then in RackspaceCloudServerApi.index it branches on method16:48
*** jdmaturen has joined #openstack16:49
edaygundlach: well, actually before that, it branches on URL based on available method names in the controller classes16:49
*** RobertLJ has joined #openstack16:49
*** jdmaturen has quit IRC16:49
*** jdmaturen has joined #openstack16:50
*** rnewson has joined #openstack16:53
*** pvo has quit IRC16:55
*** blpiatt has quit IRC17:00
*** blpiatt has joined #openstack17:00
*** jsmith is now known as jsmith-away17:06
*** mmalgeri1 has joined #openstack17:09
*** maximilien has joined #openstack17:11
*** jaypipes has quit IRC17:14
*** mray has quit IRC17:14
*** Phil_FL has joined #openstack17:15
*** hazmat has joined #openstack17:19
gundlacha really nice, short wsgi (and webob) tutorial: http://archimedeanco.com/wsgi-tutorial/17:19
gundlacheday: you're at rev 141 of ~xtoddx/nova/api, right?  I'm not sure that i'm seeing what you're seeing, but i'm not familiar enough with bzr to be sure i'm up to date17:21
gundlachRackspaceCloudServerApi.index is line 202, and it just contains "return self.detail(env)"17:21
*** matclayton has left #openstack17:22
edaygundlach: I'm at rev 20217:22
gundlachah hah! :)17:22
gundlachmichael@conch:~/rackspace/nova_branches/api$ bzr up17:23
gundlachTree is up to date at revision 141 of branch /home/michael/rackspace/nova_branches/api17:23
gundlachwhat command do *you* use?17:23
gundlachmichael@conch:~/rackspace/nova_branches/api$ bzr info17:23
gundlachStandalone tree (format: 2a)17:23
gundlachLocation:17:23
gundlach  branch root: .17:23
gundlachRelated branches:17:23
gundlach  parent branch: bzr+ssh://bazaar.launchpad.net/~xtoddx/nova/api/17:23
edaybzr pull17:23
edaythis is originally branched from lp:nova17:24
edaynow at revno 205 (just pulled changes from last night)17:24
*** jamiew_ has joined #openstack17:25
*** jamiew_ is now known as jamiew17:25
*** metoikos has quit IRC17:25
* gundlach goes to read Soren's bzr tutorial again because he's lost17:27
*** codejunkie has joined #openstack17:28
edaygundlach: bzr init-repo nova, cd nova, bzr branch lp:nova, done :)17:31
_0x44Or git bzr clone lp:nova17:31
gundlachhm, ok i'm catching up with you -- you're on lp:nova, not reading todd's rsapi branch. yes?17:31
edayand then 'bzr pull' just pulls the latest lp:nova down, this keeps your local trunk copy in sync17:31
edaygundlach: nope, not looking at todds, just looking at trunk17:32
mtaylorgundlach: bzr up does something completely different17:34
*** pvo has joined #openstack17:36
*** ChanServ sets mode: +v pvo17:36
*** codejunkie has quit IRC17:41
*** mrayzenoss has joined #openstack17:44
*** mrayzenoss is now known as mray17:44
*** mray has joined #openstack17:44
* ianweller finally gets around to the openstack-swift package review for fedora17:48
*** mtaylor has quit IRC17:50
pvoianweller: did you ever talk to rackerhacker?17:51
ianwellerpvo: about what? i chatted with him a bit on irc17:51
rackerhackeryeah, we met up in #fedora-cloud17:51
*** kashyapc has quit IRC17:51
pvoianweller: re: fedora packaging17:51
ianwellerok. :)17:51
pvorighton17:52
rackerhackeri think i'm still too green on fedora packaging to assist ianweller17:52
*** kashyapc has joined #openstack17:52
ianwellerrackerhacker: nah17:52
pvorackerhacker: you're more fleshy-pink17:52
rackerhackerorly?17:52
ianwellerrackerhacker: you got anything lying around you wanna get in fedora?17:52
* rackerhacker looks at his ugly glusterfs spec file on his desktop17:52
ianwellermake it build, post it for review, we'll take a look :)17:53
rackerhackerwill do17:53
ianwellerrackerhacker: it's not a kernel module, is it?17:56
rackerhackerianweller: nah, gluster really depends on fuse, and that's about it17:57
ianwellergood. :)17:57
rackerhackerif it was a kernel module, i'd surely be in over my head17:57
* rackerhacker wonders if pvo likes riding horses17:57
pvowhen I get a good ride, sure.17:57
ianwelleryeah kmods are nutso in fedora17:58
ianwellerthe rule is: no, go away17:58
*** wilson has joined #openstack18:03
*** wilson is now known as Guest4224818:03
Glacebtw.. anyone have worked with zuora before?18:04
*** mtaylor has joined #openstack18:09
*** ChanServ sets mode: +v mtaylor18:09
*** silassewell has joined #openstack18:12
*** metoikos has joined #openstack18:13
*** Guest42248 has left #openstack18:13
*** Guest42248 has joined #openstack18:14
*** jsmith-away is now known as jsmith18:16
*** colinnich has joined #openstack18:16
*** maximilien has quit IRC18:17
*** pcrews is now known as pcrews_arroz_con18:17
*** pcrews_arroz_con is now known as pcrews_lunch18:17
*** rdw has quit IRC18:17
*** maximilien has joined #openstack18:20
*** sophiap has joined #openstack18:21
*** blpiatt has quit IRC18:22
*** tonywolf has left #openstack18:27
*** pvo has quit IRC18:28
ianwellerrackerhacker: so when i'm sponsoring packagers, i usually ask them to submit a couple of packages and then do an informal review of another package, just as an FYI18:29
rackerhackeralrighty18:29
ianwellerrackerhacker: (just so happens i've got some simple python crap i wrote that i need to get in fedora) :P18:30
rackerhackeri see what you did there18:30
ianwellerrackerhacker: here it is HAVE FUN  http://pypi.python.org/pypi/simplemediawiki/1.018:32
* ianweller runs18:32
rackerhackerhaha, i'll have to take a look a bit later - trapped in something at the moment18:32
ianweller<nod>18:33
*** ptremblett has quit IRC18:44
*** pvo has joined #openstack18:44
*** pvo has joined #openstack18:44
*** ChanServ sets mode: +v pvo18:44
*** sophiap has quit IRC18:54
*** sophiap has joined #openstack19:00
*** maximilien has quit IRC19:02
*** brd_from_italy has joined #openstack19:08
*** blpiatt has joined #openstack19:18
*** rdw has joined #openstack19:19
sorenFor those who missed it: http://twitter.com/ubuntusoren/status/2030397345719:23
creihtsoren: btw, I would argue that twisted can't work with wsgi, not because it is async, but because of how twisted handles async19:24
creihtEventlet is async, but still plays nicely with wsgi19:25
sorenPardon. Should have said "Twisted has an asynchronous API."19:26
creihtAnd I would argue with Twisted, you *have* to use a twisted specific implementation of that protocol, you don't see a lot of that with eventlet, because it already works with standard python implementations of those protocols19:27
creihtFor example, you can use the standard httplib, urllib, etc from python, where as with twisted you have to use twisted's specific libraries19:28
sorenYes.19:28
sorenYou're assuming that I want to use standard python of those protocols.19:29
sorenErr..19:29
sorenInsert "implementations" somewhere in that sentence.19:29
sorenThat's part of my argument.19:29
creihtThat same argument could be used for twisted :)19:29
sorenI don't want to use them. The Twisted ones are usually much better.19:29
creihtassuming I want to use the *one* implementation that is for twisted  :)19:29
sorenSure.19:30
hazmatsoren, nice re pkgs19:31
creihtSo for example, being able to use the wealth of tools/libraries available for wsgi is a big win19:31
hazmatsoren, your personal ppa?19:31
sorenhazmat: No, Ubuntu proper.19:31
hazmatnice19:31
sorenhazmat: It's been in my PPA for weeks :)19:31
*** rajijoom has quit IRC19:32
sorenhazmat: Possibly. I've never really used any of them.19:32
sorenErr..19:32
sorenhazmat: Sorry, that was for creiht.19:32
sorencreiht: ^19:32
hazmatno worries, i figured it out19:32
sorencreiht: ..so I can't really speak for that.19:33
creihtsoren: Of course you haven't because you have been bound by the shackles of twisted ;)19:33
hazmatyeah.. its a bit unclear that this stdlib monkeypatching is very robust.. it seems like eventlet itself realizes that and promotes particular ones to selective monkeypatching by inclusion into the green package19:33
*** kashyapc has quit IRC19:33
sorencreiht: I've been doing Python (also web stuff) waaaay longer than I've been doing Twisted.19:33
hazmatfor the context of nova, there are particular set of libraries of interest.. i don't think we need to generalize to the stdlib at large.. txredis/txamqp/txaws etc. vs. boto/pyredis/pyamqp19:34
creihtwsgi is one of the few really awesome things that has happened to python web development19:34
hazmatcreiht, definitely but what's the point of saying python has a thousand wsgi implementations... your only going to use one of them..19:35
creihtIt isn't about the wsgi implementation19:35
creihtwsgi is a spec19:35
hazmatcreiht, zope3 for a while used the twisted wsgi implementation as its std wsgi server.. but you can drop in and replace any of them.. i still fail to see the point your trying to make19:36
hazmater. drop in a replacement ala mod_wsgi or what have you..19:37
hazmatit effectively did a defer to thread for the wsgi app call from the twisted network code.. for any sync web framework or wsgi app (pretty much all of them), you'd be doing the same thing19:38
creihthazmat: that is untrue19:38
creihteventlet doesn't have to defer to threads to work with wsgi19:38
creihtThe advantage with wsgi is that it makes available a large pool of useful libraries to choose from19:39
hazmatcreiht, neither does twisted.. but if you want to reuse a sync web framework...19:39
creihthazmat: That is only true if the framework specifically does something blocking19:39
hazmateventlet monkey patching here is dangerous.. its not going to magically turn a web app into an async app.. that app might be doing some nasty rendering implementation19:39
creihtpylons can run on eventlet19:39
creihthazmat: that can be true in the twisted world as well19:40
hazmatcreiht, except those twisted apps are designed to be async19:40
creihtthe monkey patching isn't meant to be magic, it is there as a tool19:40
sorenAnother things that seems to be ignored in this discussion is that Twisted is a big, mature framework with a lot of cool stuff in it. Eventlet fiddles with some knobs to make the stuff you're used to asynchronous.19:40
creihthazmat: if you write bad code in a twisted app that blocks it still has the same problem19:40
sorenRight, exactly.19:40
hazmatthe implicit assumption that eventlet is going to make an existing wsgi app suddenly just work, is a bit of a fallacy without experience19:40
sorenEventlet is more of a tool. it's not a framework.19:40
sorenI like frameworks :)19:41
hazmatjust work async that is19:41
creihtEventlet doesn't need to be a framework, because you can leverage any other framework that you want19:41
sorenRight.19:41
hazmatits not that the app is bad, but its design/impleentation was sync.. assuming that it can be converted magically to async without audit is dangerous is what i'm trying to say.19:41
sorenSo the comparison is skewed.19:41
sorenof course eventlet is going to have a smaller learning curve, because it's doesn't do much.19:42
creihthazmat: I'm not trying to say that it is magic19:42
*** ptremblett has joined #openstack19:42
sorenwhen was it ever bad to learn new shit?19:42
creihtAll I can say is that it works very well for us in swift, pushing a *ton* of traffic and services19:42
*** pcrews_lunch is now known as pcrews19:42
gholtYou guys are going in circles, heh. A won't convince B who can't convince A. Probably should just move on.19:42
creihtAnd made us be able to develop and debug issues much faster than with twisted19:42
hazmatcreiht, someone mentioned swift was originally using twisted.. do you know the reason for the switch to eventlet there?19:43
hazmati guess that answers that ;-)19:43
creiht:)19:43
ianwellerwoo, review of fedora's openstack-swift package posted.19:43
ianwellersilassewell: ^^19:44
gholthazmat: Generically, we didn't need all the stuff twisted provides, and all that stuff kinda got in the way.19:44
creihtEither will work, I'm not trying to say that twisted doesn't19:44
creihtBut what I can say from experience is that development with eventlet is much faster, easier to conceptualize, and easier to debug than twisted19:44
sorenThe fact that you did reworked the architecture and rewrote the whole thing and ended up with a better product doesn't mean you can attribute all of this to some change in technology. Learning from past experiences and starting over often leads to similar results, even if you don't change any of the libraries you used (or even if you switched the other way).19:45
*** kashyapc has joined #openstack19:45
gholtsoren: True, which is why I think this line of chatter isn't going anywhere. :)19:45
creihtI'm not trying to say that our issues were due to twisted (they were not), but it made for a system that was harder to debug19:45
sorengholt: I agree.19:45
creihtAnd I've done twisted development long before I came to work on swift19:46
sorengholt: Let's write some frickin' code and compare it.19:46
hazmat+119:46
creihtsoren: Indeed19:46
gholtWell, one could write a twisted version of swift and compare. :)19:47
creihthaha19:47
edaysoren: It's mostly coming down to wanting to use WSGI at this point for me :)19:47
*** codejunkie has joined #openstack19:47
sorenWhat I'd hate most of all is some sort of decree "now we've decided to use eventlet for these few things, so if you ever want to write anything else for nova, you don't get to use Twisted." Seriously, if you want to write a network server for almost any protocol other than http, you'd be in for a looooong day's work without Twisted.19:48
creihtsoren: I would say that is untrue, but we are getting nowhere19:49
sorenThe python standard library isn't exactly a treasure trove of good server stuff.19:49
creihtBut you aren't limited to the standard library19:49
gholtAh, I hadn't heard that decree. Seems like it should be based on a per merge request basis.19:49
sorenor bad server stuff for that matter.19:49
_0x44I don't know that that's true. Jared Kuolt and _cerberus_ wrote an eventlet BERT RPC server in something like fifteen minutes and 12 of those minutes were making coffee.19:49
creihthah19:50
sorengholt: No such decree has been made. Yet.19:50
edaysoren: I agree, I think each app needs to be evaluated differently. For example, I think the API servers should be WSGI based, which impies Eventlet, and the back-end workers probably just thread based since we're not dealing with high concurrency or web-style apps (just using the AMQP libs). If some component comes up that would be best done in twisted (high concurrency, certain protocol support, ...), I'd see no reason not to choose it19:52
gholtssh was a lot easier in twisted, as I recall.19:53
* gholt is just thinking of examples...19:53
creihthehe19:53
soreneday: That would make me much more amenable in this discussion. It's being made out to be the ultimate eventlet vs. twisted standoff. Winner takes all.19:53
creihtI have no doubt that some things are actually better in twisted, but not all things19:54
*** niemeyer has joined #openstack19:54
* creiht hides19:54
edaygholt: yeah, twisted conch is pretty good19:54
* soren likes the Manhole thing for debugging.19:54
creihtsoren: Eventlet has that19:54
creihtor something very similar19:54
sorenHow does Eventlet have that?19:54
edaysoren: I guess I've been thinking this was 'twisted vs eventlet for API', it what to switch to from tornado :)19:54
creihtsoren: http://eventlet.net/doc/modules/backdoor.html19:55
sorenThat surprises me. Why is that sort of thing Eventlet's job?19:56
*** al-maisan is now known as almaisan-away19:56
* comstud prefers hurricain19:56
redbomanhole, backdoor... I'm noticing a trend.19:57
comstudhehe19:57
creihtsoren: Why would it not?19:57
gholtIt can be argued wsgi isn't part of eventlet's core job, etc. It'll grow, maybe not to twisted size, but it'll keep growing a bit here and there.19:57
*** gundlach has quit IRC19:57
*** gundlach has joined #openstack19:58
creihtSeveral of the original devs came from twisted core contributors19:58
edaysoren: what surprises you exactly?19:58
sorencreiht: I understand Evenlet's job description to be: Play around with stuff until it acts asynchronously, but people can't tell.19:58
creihtsoren: and yes I agree that type of functionality can be very useful19:58
creihtsoren: eventlet isn't a play toy19:59
sorencreiht: I just don't see how "also, implement some sort of server that lets people log into an interactive python shell to poke around with stuff" falls under that job description.19:59
creihtIt is used to backend a lot of Second Life's services at very large scale, and is used in swift at very large scale20:00
sorenSure, no argument there.20:00
creihtsoren: It provides tools to create async network servers and clients20:00
sorenI've just misunderstood Eventlet's scope, apparantly.20:00
sorenYes.20:00
creihtwhy would it not want to provide tools to help you debug those?20:00
sorencreiht: Tools.20:00
sorencreiht: Not the actual servers and clients.20:00
sorencreiht: Or so I thought.20:00
sorencreiht: Again, apparantly I misunderstood Eventlet's scope.20:01
sorenI wonder what else it does that I don't know about..20:01
creihtsoren: http://eventlet.net/doc/20:01
creiht:)20:02
sorenOk, apparantly nothing. I had just missed the backdoor thing.20:02
edaysoren: Thinking only in terms of the API servers, do you think choosing to follow WSGI, and for now using Eventlet would be bad for any reason? This gives use the option to use some other WSGI provider in the future if Eventlet doesn't work out. With twisted.web we're kind of locked in (which may be fine too, but options are always nice)20:02
creihthah20:02
soreneday: I've never really used WSGI myself. Sure, I've used mod_wsgi to put stuff like moin on the web, but I've never fiddled with middleware and all that jazz, so I have no clue what we'd be missing if we couldn't do WSGI.20:04
soreneday: WSGI is a good idea. I'm not opposed to standards :)20:05
edaysoren: ahh, ok. WSGI gives us a good way to layer middleware and request chains with pretty small overhead. it's just passing callables and iteraters for results20:05
*** jaypipes has joined #openstack20:05
edaysoren: here are some examples with wsgi middleware: http://wsgi.org/wsgi/Middleware_and_Utilities20:06
jaypipesfriggin plane delayed an hour...20:07
soreneday: I'm all for succinctness. If Eventlet+WSGI gives us that for the API server, that's great. Really. My real concern is that going with Eventlet for the API server bars me from using Twisted even if I could do something in 10 lines of Twisted but it would take 500 lines without it.20:09
soren10 lines of Python is almost invariably going to be easier to maintain the 500 lines of Python. Twisted or not.20:10
edaysoren: I apologize if anything I've said implies that, I've mainly been talking about the API servers20:10
creihtI'm failing to see why using eventlet is going to suddenly require you to write 500 lines of code instead of 1020:11
creihtThe entirety of core swift code it like 6k lines.  I believe that is quite a statement when you consider what it does20:11
edaycreiht: perhaps a protocol driver that exists for twisted but doesn't exist/work well in eventlet20:11
edaycreiht: ie, something with sockets in C where eventlet can't monkey patch or something20:12
sorencreiht: Anything that Twisted spends thousands of lines of code doing for me isn't going to magically do itself just because I use Eventlet. Also note, I didn't mention eventlet at all :)20:13
creihtAnd all of this is very hypothetical20:13
sorencreiht: It's not. SSH server. There.20:13
gholtHehe, good lord. I'm tired.20:13
edaysoren: having said all that, for things like the compute and volume workers which are simple queue consumers without lots of connections/concurrency I think twisted is a bit overkill. multi-threaded or multi-process would probably be easier than dealing with the async issues Justin is having :)20:14
* creiht sighs20:14
creihtWe need an SSH server in compute custom written?20:14
sorenNo!20:14
sorenThat's the point.20:14
soreni don't want to write custom shit that someone else has already written.20:14
creihtsoren: That isn't what I was asking20:15
*** sophiap has quit IRC20:15
sorenNo, we probably don't need an SSH server in Nova. Maybe we do, but probably not.20:15
creihtI was asking if we have a need in compute to write a service that speaks ssh?20:15
creihtk20:15
sorenI was responding to:20:15
soren20:11 <+creiht> I'm failing to see why using eventlet is going to suddenly require you to write 500 lines of code instead of 1020:15
sorenTwisted has an SSH server that I can whip up with very few lines of code. Having to do the same without Twisted would be a lot of work.20:16
edaySO, I think we can all agree there are different tools for different jobs. Sometimes there are great tools for both jobs, and it's really a matter of preference. We can treat each case individually as it comes up, generalized statments are always going to lead to disagreements :)20:16
sorenI used the SSh server as an example, because someone (you?) mentioned it not too long ago, so it was a common reference point.20:16
sorenI can wade through the list of other protocols Twisted has to find other examples, but proving existence really only takes on example.20:17
creihtI just mentioned it is better, I have no doubt20:17
sorenWould you be happier if I had said 10 lines vs. 50 lines?20:17
creihtThere are pure python implementations for a large number of the same protocols, and those will work with eventlet20:18
sorenI'm not saying there isn't.20:18
sorenI'm just saying that if something is much, much simpler to express using Twisted, I'd hate to not be able to use it. Examples exist. Same for the other way around.20:19
creihtWant to use redis? Use the python implementation created for it, not another rewrite of it just so it will work with twisted20:19
sorenIf you can do something in 10 lines without Twisted, but Twisted makes it hella complicated, I prefer the non-Twisted version.20:19
creihtI would argue the opposite, that I can write shorter clearer code with eventlet20:19
gholtcreiht: You're physically near me. I wonder if there's some way I can get you to quit perpetuating this conversation?20:20
creiht:)20:20
creihthaha20:20
sorencreiht: and I'm agreeing!20:20
* creiht digresses20:20
edayyay20:20
sorencreiht: Some things are easier and more straightforward to express /with/ Twisted. Others are easier and more straightforward without Twisted. Sometimes by orders of magnitude.20:21
gundlachsoren: i picked about the worst time to stop paying attention to IRC, and just caught up with the conversation :)  i think that my email suggesting that we "agree on eventlet" sounded like i was trying to hand down a decision from on high, which i'm not (i'm not on high, for one thing.)20:21
gundlachi agree very much with what you and eday said earlier: that if something is way easier in twisted, and it's painful in eventlet, then let's do it in twisted.20:21
edaygundlach: I think we can say "we've decided on WSGI for the API, and will use EVentlet for now to power the WSGI apps"20:22
sorenThe discussion just started with mtaylor suggesting we should standardise in OpenStack on one of them.20:22
sorenAFAIK, at least.20:22
gundlachsoren: ah, i must have missed that.20:22
gundlacheday: i agree with that (though i'd love it if someone tried a twisted, non-wsgi api version to compare it to.)20:23
edaygundlach: for the other workers, that's a different discussion (already happening). public web frontend != queue consumer with fixed number of workers20:23
edaysoren: so we can all point and yell at mtaylor?20:23
* eday punches mtaylor20:23
gundlacheday: yep, i like justin's suggestion of simple threads in the backend -- basically, i like whatever is simpliest :)  soren, if it turns out that some piece of arch is much easier in twisted, i'm all for that too.20:24
edaygundlach: yeah, or event multi-process like vish and josh were suggesting (due to signals)20:24
gundlacheday: s/event/even/ ?20:25
edaygundlach: something that was missed (and I think due to me starting the original thread with just "Eventlet vs Twisted") is that I was talking about *API* only, ie, what to replace tornado with20:25
edaygundlach: err, yeah, *even*20:26
gundlachgot it20:27
sorencreiht: Swift clearly demonstrates that Eventlet is solid. I'm not arguing it isn't. I'm also not arguing that you guys are bad Twisted coders because you couldn't do this as elegently using Twisted. :) I'm just saying the Twisted also has merit and in some cases, one approach just happens to be expressable more elegantly using one or the other and in those cases, I'd like the option of choosing the elegant solution.20:27
creihtsoren: I think I'm the same boat, just making sure people just don't just automatically dismiss eventlet without taking a look at it20:29
jaypipeseday, gundlach: hehe, event multi-process :) a whole. nuther. level.20:29
edayjaypipes: it actually is event-driven multi-process, queue events from rabbit :)20:30
jaypipeseday: I know :)20:30
jaypipeseday: I was just making a silly joke.20:30
edayjaypipes: not funny.20:30
gundlachjaypipes: i was very glad it was a typo20:31
edayjaypipes: :)  so, how was the heat?20:31
jaypipeseday: awful.20:31
sorencreiht: My primary argument has been similar: Don't choose eventlet without looking at it. :) This is really not the sort of decision to make based on hearsay.20:31
jaypipeseday: though I hear it was over 100 in Columbus today.. :(20:31
creihtThough I'm making my argument from actually having built large systems in both twisted and eventlet ;)20:32
edayjaypipes: well, you were in florida in august. vacation good otherwise?20:32
creihtsoren: Give it a taste, you might find you like it :)20:32
jaypipeseday: ya20:32
creihtThe apple is shiney20:32
redboI just monkey patched eventlet into my silly cloudfiles-sftp server based on paramiko and it worked fine.20:32
gholtredbo: Yeah, when I did that last I discovered paramiko had some nasty bugs. :) But yeah, I'd rather do that.20:33
redbowell, worked fine as best I could test in 2 minutes :)20:34
gholtThen somebody finally filled me in on dsh and I quit worrying about that stuff, heh.20:34
creihthaha20:34
gholtIt'd be fun to help the paramiko folks out in fixing those bugs, but I got sidetracked -- actually, I got lazy, I admit it.20:35
mtaylorsoren, eday wait! you aren't trying to blame the twisted/eventlet conversation on _me_ ?20:40
*** BartVB has quit IRC20:40
sorenmtaylor: I am :)20:40
* mtaylor has been purposefully staying way the hell away from that one20:40
* soren attempts to find evidence20:40
mtaylorpromise. wasn't me20:40
* mtaylor does not like Twisted - but would _NEVER_ _EVER_ start a thread insinuating that perhaps it not be used, because twisted fans are usually quite vehement in their love of twisted20:41
*** mmalgeri1 has quit IRC20:41
sorenDarn it, apparantly the discussion was sparked IRL.20:41
mtaylor:)20:41
edaysoren: I'll back you up, he said it. mtaylor's been a twisted hater since the day I met him20:43
mtayloreday: yes... but I have not vented any of that in this forum20:43
mtayloreday: don't make me take a train down to portland and cough on you with my step throat now20:44
edaymtaylor: haha20:44
*** justinsheehy has quit IRC20:47
*** ctennis has quit IRC20:51
*** ctennis has joined #openstack21:02
*** ctennis has joined #openstack21:02
*** kashyapc has quit IRC21:04
*** RobertLJ has quit IRC21:04
vish1network refactor appears to be complete21:09
vish1I'm going to try and make some time next week to improve our testing21:09
vish1that would have been a lot easier if we had a good way of starting up various workers and making sure the api calls worked21:09
edayvish1: cool :)21:10
*** mmalgeri1 has joined #openstack21:13
*** sirp1 has quit IRC21:18
*** jdarcy has quit IRC21:19
*** jaypipes has quit IRC21:25
*** sirp1 has joined #openstack21:25
mtaylorvish1: once jaypipes gets his lazy butt back from vacation, he's going to help me set up an integration testing environment too21:26
mtaylorvish1: potentially not a useful for in tree "python setup.py test" sorts of things - but some "hey, let's spin up 20 servers and hammer the crap out of them"21:27
*** jonesy_ has quit IRC21:27
*** justinsheehy has joined #openstack21:28
*** jonesy_ has joined #openstack21:30
*** silassewell has quit IRC21:30
edaygundlach: you about still?21:35
gundlachyep21:35
gundlachyou?21:35
gundlachguess not ;)21:35
mtayloreday is never actually here. he's a ghost21:36
*** rtyler has joined #openstack21:36
rtylerhey creiht, so what's that you were saying about how awesome Tornado was?21:36
* rtyler ducks21:36
edayhehe21:36
edaygundlach: http://pastebin.com/2wg5LWEs  what I'm playing with, for layer management21:37
* creiht smacks rtyler 21:39
creihtagain21:39
creiht:)21:39
edaygundlach: thinking how fancy we need to make router classes. Should we just do them programatically? Or full on system where you declare routes and make decisions on URL, method, ...?21:39
*** blpiatt has quit IRC21:40
*** jonesy_ has quit IRC21:40
gundlachhad to go deal w/ puppy emergencies -- back21:41
gundlach(my dog just learned how to jump onto the dining room table)21:41
edaygundlach: awesome, did you give it a treat!?21:42
creihteday: How complicated are your paths going to be? (for routing)21:43
gundlachheh, no, but i did run outside and make him go down the stairs (also a new trick) and use the bathroom on command and come back upstairs.  hoping that obedience would make him forget about the dining room table.21:43
gundlachit didn't.21:43
edaycreiht: not very, so I'm thinking we keep it simple and don't make a big deal of it21:43
creihteday: then yeah keep it simple (basically what we did for swift)21:43
edaycreiht: it's mainly a way to neatly separate different tasks in the requst chain (rate limiting, auth, caching, ...)21:43
creihtI was just going to say if you were going to have complicated routing, then it would be worth looking at some of the available request dispatch libs that are available21:44
edaycreiht: mainly want to ability to keep them separate so we could insert HTTP proxy layers easily if needed21:45
creihtyeah21:46
*** silassewell has joined #openstack21:46
*** brd_from_italy has quit IRC21:46
*** dendrobates is now known as dendro-afk21:47
gundlacheday: we could reuse routes (http://routes.groovie.org/) -- behaves like ruby's routes and does this for us already.21:47
creihtgundlach: That's kinda what I'm getting at, but if you have very few paths, and they aren't complicated, then it isn't worth the dependency21:48
gundlachcreiht: agreed.  though there are about 25 paths in the RS API21:48
gundlachnot sure which side of the scales that falls on21:49
creihtthen yeah that would probably be worth it21:49
creihtIn swift, almost everything revolves around a path that looks more or less like: /account/container/object21:49
creihtso it wasn't worth the extra dependecy for us21:49
gundlachin nova, it's /entity/id/[sometimes subentities]21:50
*** tr3buchet has quit IRC21:50
gundlachyeah, i could see rolling your own when the url pattern is so regular.21:50
edaygundlach: ahh, thats kind of cool. in ubuntu already too, not just pypi :)21:51
gundlacheday: be aware that there exist some frameworks that declaratively stack our WSGI apps for us.  i jsut don't know their names offhand :)21:51
gundlacheday: you mean available via apt-get instead of pip install?21:51
creihtyeah routes should already be packaged21:51
gundlachi'm a packaging n00b -- why is apt-get preferable for python packages instead of pip install?21:52
gundlachbecause we have other dependencies that require apt-get so it's simpler to use one packaging system?21:52
creihtops people like it a lot more :)21:53
gundlachfair enough21:53
*** Phil_FL has quit IRC21:53
* creiht has yet to find an ops person that would not use the os packaging system21:53
creiht(in production)21:53
creihtnot that I blame them either21:53
gundlacheday: django lets you stack your wsgi apps via a config; turbogears 2.0 does the same; basically any wsgi-compliant web framework will give you that.  so we may be able to reuse that piece from an existing project rather than trying to manually hook these together (like your code does) or write our own declarative syntax21:54
edaygundlach: automatic updates (apt vs pypi)21:55
*** colinnich has quit IRC21:55
edaygundlach: ahh, ok. hmm. looking at turbogears21:55
gundlacheday: sold21:55
*** ptremblett has quit IRC21:56
*** ptremblett has joined #openstack21:56
*** jsmith is now known as jsmith-away21:56
mtaylorgundlach: oh yeah - as an admin I'm 100% apt-get21:56
mtaylorsorry - realize that's been answered already... but thought I'd toss in anyway :)21:57
gundlachso people still use pip/easy_install/etc just for convenience?  or for non-unix systems?21:57
gundlachor maybe to be able to suck modules into a virtualenv for easy distribution to other machines without requiring apt-get to run?21:57
edaygundlach: hmm, so with django (which I've used before) and turbogears (which I;ve not), it you get a lot more than just the WSGI glue... want to make sure we keep things simple21:58
edaygundlach: I use easy_install when it's not in apt still, I just prefer apt21:58
gundlacheday: yeah -- i am not aware if either of those examples actually have cleanly separated their wsgi stacking out, i just know it's such a common thing to have to solve that i hope someone *has*.21:58
mtaylorgundlach: _devs_ like easy_install/pip21:58
gundlachif not, we can end up writing it ourselves.21:58
mtaylorgundlach: devs tend to be very language-centric and just focused on their coding tasks, so language specific things like easy_install or ruby gems mean they're just always in their language all the time21:59
gundlachmtaylor: i admit i (mostly dev, some sysadmin) prefer pip, because i feel like it's doing less magical stuff than apt-get.  it fetches the .tar.gz from a website, it puts the files into my site-packages, it's done.21:59
mtaylorbut as soon as anything happens outside of the bubble, it all goes to shit22:00
gundlachmtaylor: :)22:00
mtaylorgundlach: heh22:00
mtayloreasy_install's biggest hurdle is dealing with things that depend on c libraries :)22:00
mtaylorproperly22:00
edaygundlach: I think the routes + simple WSGI class layers should be simple enough. THe code I pasted is already pretty minimal minues the path selection22:00
mtaylorit can install stuff ... but damn if you don't have the library already installed you're fux0red22:01
gundlacheday: i think your current approach won't allow us to pull a piece into its own app, because you've hardcoded e.g. Auth(Debug(Router()))22:01
gundlachmaybe that part you were planning on making more flexible?22:01
gundlachwow, that sounded yiddish22:01
mtaylornice22:01
edaygundlach: so, instead, you cp the 1 line binary and split:  Auth(Proxy())  and the other with just Router()22:03
edaygundlach: that's still simple enough to need a big framework thingy to do22:03
gundlacheday: ok, that will work for .001 release, fair enough.22:03
*** niemeyer has quit IRC22:04
edaygundlach: yeah.. if we start swapping these types of modules around a lot, we can find some other config glue22:04
edaygundlach: but I don't think it will change any of our WSGI callables, just the binaries blueing them together22:05
gundlacheday: absolutely right22:05
edayerr, gluing22:06
*** rnewson has quit IRC22:08
* eday plays with routes22:09
*** ptremblett has quit IRC22:13
*** ptremblett has joined #openstack22:13
uvirtbotNew bug: #613667 in swift "Bytes In and Bytes Out are incorrectly logged " [Undecided,Confirmed] https://launchpad.net/bugs/61366722:15
*** jonesy_ has joined #openstack22:20
*** dendro-afk is now known as dendrobates22:21
*** allsystemsarego has quit IRC22:28
creihtgundlach, eday: btw, python paste has stuff for configuring arbitrary wsgi layers22:31
gundlachcreiht: thanks.  i think i read that in the tutorial i linked to earlier, now that you mention it22:31
creihtmore specifically: http://pythonpaste.org/deploy/22:31
creihtcool22:31
gundlachyep, that was it -- Paste Deploy22:32
gundlachthough I was turned off a bit because it required that you wrap your wsgi app in their style of thing in order to make it into a deployable class (or something).  aka, you had to play by their rules instead of just specifying the classnames of your wsgi apps.22:32
gundlachBut the Paste guys are smart so I imagine there was a reason :)22:32
gundlachhttp://archimedeanco.com/wsgi-tutorial/22:33
creihthah... yeah some people don't like that style, but at the very least it is a good source of ideas22:33
creihtI'm not super fond of it either, but the times I have used it, I opted to do so instead of writing something myself :)22:34
edaygundlach: http://pastebin.org/448065  my simple app converted to use routes (with generic route class)22:35
*** adjohn has quit IRC22:35
gundlachdid it feel simpler?22:35
*** adjohn has joined #openstack22:36
*** Podilarius has left #openstack22:38
edaygundlach: routes? yeah, with the base class I made22:38
edaygundlach: I guess we should insert the matched dict into environ as well, since it's easier to access them already parsed22:39
gundlachmatched dict?  not sure what you're referring to22:40
gundlachRouter.map?22:40
gundlachanyway, glad that it worked out, and way to integrate it so quickly :)22:42
edaygundlach: http://pastebin.org/448072 notice file is picked out of matched dict now22:43
edaygundlach: the Router layer injects the map result into environ22:43
*** jonesy_ has quit IRC22:53
*** mray has quit IRC22:54
mtaylorcreiht: speaking of paste - I haven't fogotten about you - just been sick :)22:55
creihtmtaylor: no worries22:57
*** dmd17 has joined #openstack22:57
*** chilts has joined #openstack22:57
vish1sigh, i just realized there is something else that i need to move into network22:59
edayvish1: know if todd is around? Not seen him on IRC today23:00
vish1eday: not sure, he's in kentucky23:00
vish1:)23:00
edayvish1: ahh. where you based out of?23:01
*** ptremblett has quit IRC23:06
*** ptremblett has joined #openstack23:06
*** chilts has quit IRC23:07
vish1eday: silicon valley23:07
*** chilts has joined #openstack23:09
*** metoikos has quit IRC23:22
*** rtyler has left #openstack23:28
*** miclorb_ has joined #openstack23:28
*** metoikos has joined #openstack23:29
*** aliguori has quit IRC23:30
*** justinsb has joined #openstack23:31
*** ptremblett has quit IRC23:32
*** ptremblett has joined #openstack23:32
*** lbieber has quit IRC23:33
*** syah has joined #openstack23:34
*** coyotte508 has joined #openstack23:35
*** coyotte508 has left #openstack23:35
*** pcrews has quit IRC23:37
*** pcrews has joined #openstack23:43
*** abecc has quit IRC23:44
*** aliguori has joined #openstack23:46
*** pcrews has quit IRC23:56
*** adrian_otto has quit IRC23:59

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