[00:45] niemeyer, uhm. looks like i digged my own hole there. now i must type really fast. ;) [00:47] im sure if i just go back and read all the channel logs i'll learn EVERYTHING. or maybe read the source. :) [02:26] <_mup_> Bug #829880 was filed: object store doesn't like key with '/' < https://launchpad.net/bugs/829880 > [02:27] sidnei, if you script the download of irclogs, i'd be interested in the script ;-) [14:00] Hey there [14:32] hey niemeyer [14:32] sidnei: Yo! [14:32] sidnei: Ready for the talk? :-) [14:32] niemeyer, no ;) [14:33] sidnei: Hehe :) [14:33] sidnei: It's no big deal.. just play with it and you'll easily get the idea [14:33] sidnei: and we'll be here :) [14:34] niemeyer, sure. i'm thinking of starting with a background of 'why ensemble', which should fill at least half the time. then get to the 'how', and hopefully i won't run out of time. :) [14:34] niemeyer, because most people won't have heard of it anyway [14:35] sidnei: Sounds good.. I have the slides from FISL too, in case you want to get a head start [14:35] niemeyer, definitely helpful [14:38] sidnei: http://labix.org/presentations/ensemble-fisl12/ [14:39] sidnei: The demo there is a short (3m) video.. I can send you at some point too if you want [14:40] niemeyer, that's fine thinking of saving the demo for a lightning talk. [14:41] sidnei: In my experience the demo has been game-changing in presentations [14:41] sidnei: I could babble for hours and it wouldn't be as effective as showing a couple of in-practice minutes [14:43] niemeyer, right. i'm thinking of redoing the demo so it's more readable on a projector, at fisl i could barely read what was on screen. [14:43] sidnei: Ohh, sweet! [14:43] sidnei: We'd love to have that as well! 8) [14:43] i'm sure you do :) [14:46] niemeyer, so changing subject but not quite, how do you see a django formula working? i mean, it's different than most services in the sense that installing a package (python-django) does not bring up a service, but instead you need a django app which is generally a vcs checkout. [14:46] sidnei: That's not a big deal per se, but let me try to understand what you're really referring to [14:47] sidnei: Do you mean a generic all-encompassing django formula that can be used for any django app at all, or [14:47] sidnei: .. bundling of a specific django app from a vcs? [14:47] niemeyer, i think there's room for both. where the former probably means making the vcs location configurable in the formula. [14:48] sidnei: Agreed, there's room for both, but they're different paths [14:48] sidnei: I'd actually like to experiment the first option at some point [14:48] sidnei: The second one is easy [14:49] sidnei: For the first one, I'd like to try building something a bit smarter, that would enable communicating to the framework that e.g. a given database was made avaialble [14:49] sidnei: Effectively working more like a PaaS [14:50] right [14:50] sidnei: Imagine building a thin layer that enabled the Python app to query "Hey, what apps are up?", etc [14:51] sidnei: We could then offer a few different relations.. e.g. [14:51] sidnei: mongo-relation-joined, postgres-relation-joined, etc [14:52] sidnei: These would hook directly into Django and configure the respective database [14:52] niemeyer, so hooking into django.settings, ok. [14:53] sidnei: Right.. PaaS FTW [14:53] sidnei: The vcs then is a config option.. [14:54] sidnei: Which means exactly the same formula can be used to deploy pretty much any django app straight from vcs [14:56] niemeyer, yup, i can see that working. would be simple to export DJANGO_SETTINGS_MODULE to a module generated by things provided by ensemble, which would override the django app defaults. [14:56] sidnei: Right! [14:58] niemeyer, ok. i think i might give that a try. what about the second option, with bundling the app. [14:59] sidnei: That'd be awesome.. please send some feedback to the list later if possible. This feels like a big area we should start exploring for several platforms [14:59] sidnei: The second option is trivial.. you bundle the app itself without a formula and hardcode things up [15:00] sidnei: Erm [15:00] sidnei: s/without/within/ [15:00] niemeyer, so the formula would be pushed to ensemble with a tarball included [15:00] sidnei: Not necessarily.. you can still reference the vcs, for instance [15:01] sidnei: Except it would be hardcoded inside it [15:01] sidnei: But the tarball would be doable too [15:03] niemeyer, ok. and how scalable is the deployment of formulas? if i had 1000s of new instances firing up simultaneously, would ensemble fall over from too many concurrent requests? [15:03] niemeyer, i was looking at murder https://github.com/lg/murder and it seems simpler than i thought it was, maybe a murder formula would be interesting too. [15:04] sidnei: Nope [15:04] sidnei: I mean, no, it won't fall [15:05] sidnei: We never tested such a workload, but the communication is relatively simple [15:07] niemeyer, awesome. [15:09] niemeyer, i think a murder formula might be interesting anyway, even if just for the sake of showing how to use murder without capistrano. [15:11] sidnei: I don't know what's murder.. lookig [15:11] looking [15:12] sidnei: Ah, is it the twitter thing? [15:12] Yeah.. [15:12] sidnei: Yeah, certainly interesting.. [15:16] niemeyer, the way its deployed seems fairly trivial, it just calls python scripts to fire up a torrent server and multiple peers [15:16] where it == capistrano [15:17] https://github.com/lg/murder/blob/master/lib/murder/murder.rb [15:25] niemeyer, i wonder if it would make more sense as a central service provided by ensemble though [15:30] sidnei: Probably not [15:30] sidnei: We we're going to the opposite direction, actually [15:30] sidnei: Ensemble services themselves will eventually be formulas [15:39] murder is a deploy system, afaicr [15:39] i was thinking about doing a wsgi formula [15:39] * hazmat tries some jfdi [15:41] hazmat: Hey [15:42] niemeyer, hola.. spent the morning trying to track down a touchpad [15:42] hazmat: I understand it as file-copying [15:42] i saw the annoucement last night before i went to bed [15:42] rushed to stores this morning, just missed them [15:42] Aw [15:42] LOL [15:42] 100 for a tablet computer is pretty nice [15:42] I just googled for "murder" [15:42] doh ;-) [15:42] niemeyer, it uses zk [15:43] its twitter's deploy system afaicr [15:43] in python [15:43] hazmat: Yeah, I've listened to part of the talk.. it sounded like a generic file-copying thing, but maybe I forget the details [15:44] hazmat: I imagined that it might be put in a relation, etc [15:44] niemeyer, basically bittorrent + zk [15:44] hazmat: Ensemble won't get in the way of the copying/deploying bit [15:44] niemeyer, yeah.. its not really germane to a service its pretty custom imo [15:45] hazmat: E.g.: """ [15:45] Murder (which by the way is the name for a flock of crows) is a combination of scripts written in Python and Ruby to easily deploy large binaries throughout your company’s datacenter(s). [15:45] """ [15:45] a formula interestested in doing app deploy, just does a set on the version in the config file [15:45] for upgrade [15:45] Yeah [15:46] hazmat: Still, how would one put the first version in place [15:46] niemeyer, deploy --with-config [15:46] niemeyer, just finished the config.yaml ;-) [15:47] hazmat: I imagine, e.g., a few formulas like murder-server, murder-service, etc [15:47] niemeyer, i just don't think its that useful [15:47] Agreed, it's less exciting [16:43] hazmat, cloud-init runs fine to my knowledge on canonistack [16:43] smoser, yeah.. it does.. i was having some issues logging in with keys that where put in place my cloud-init.. but cloud-init works fine [16:44] smoser, there's a few minor things i noticed.. the metadata server/hostname set seems to hang [16:44] "metadata server/hostname set seems to hang" [16:44] ? [16:44] smoser, the login issue disappeared once i started using a keypair when launching instances, haven't bothered to track it down.. it was probably a red -herring [16:45] hostname is https://bugs.launchpad.net/nova/+bug/820962 [16:45] <_mup_> Bug #820962: Generating hostname from display name incorrect < https://launchpad.net/bugs/820962 > [16:46] smoser, ah.. yeah that's it [16:46] smoser, do you know if current openstack has a metadata server of some type? [16:46] yes, it does. [16:47] its not perfect (bug 823520, bug 827569) but it is present and generally working [16:47] <_mup_> Bug #823520: EC2 instance-type metadata returns SQLAlchemy object string < https://launchpad.net/bugs/823520 > [16:47] <_mup_> Bug #827569: ec2metadata service does not include 2011-01-01 < https://launchpad.net/bugs/827569 > [16:47] thanks, i'll look into that then, there's a little bit of metadata that we'd like for ensemble from the instances [16:48] you're probably running natty ? [16:48] smoser, yeah.. mostly natty for ec2.. oneiric for lxc [16:49] so user data issue , natty? [16:49] smoser, honestly atm it all appears to just magically work [16:50] i'm able to deploy services on canonistack [16:50] i'm just not sure how in all cases ;-) [16:50] off to enjoy a beautiful day.. have a good weekend folks [16:51] verified that onieric image on canonicalstack works with no --key (launched and accessed via ssh_import_id in cloud-config) [16:53] and verified natty does too [16:53] but... there is a bug in the loader kernels it would appear that sometimes they dont' boot all the way [16:53] it is the loader kernel that is at fault likely [16:53] a reboot will usually fix it [17:04] niemeyer, yes, it's pretty generic file copying, peer-to-peer due to bittorrent.