[00:45] <sidnei> niemeyer, uhm. looks like i digged my own hole there. now i must type really fast. ;)
[00:47] <sidnei> 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 '/'  <Ensemble:Triaged by hazmat> <OpenStack Compute (nova):New> < https://launchpad.net/bugs/829880 >
[02:27] <hazmat> sidnei, if you script the download of irclogs, i'd be interested in the script ;-)
[14:00] <niemeyer> Hey there
[14:32] <sidnei> hey niemeyer
[14:32] <niemeyer> sidnei: Yo!
[14:32] <niemeyer> sidnei: Ready for the talk? :-)
[14:32] <sidnei> niemeyer, no ;)
[14:33] <niemeyer> sidnei: Hehe :)
[14:33] <niemeyer> sidnei: It's no big deal.. just play with it and you'll easily get the idea
[14:33] <niemeyer> sidnei: and we'll be here :)
[14:34] <sidnei> 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] <sidnei> niemeyer, because most people won't have heard of it anyway
[14:35] <niemeyer> sidnei: Sounds good.. I have the slides from FISL too, in case you want to get a head start
[14:35] <sidnei> niemeyer, definitely helpful
[14:38] <niemeyer> sidnei: http://labix.org/presentations/ensemble-fisl12/
[14:39] <niemeyer> sidnei: The demo there is a short (3m) video.. I can send you at some point too if you want
[14:40] <sidnei> niemeyer, that's fine thinking of saving the demo for a lightning talk.
[14:41] <niemeyer> sidnei: In my experience the demo has been game-changing in presentations
[14:41] <niemeyer> sidnei: I could babble for hours and it wouldn't be as effective as showing a couple of in-practice minutes
[14:43] <sidnei> 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] <niemeyer> sidnei: Ohh, sweet!
[14:43] <niemeyer> sidnei: We'd love to have that as well! 8)
[14:43] <sidnei> i'm sure you do :)
[14:46] <sidnei> 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] <niemeyer> sidnei: That's not a big deal per se, but let me try to understand what you're really referring to
[14:47] <niemeyer> sidnei: Do you mean a generic all-encompassing django formula that can be used for any django app at all, or
[14:47] <niemeyer> sidnei: .. bundling of a specific django app from a vcs?
[14:47] <sidnei> niemeyer, i think there's room for both. where the former probably means making the vcs location configurable in the formula.
[14:48] <niemeyer> sidnei: Agreed, there's room for both, but they're different paths
[14:48] <niemeyer> sidnei: I'd actually like to experiment the first option at some point
[14:48] <niemeyer> sidnei: The second one is easy
[14:49] <niemeyer> 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] <niemeyer> sidnei: Effectively working more like a PaaS
[14:50] <sidnei> right
[14:50] <niemeyer> sidnei: Imagine building a thin layer that enabled the Python app to query "Hey, what apps are up?", etc
[14:51] <niemeyer> sidnei: We could then offer a few different relations.. e.g.
[14:51] <niemeyer> sidnei: mongo-relation-joined, postgres-relation-joined, etc
[14:52] <niemeyer> sidnei: These would hook directly into Django and configure the respective database
[14:52] <sidnei> niemeyer, so hooking into django.settings, ok.
[14:53] <niemeyer> sidnei: Right.. PaaS FTW
[14:53] <niemeyer> sidnei: The vcs then is a config option..
[14:54] <niemeyer> sidnei: Which means exactly the same formula can be used to deploy pretty much any django app straight from vcs
[14:56] <sidnei> 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] <niemeyer> sidnei: Right!
[14:58] <sidnei> niemeyer, ok. i think i might give that a try. what about the second option, with bundling the app.
[14:59] <niemeyer> 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] <niemeyer> sidnei: The second option is trivial.. you bundle the app itself without a formula and hardcode things up
[15:00] <niemeyer> sidnei: Erm
[15:00] <niemeyer> sidnei: s/without/within/
[15:00] <sidnei> niemeyer, so the formula would be pushed to ensemble with a tarball included
[15:00] <niemeyer> sidnei: Not necessarily.. you can still reference the vcs, for instance
[15:01] <niemeyer> sidnei: Except it would be hardcoded inside it
[15:01] <niemeyer> sidnei: But the tarball would be doable too
[15:03] <sidnei> 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] <sidnei> 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] <niemeyer> sidnei: Nope
[15:04] <niemeyer> sidnei: I mean, no, it won't fall
[15:05] <niemeyer> sidnei: We never tested such a workload, but the communication is relatively simple
[15:07] <sidnei> niemeyer, awesome. 
[15:09] <sidnei> 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] <niemeyer> sidnei: I don't know what's murder.. lookig
[15:11] <niemeyer> looking
[15:12] <niemeyer> sidnei: Ah, is it the twitter thing?
[15:12] <niemeyer> Yeah..
[15:12] <niemeyer> sidnei: Yeah, certainly interesting..
[15:16] <sidnei> niemeyer, the way its deployed seems fairly trivial, it just calls python scripts to fire up a torrent server and multiple peers
[15:16] <sidnei> where it == capistrano
[15:17] <sidnei> https://github.com/lg/murder/blob/master/lib/murder/murder.rb
[15:25] <sidnei> niemeyer, i wonder if it would make more sense as a central service provided by ensemble though
[15:30] <niemeyer> sidnei: Probably not
[15:30] <niemeyer> sidnei: We we're going to the opposite direction, actually
[15:30] <niemeyer> sidnei: Ensemble services themselves will eventually be formulas
[15:39] <hazmat> murder is a deploy system, afaicr
[15:39] <hazmat> i was thinking about doing a wsgi formula
[15:39]  * hazmat tries some jfdi
[15:41] <niemeyer> hazmat: Hey
[15:42] <hazmat> niemeyer, hola.. spent the morning trying to track down a touchpad
[15:42] <niemeyer> hazmat: I understand it as file-copying
[15:42] <hazmat> i saw the annoucement last night before i went to bed
[15:42] <hazmat> rushed to stores this morning, just missed them
[15:42] <niemeyer> Aw
[15:42] <niemeyer> LOL
[15:42] <hazmat> 100 for a tablet computer is pretty nice
[15:42] <niemeyer> I just googled for "murder"
[15:42] <hazmat> doh ;-)
[15:42] <hazmat> niemeyer, it uses zk
[15:43] <hazmat> its twitter's deploy system afaicr
[15:43] <hazmat> in python
[15:43] <niemeyer> 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] <niemeyer> hazmat: I imagined that it might be put in a relation, etc
[15:44] <hazmat> niemeyer, basically bittorrent + zk 
[15:44] <niemeyer> hazmat: Ensemble won't get in the way of the copying/deploying bit
[15:44] <hazmat> niemeyer, yeah.. its not really germane to a service its pretty custom imo
[15:45] <niemeyer> hazmat: E.g.: """
[15:45] <niemeyer> 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] <niemeyer> """
[15:45] <hazmat> a formula interestested in doing app deploy, just does a set on the version in the config file
[15:45] <hazmat> for upgrade
[15:45] <niemeyer> Yeah
[15:46] <niemeyer> hazmat: Still, how would one put the first version in place
[15:46] <hazmat> niemeyer, deploy --with-config
[15:46] <hazmat> niemeyer, just finished the config.yaml ;-)
[15:47] <niemeyer> hazmat: I imagine, e.g., a few formulas like murder-server, murder-service, etc
[15:47] <hazmat> niemeyer, i just don't think its that useful
[15:47] <niemeyer> Agreed, it's less exciting
[16:43] <smoser> hazmat, cloud-init runs fine to my knowledge on canonistack
[16:43] <hazmat> 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] <hazmat> smoser, there's a few minor things i noticed.. the metadata server/hostname set seems to hang
[16:44] <smoser> "metadata server/hostname set seems to hang"
[16:44] <smoser> ?
[16:44] <hazmat> 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] <smoser> hostname is https://bugs.launchpad.net/nova/+bug/820962
[16:45] <_mup_> Bug #820962: Generating hostname from display name incorrect <OpenStack Compute (nova):Triaged> < https://launchpad.net/bugs/820962 >
[16:46] <hazmat> smoser, ah.. yeah that's it
[16:46] <hazmat> smoser, do you know if current openstack has a metadata server of some type?
[16:46] <smoser> yes, it does.
[16:47] <smoser> 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 <OpenStack Compute (nova):Fix Committed by dan-prince> < https://launchpad.net/bugs/823520 >
[16:47] <_mup_> Bug #827569: ec2metadata service does not include 2011-01-01 <OpenStack Compute (nova):Confirmed> < https://launchpad.net/bugs/827569 >
[16:47] <hazmat> 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] <smoser> you're probably running natty ?
[16:48] <hazmat> smoser, yeah.. mostly natty for ec2.. oneiric for lxc 
[16:49] <smoser> so user data issue , natty?
[16:49] <hazmat> smoser, honestly atm it all appears to just magically work
[16:50] <hazmat> i'm able to deploy services on canonistack 
[16:50] <hazmat> i'm just not sure how in all cases ;-)
[16:50] <hazmat> off to enjoy a beautiful day.. have a good weekend folks
[16:51] <smoser> verified that onieric image on canonicalstack works with no --key (launched and accessed via ssh_import_id in cloud-config)
[16:53] <smoser> and verified natty does too
[16:53] <smoser> but... there is a bug in the loader kernels it would appear that sometimes they dont' boot all the way
[16:53] <smoser> it is the loader kernel that is at fault likely
[16:53] <smoser> a reboot will usually fix it
[17:04] <sidnei> niemeyer, yes, it's pretty generic file copying, peer-to-peer due to bittorrent.