[05:42] <fwereade> good mornings
[15:04] <_mup_> Bug #812343 was filed: formula exec env should include DEBIAN_FRONTEND=noninteractive <Ensemble:New> < https://launchpad.net/bugs/812343 >
[16:03] <adam_g> m_3: pong
[16:04] <m_3> adam_g: was just responding with the rabbit stuff
[16:04] <m_3> adam_g: I attached it to the bug report
[16:05] <m_3> adam_g: was able to reproduce your problem, then got it 'started'
[16:05] <m_3> adam_g: misbehaving package dep
[16:06] <m_3> adam_g: lemme know if that fixes it for you pls
[16:09] <SpamapS> rabbit is a strange beast
[16:09] <SpamapS> causes all kinds of problems for LP devs because of its insistance that its hostname never change.
[16:10] <m_3> SpamapS: I think it was just a startup script in a dependent package not playing nicely
[16:11] <SpamapS> m_3: what package?
[16:11] <m_3> don't know which one...
[16:11] <m_3> apt-get install -y rabbitmq-server didn't work
[16:12] <m_3> adding noninteractive and --no-install-recommends fixed it for me
[16:12] <adam_g> m_3: i actually was using the non-interactive frontend for a while, but took it out to see if it made any difference
[16:12] <adam_g> ill give no-install-recommoends a shot, thanks
[16:12] <SpamapS> erlang-base | erlang-base-hipe, erlang-asn1, erlang-corba, erlang-crypto, erlang-docbuilder, erlang-edoc, erlang-eunit, erlang-ic, erlang-inets, erlang-inviso, erlang-mnesia, erlang-odbc, erlang-os-mon, erlang-parsetools, erlang-percept, erlang-public-key, erlang-runtime-tools, erlang-snmp, erlang-ssh, erlang-ssl, erlang-syntax-tools, erlang-tools, erlang-webtool, erlang-xmerl
[16:13] <m_3> I can narrow it down to a particular package if this gets you past the hurdle
[16:13] <SpamapS> lots of dependencies from erlang-nox
[16:13] <m_3> yup
[16:24] <adam_g> m_3: still no luck with that install hook and those apt-get options.
[16:26] <adam_g> m_3: were you able to deploy to a completely fresh system?
[16:27] <fwereade> hey guys, didn't notice you come in :)
[16:27] <fwereade> it's the end of my day now but I'll be back shortly
[16:28] <fwereade> my mind in in a maze of twisty little tests, all alike, and I'm not going to be able to resisit another look :p
[16:29] <m_3> adam_g: yeah, from totally shutdown to rabbitmq 'started'
[16:30] <m_3> adam_g: are you specifying the ami or anything in your environment?
[16:30] <adam_g> m_3: yeah, an oneiric daily from last week. which are you using?
[16:31] <m_3> not specifying ami... defaults to natty
[16:31] <m_3> ami-06ad526f
[16:32] <m_3> which ensemble rev?
[16:32] <adam_g> sec
[16:34] <m_3> fwereade: hey man
[16:36] <m_3> adam_g: yeah, just tested again and it comes up fine... only bzr diff with your branch is http://pastebin.com/76H4dsBF
[16:37] <m_3> adam_g: my env (less keys) http://pastebin.com/fL0fSn3r
[16:46] <fwereade> m_3: heyhey :)
[16:49] <fwereade> oh, dammit
[16:50] <fwereade> I just spent half an hour reexamining my apparently-flawed understanding of mocker and twisted
[16:50] <fwereade> turned out to be a lower-case 'r' in some_mock.callRemote
[16:50] <jimbaker> fwereade, they are tricky to combine
[16:51] <fwereade> jimbaker: yeah, I assumed I'd encountered some subtlety that would teach me something
[16:51] <fwereade> all it's actually taught me is lrn2type
[16:51] <RoAkSoAx> fwereade: \o/
[16:52] <fwereade> RoAkSoAx: hey, how's it going
[16:52] <SpamapS> we've all been humbled by twisted a bit. :)
[16:52] <RoAkSoAx> fwereade: good good
[16:52] <RoAkSoAx> you?
[16:52] <fwereade> RoAkSoAx: yeah, recovering, not used to this jetlag lark
[16:53] <RoAkSoAx> fwereade: hehehe yeah!! fun times !! :)
[16:53] <jimbaker> fwereade, in zed shaw's learning python the hard way, learning to type (and the resulting debugging) is a key piece of the learning strategy
[16:53] <fwereade> jimbaker: still haven't looked into that... I usually enjoy zed's stuff
[16:54] <fwereade> jimbaker: first encountered him ranting about statistics in the ZSFA days :)
[16:54] <jimbaker> fwereade, some interesting insight. i was perusing it for teaching my daughter python
[16:54] <fwereade> jimbaker: cool :) how old is she?
[16:54] <jimbaker> fwereade, she's 10. she has already programmed in C (albeit through the use of a visual editor) and squeak
[16:55] <jimbaker> she learned squeak on her own. C was for a robotics camp
[16:55] <fwereade> jimbaker: cool, I have that to look forward to, Laura's only 2 :)
[16:55] <m_3> adam_g: they're coming up, but rabbit's not fully installed... still trying to figure out where it's going
[16:56] <fwereade> jimbaker: I have some blurred photos of her waving a cuddly snake, and that's as far as I've got
[16:56] <SpamapS> jimbaker: My 8 year old found Scratch this last weekend. He had quite a bit of fun with it. :)
[16:56] <jimbaker> fwereade, so zed shaw's premise is that those of who learned how to program by typing in code from a magazine/book is fundamentally different than the latter practice of doing cut & paste
[16:56] <SpamapS> Still its really hard to keep him focused on it.. its an unbelievable leap for him from that to what the xbox does. ;)
[16:57] <fwereade> jimbaker: hmmm, yes
[16:57] <jimbaker> i don't know if he uses this analogy, but looking at code is like an expert chess player looking at a board. we can use pattern recognition to really grok what's going on - especially what's wrong
[16:58] <SpamapS> crap.. I suck at chess
[16:58] <m_3> _love_ scratch
[16:58] <fwereade> jimbaker: nice
[16:58] <jimbaker> SpamapS, yeah, my daughter was playing with scratch over at a friend's house. what kids do when you're monitoring them, it's dangerous ;)
[16:58] <jimbaker> you're *not* monitoring ...
[16:59] <fwereade> jimbaker: it'll be like wargames all over again
[16:59] <jimbaker> fwereade, indeed. i think there will be a tv movie about it
[17:02] <fwereade> RoAkSoAx: hey, cool, glad you're coming in august
[17:06] <RoAkSoAx> fwereade: mee too.. this week I'll be working on getting everything Clint'
[17:06] <RoAkSoAx> did onto the ensemble bootstrap
[17:06] <RoAkSoAx> and I guess in the sprint we'll figure final details
[17:06] <fwereade> RoAkSoAx: awesome
[17:07] <fwereade> RoAkSoAx: I have the final(!?) state of that branch in review again, and I'm starting to integrate stuff from our shared branch on top of it
[17:07] <fwereade> RoAkSoAx: it crossed my mind that from what Gustavo said I shouldn't be pulling from or pushing to that branch directly
[17:07] <fwereade> RoAkSoAx: so I guess it doesn't need to be shared
[17:08] <fwereade> RoAkSoAx: but no harm done :)
[17:09] <RoAkSoAx> fwereade: right, but well I guess that as long as nothing changes significantely and breaks the stuff i'm working on, there wouldn't be much difference on how e handle that
[17:10] <RoAkSoAx> fwereade: but still I'd like to work with a branch that's in sync with your work
[17:10] <RoAkSoAx> so I can be sure nothing will break significantly
[17:10] <fwereade> RoAkSoAx: indeed not -- I just thought you should know
[17:11] <RoAkSoAx> fwereade: :)
[17:11] <RoAkSoAx> ;)
[17:12] <fwereade> RoAkSoAx: the major source of confusion I think is that I'm having to use the twisted xmlrpc client, and test it, and so the code is coming out the other end a ...little less recognisable
[17:12] <fwereade> RoAkSoAx: but given I have an environment, I think I can be pretty confident in it if it has the same results as yours
[17:13] <fwereade> RoAkSoAx: that said it might be sensible to get you to review my (your) changes once they've passed through my hands ;)
[17:15] <RoAkSoAx> fwereade: hehe yeah I was planning to send my changes for your review, as really, the main concern I have is just use all the goodness of your refactoring
[17:15] <RoAkSoAx> rather than me putting all the code in one single function
[17:15] <RoAkSoAx> :)
[17:15] <fwereade> RoAkSoAx: as long as it's moderately spread out I'm not bothered :p
[17:16] <fwereade> RoAkSoAx: just shout if you find you're ending up duplicating code
[17:16] <fwereade> RoAkSoAx: which would imply a deficiency in itc current shape
[17:18] <fwereade> RoAkSoAx: actually I had a question
[17:18] <fwereade> netboot_enabled
[17:19] <fwereade> acquire_system will only grab systems with it enabled
[17:19] <fwereade> start_system always tries to set it to True
[17:19] <fwereade> I presume we only actually need one of those, and I was wondering which you thought would be better
[17:26] <RoAkSoAx> fwereade: let me check
[17:31] <RoAkSoAx> fwereade: no I believe they should be kept
[17:32] <RoAkSoAx> fwereade: acquire_system will obtain an available system
[17:32] <RoAkSoAx> fwereade: while start system will tell it to start by issueing the commands, like containing the system through IPMI or stuff like that
[17:33] <fwereade> RoAkSoAx: not sure I follow
[17:33] <fwereade> if a system is already netboot_enabled, why would we set that to True again on start?
[17:33] <RoAkSoAx> fwereade: acquire_system browses for a system that is under foo-available management class, and grabs one 
[17:33] <fwereade> similarly, if we can set it to True on launch, why exclude systems that don't have it set?
[17:34] <fwereade> RoAkSoAx: but acquire_system also skips those without netboot_enabled
[17:34] <fwereade> RoAkSoAx: ...unless I'm looking at the wrong branch :/
[17:34] <RoAkSoAx> fwereade: then start_system, tells cobbler to contact any configured device to actually power on the machine. Setting it to netboot_enable when acquiring the system makes sure to acquire one that has netboot enabled
[17:35] <RoAkSoAx> fwereade: but when starting the system, it is making sure that netboot enabled is correctly set, otherwise the system willfail to netboot
[17:35] <RoAkSoAx> fwereade: it is just a way of making sure
[17:36] <RoAkSoAx> fwereade: cause let's say for whatever reason we acquired a system, and suddently someone changes the system profile on cobbler, then when ensemble tells it to boot the machine up
[17:36] <RoAkSoAx> fwereade: the machine wont be able to PXE
[17:36] <fwereade> RoAkSoAx: if we also _set_ it when we acquire the system, I'm happy, but as it is we just skip the system if it isn't already set the way we want
[17:36] <fwereade> RoAkSoAx: it makes sense to me to set it immediately before launch, even if it seemed to be set ok before
[17:37] <fwereade> RoAkSoAx: but if we _can_ set it, why would we avoid acquiring a system _without_ netboot_enabled?
[17:38] <RoAkSoAx> fwereade: maybe it would be a system that we would like to not use for a moment but still keep under foo-available
[17:38] <RoAkSoAx> fwereade: I know it does not seem unnecessary, but for me I think it is a necessar evil :)
[17:39] <fwereade> RoAkSoAx: I'd be inclined to make in-foo-available the single point of truth for that
[17:39] <_mup_> ensemble/expose-provision-machines-reexpose r292 committed by jim.baker@canonical.com
[17:39] <_mup_> Merged trunk
[17:39] <fwereade> RoAkSoAx: but the critical thing is that it is actually intended
[17:39] <fwereade> RoAkSoAx: and I don't need to worry that I'm totally misunderstanding ;)
[17:39] <RoAkSoAx> fwereade: yeha, but AFAIK I think we should not care that much right now about that, as it is super easy to override
[17:40] <RoAkSoAx> fwereade: cause as I mention, i think we need better ways to ensure the interaction with the management classes
[17:40] <RoAkSoAx> as I explained last week, we could set the management class from foo-available to foo-acquired and then the physicl machine might fail to start
[17:40] <RoAkSoAx> while ensemble status still shows that machine as available
[17:41] <RoAkSoAx> and doing the check, we can be assuming that "there's a reason by it has been set to disable. but let's just make sure we enable it before starting the machine"
[17:41] <RoAkSoAx> s/by/why
[17:41] <fwereade> RoAkSoAx: yep, makes sense
[17:41] <fwereade> RoAkSoAx: thanks :)
[17:43] <fwereade> anyway, I think that really is it for me now
[17:43] <fwereade> gn all, see you soon
[17:46] <_mup_> Bug #812441 was filed: ensemble ssh should passthrough args to ssh <Ensemble:New> < https://launchpad.net/bugs/812441 >
[17:51] <_mup_> ensemble/expose-provision-machines-reexpose r293 committed by jim.baker@canonical.com
[17:51] <_mup_> Support reexposing a service
[18:02] <niemeyer> Hallo!
[18:06] <niemeyer> m_3: Nice blog post1
[18:06] <niemeyer> !
[18:26] <jcastro> m_3: SpamapS: *hand wave* who wants to go over the first cut of my ensemble slides?
[18:27] <SpamapS> jcastro: fire away
[18:37] <SpamapS> m_3: feedback on the NFS formula.. I don't think we should keep repeating the paradigm of using the remote service name for stuff.
[18:38] <SpamapS> m_3: I'd rather see us implement a mode where the consuming side suggests a name... that way two services can share the same NFS export.
[18:38] <SpamapS> m_3: we also need to put together some interface docs .. :)
[19:05] <jcastro> m_3: nice blog post!
[19:06] <jcastro> I wonder if it makes sense to do a debconf prompt when you install ensemble for the EC2 keys instead of punting the user to editing a dotfile right off the bat
[19:20] <m_3> niemeyer: thanks!
[19:21] <m_3> jcastro: are your latest on the U1 share?
[19:23] <m_3> SpamapS: yup... do you have any interfaces written up so far?
[19:27] <jcastro> m_3: they are
[19:27] <m_3> seems like it's naturally part of the formula doc... we then have an 'interfaces' page on the wiki that scrapes formula docs from the repo
[19:29] <m_3> jcastro: used 22G on U1 already... gotta get it off the web
[19:31] <jcastro> heh, nice!
[19:34] <m_3> jcastro: which talk you wanna go over first?
[19:34] <jcastro> m_3: 5 minute is the same you saw, 10 minute is just the exanded version of that, it just needs a once over
[19:35] <jcastro> Ensemble Long Presentation is the one I'm having a hard time with, it's like 30 slides but I am wondering if it needs to be so many slides vs. just doing a demo and going through it step by step
[19:36] <m_3> ok, I'll look
[19:36] <jcastro> m_3: I just TODOed myself making a presentation of your blog post basically
[19:36] <jcastro> it's nice to have something other than mediawiki to talk about, heh
[19:37] <SpamapS> m_3: no but I think we'll just use ensemble.ubuntu.com/Formulas/Interfaces/(interface-name-here) .. 
[19:37] <SpamapS> m_3: I was thinking we can use a yaml format.. and leave it open to plugin test scripts that can be run at each point to verify an interface... but.. I wonder if we shouldn't just write them up in a way we can re-use for your cucumber idea.
[19:39] <SpamapS> jcastro: less slides unless you do them "Identity 2.0" style.. http://www.youtube.com/watch?v=RrpajcAgR1E
[19:39] <m_3> cucumber can consume yaml and adapt tests to each interface as nec
[19:41] <m_3> jcastro: I'll try to build out some other stacks and blog about them
[19:42] <m_3> jcastro: mediawiki full stack is still a very compelling xample
[19:43] <SpamapS> m_3: more compelling w/ config settings  implemented. :)
[19:43] <m_3> jcastro: especially if we can connect other aux services we've developed
[19:43] <m_3> SpamapS: +1
[19:44] <m_3> jcastro: ok, I personally don't like bullet points on slides... it automatically makes me want to sleep
[19:44] <SpamapS> m_3: watch identity 2.0
[19:44] <SpamapS> best presentation I've ever seen
[19:45] <SpamapS> Its the top of the pyramid, but some elements fit where we will start.. in the middle. :)
[19:45] <m_3> jcastro: diagrams on 10min-page15 should maybe be flipped over (mysql on bottom)... totally minor though
[19:45] <jcastro> m_3: someone from design will make us proper stuff  so pretend the blocks and stuff look pretty (but noted)
[19:46] <m_3> wow I really like the animated parts of that... good story
[19:47] <m_3> hard to believe though... (everybody says what we're saying here)
[19:47] <SpamapS> Cloud 2.0....
[19:47] <SpamapS> ;)
[19:47] <m_3> it's like... "no, really!"
[19:49] <m_3> jcastro: I'd expect we'll have different long-form talks depending on audience?
[19:49] <jcastro> m_3: that's totally ripped off from Nick, but I have no shame
[19:49] <jcastro> m_3: yeah so I was thinking of having fragments based on audience
[19:49] <jcastro> and then swap out parts of the long one depending on audience
[19:50] <jcastro> like, I don't think sysadmins will even want or care about the long presentation, I'd want to just see a terminal and someone typing.
[19:51] <m_3> jcastro:right, that's sort of the point of services though
[19:51] <SpamapS> they will care about the long presentation at oscon
[19:51] <SpamapS> lots of sysadmins and devs there
[19:51] <m_3> you used to have different perspectives on this
[19:52] <jcastro> SpamapS: I look forward to stealing your long form one as well.
[19:52] <jcastro> SpamapS: actually if you have it done and want to jet me a copy that would be swell
[19:52] <m_3> infrastructure meant very different things to different people
[19:52] <SpamapS> jcastro: I really like the idea around having 40-50 total slides, and just building presentations from those based on a few clues.
[19:52] <SpamapS> hahaha done hahahahaha
[19:53] <m_3> high levefolks thought of services, sysadmins thought of servers
[19:53] <m_3> we're bringning th two together
[19:56] <m_3> jcastro: lightning's look great, lemme see what sort of notes I can come up with for longform.
[19:56] <jcastro> SpamapS: yeah, right now that's exactly what the 10 minute and long form one are, it's a shuffle of what I had around + more added in 
[19:56] <jcastro> m_3: you can plop your notes right into the slide notes if you want
[19:56] <m_3> definitely steal from SpamapS... 
[19:57] <m_3> SpamapS: how long is your talk?
[19:57] <m_3> (going to be)
[19:57] <SpamapS> m_3: 40 min
[19:58] <SpamapS> I have approximately 2 slides done.. in outline form only. ;)
[19:58] <m_3> jcastro: there's the answer :)
[19:58] <m_3> nice
[19:58] <SpamapS> I actually plan to have only about 10, with a couple repeating, if I do it right.
[19:58] <m_3> that what mornings are for
[19:59] <m_3> SpamapS: let us know if we can help... (draw a diagram or something)
[20:00] <SpamapS> Heh.. this was my deck for the last Ubuntu Cloud Days.. http://spamaps.org/files/Ensemble%20Presentation.pdf
[20:02] <jcastro> SpamapS: I just stole it, got any others around?
[20:02] <_mup_> ensemble/expose-provision-machines-reexpose r294 committed by jim.baker@canonical.com
[20:02] <_mup_> Removed debugging
[20:02] <m_3> SpamapS: great last slide
[20:03] <SpamapS> m_3: I think there are a few too many arrows and lines.. it was the first ensemble picture I painted. ;)
[20:04] <jcastro> we'll just get someone to do a proper awesome diagram
[20:04] <jcastro> once we get the content the way we want it
[20:04] <jcastro> so hopefully it won't look so complicated, heh
[20:05] <jcastro> robbiew: I'd like to go over these slides today with you too if that's ok
[20:05]  * jcastro is looking for any excuse to do a G+ hangout. :p
[20:29] <robbiew> jcastro: heh...cool...got a 1:1 with jimbaker now...in about 30min?
[20:29] <jcastro> whenever is fine for me!
[20:31] <_mup_> ensemble/expose-provision-machines-reexpose r295 committed by jim.baker@canonical.com
[20:31] <_mup_> Removed sleeps in ensemble.state.tests.test_base and added test for client being disconnected in a watch
[20:32] <robbiew> jimbaker: ping :)
[20:33] <jimbaker> robbiew, hi
[21:01] <robbiew> jcastro: yo
[21:01] <jcastro> howdy
[21:01] <robbiew> ready to go, when you are
[21:03] <jcastro> robbiew: sure, wanna hang out?
[21:03] <jcastro> er, "hangout"
[21:04] <robbiew> sure
[21:04] <jcastro> started
[21:07] <robbiew> jcastro: so this is my big problem with G+
[21:07] <robbiew> I can never figure out how to hangout
[21:07] <robbiew> beyond hanging with a whole damn circle
[21:08] <bcsaller> oh, are we hanging out? brt
[21:08] <bcsaller> j/k
[22:07] <SpamapS> jcastro: hrm, why doesn't u1's little messaging indicator tell me when you have shared something with me? In this case, it only told me that I had accepted a share.. :-P
[22:07] <SpamapS> seems rather silly
[22:11] <SpamapS> jcastro: "Ensemble Manges Services, not Machines" .. how baout "Ensemble Manages Services, not Servers"
[22:12] <jcastro> ooh, I like that
[22:12] <jcastro> SpamapS: I am heading to dinner, if you can just PM me your feedback that would be great and I can check it out when I get back
[22:20] <SpamapS> jcastro: Or in the morning.. no rush. :)
[22:24] <adam_g> that reminds me... 
[22:25] <adam_g> im going to give a demo of ensemble at a local AWS users group. are there slides anywhere that might be of use?
[22:27] <jcastro> I've got some
[22:27] <jcastro> when is your talk?
[22:30] <adam_g> jcastro: thanks!
[22:30] <adam_g> tomorrow night :)
[22:42] <adam_g> SpamapS: regarding your comment on https://bugs.launchpad.net/ensemble/+bug/810808 , is there a way to run debug-hooks so that it can catch exec of the install hook of a yet-to-be-deployed unit  in time?
[22:42] <_mup_> Bug #810808: Formula install hook never completes <Ensemble:New> < https://launchpad.net/bugs/810808 >
[22:44] <SpamapS> adam_g: I think if you get debug-hooks going before the install hook it will work.. but that may be tricky as you probably can't run debug-hooks until ssh is working
[23:03] <adam_g> SpamapS: ssh isn't the tricky part, but deploying the service and getting debug-hooks to run before the install hook fires
[23:16] <SpamapS> adam_g: looks like we need a --debug-wait option to deploy/add-unit
[23:19] <adam_g> SpamapS: might be useful. i was actually able to catch the hook by looping while waiting on ec2
[23:20] <adam_g> and it turns out, if i run the install hook manually it installs rabbit, exits and continues onto start after
[23:20]  * adam_g puts on his strace goggles
[23:21] <SpamapS> Haha
[23:21]  * SpamapS has a vision of a gunner in a Mad Max / Waterworld tank preparing to mow down the unfortunate syscalls..
[23:23] <adam_g> hehe. 
[23:25] <adam_g> which process actually execs the hooks? the machine agent or the unit agent?
[23:26] <SpamapS> unit
[23:26] <SpamapS> machine execs unit agent..