/srv/irclogs.ubuntu.com/2011/07/15/#ubuntu-ensemble.txt

_mup_Bug #810808 was filed: Formula install hook never completes <Ensemble:New> < https://launchpad.net/bugs/810808 >00:06
=== franciscosouza_ is now known as franciscosouza
=== koolhead17|afk is now known as koolhead17
kim0Morning all07:56
DigitalFluxMorning kim0 :)11:51
kim0DigitalFlux: Morning o/11:52
DigitalFluxwhat is the status of deploying Ensemble's formulas into LXC ?11:52
kim0an experimental branch exists .. however it's certainly not 'ready'11:52
kim0you can play freely on ec2 however .. launch micro instances :)11:52
DigitalFluxi'm guessing this one https://code.launchpad.net/~clint-fewbar/ensemble/lxc-container ?11:53
kim0yeah should be11:53
DigitalFluxyeah, that's my plan for today11:53
kim0what are you going to be working on11:53
* DigitalFlux need to find where to configure ensemble to use micro instances ..11:53
DigitalFluxThe Trac formula11:53
kim0oh I see11:53
DigitalFluxhttps://bugs.launchpad.net/principia/+bug/79548011:53
_mup_Bug #795480: Formula needed: Trac <bitesize> <Principia Ensemble:New for ahmedelgamil> < https://launchpad.net/bugs/795480 >11:53
kim0yaay \o/11:53
kim0let me help with configuring the t1.micro thing11:54
DigitalFluxkim0: please, go ahead11:54
kim0DigitalFlux: check out http://fewbar.com/2011/06/so-what-is-ensemble-anyway/11:55
kim0search for m1.small11:55
kim0You need to add     default-instance-type: m1.small11:55
DigitalFluxAhh, that was a long article :)11:55
* DigitalFlux checking ..11:55
kim0to ~/.ensemble/environments.yaml11:55
kim0in your case .. it would be t1.micro of course11:55
DigitalFluxhehe, looks like i already did that before :)11:55
kim0cool :)11:55
DigitalFlux    default-instance-type: t1.micro11:55
* kim0 nods11:55
DigitalFluxok neat ..11:55
* DigitalFlux coding his first Ensemble formula :)11:56
kim0\o/11:56
kim0DigitalFlux: feel free to grab me any time once you have a question11:56
DigitalFluxkim0: i will indeed :), Thanks kim011:56
kim0RoAkSoAx: morning o/12:03
DigitalFluxkim0: hmm, here is some point that i want to discuss12:07
kim0RoAkSoAx: I see you haven't added your cool session yet to https://wiki.ubuntu.com/UbuntuCloudDays/Timetable .. please add one today :) Thanks12:07
kim0DigitalFlux: shoot12:07
DigitalFluxkim0: so i looked over the current principia formulas12:08
DigitalFluxlike in case of checking the wordpress formula12:08
DigitalFluxi see that not all the underlying components are obvious12:08
kim0like ?12:08
DigitalFluxwhere the web server layer is not that shiny here12:09
DigitalFluxyou just install the wordpress package12:09
DigitalFluxi understand that this may get apache with the default config12:09
DigitalFluxbut is this the perfect way to go .. from the prespective of code reuse ?12:09
DigitalFluxor will it better to create a separate apache formula and relate it to the wordpress formula ?12:10
kim0ah .. we just had this discussion yesterday :)12:10
kim0good question indeed12:10
kim0so basically .. Ensemble should be getting settable parameters soon12:10
DigitalFluxI think we're talking about CM vs. packaging here ..12:10
kim0which would let you choose which web server for example you'd like to use12:11
DigitalFluxsetting the standards in this for Ensemble from the early beginning will solve a lot of formula 'styling' in the future BTW !12:11
kim0the need is recognized .. the code is already sitting in review queue12:11
kim0good catch however12:11
DigitalFluxaha, awesome12:12
DigitalFluxwow, lots of hooks in mysql :)12:13
DigitalFluxmy expectation is that the mysql formula will have the largest amount of hooks around :) 12:13
kim0DigitalFlux: yes it is growing :)12:13
kim0DigitalFlux: you only need to worry about db-relation only for starters12:14
DigitalFluxkim0: well, i originally check it in order to know how it 'automatically' creates and hands random passwords for WP12:15
* kim0 nods12:15
DigitalFluxkim0: I guess i should do that for Trac/SVN integration ..12:15
kim0although the beautiful part .. is you don't have to understand it12:15
* DigitalFlux nods12:15
DigitalFluxOkie12:22
DigitalFluxHow can i set some service config 'parameters' for some formula that should be deployed12:22
DigitalFluxlike where i'm creating a Trac project here, how can i set it's name ?12:22
hazmatgood morning12:23
kim0hazmat: Morning o/12:24
kim0DigitalFlux: that's the configuration stuff I talked about earlier, the one that is not ready yet .. for now hardcode some names12:24
DigitalFluxkim0: i see, ok, good to know, Thanks12:24
* kim0 can't wait for the config-set stuff to land either ;)12:26
hazmatbug 81076512:29
_mup_Bug #810765: if a formula in a repo has invalid metadata, it can stop any deploy from the repo. <Ensemble:New> < https://launchpad.net/bugs/810765 >12:29
_mup_ensemble/deploy-tolerates-broken-formulas-bug-810765 r276 committed by kapil.thangavelu@canonical.com12:41
_mup_repository.find ignores invalid formula metadata.12:41
DigitalFluxI guess there is no Ubuntu EC2 images that can boot on instance-store micro-size, right /12:49
DigitalFlux?12:49
hazmatDigitalFlux, there are12:49
DigitalFluxonly EBS ..12:49
hazmatoh.. instance-store12:50
hazmatDigitalFlux, ensemble tries to use ebs for all ec2 instances 12:50
hazmatit should work with instance-store instances though12:50
DigitalFluxhazmat: aha, i was just booting an instance manually for testing some stuff ..12:50
hazmatyou have to specify the image in default-image-id in environments.yaml12:51
DigitalFluxlets use the ebs then ..12:51
DigitalFluxhazmat: yeah, did that, Thanks :)12:51
hazmatmorning niemeyer, fwereade 13:16
niemeyerhazmat: Yo!13:16
fwereadehazmat: heyhey13:16
fwereadehow's it going?13:17
niemeyerMan, there's a beep-beep-beep going on here that is driving me crazy13:17
fwereadehazmat: thanks for the review13:18
fwereadehazmat: did you get a chance to think over my response?13:18
hazmatfwereade, np, parts of it still digesting13:18
hazmatas far i can see even though bootstrap code is reusable, it still needs modification on a per provider basis 13:18
hazmatat least to set the attribute13:19
hazmati'm still recovering from a bit of a cold the last few days.. i'll be glad when its gone13:19
fwereadeagreed, but that attribute does actually differ across providers13:19
RoAkSoAxkim0: howdy! Yeah I'll do this weekend as I'm still unsure on what to do13:19
fwereadethe actual logic -- start a machine with specific variables if there isn't one running already -- is completely generic13:19
hazmatfwereade, niemeyer last day of the sprint, any conclusions on cobbler integration?13:20
fwereadeand I'm concerned that if we subclass FooLaunchMachine every time we will end up with noticeable duplication13:20
fwereadehazmat: we have something that runs for andres13:20
hazmatfwereade, it doesn't need a subclass of launch machine to avoid the pre callback13:21
fwereadeI need to make sure I can duplicate it on my machine before I go13:21
fwereadeand then there'll be a fair amount of work before it's production-ready13:21
fwereadebut it feels like a good first sprint to me :)13:21
fwereadehazmat: please explain13:21
hazmatfwereade, cool, so there's another branch that does the cobbler integration?13:21
hazmatfwereade, the bootstrap has the launch class, it can instantiate, get the variables, modify, and invoke start machine13:22
fwereadehazmat: at the moment we have lp:~ensemble/ensemble/bootstrap-cobbler13:22
fwereadehazmat: strongly disapprove of that approach, it makes it hard to change LaunchMachine without changing Bootstrap13:23
hazmatfwereade, their already intimately connected13:23
hazmattry changing the scripts output of launchmachine and you have to change them both13:24
fwereadehazmat: fair point13:24
fwereadehazmat: I have a half-formed idea that says that would be best addressed by making machine_data/variables more structured13:24
hazmatits already invoking a public method of launchmachine, this just swithes it to another, cleanups up the data passing, and avoids pushing callback logic manipulating variables into multiple places13:25
fwereadehazmat: so I *think* it's a data-format connection more than a code-flow connection13:25
fwereadehazmat: well: it makes it call 2 methods, instead of passing one callback into one method13:26
fwereade(good point about the unnecessary post_ callback, ty for that)13:26
hazmatpassing callbacks arounds obscures flow, its better to just invoke the method, consume the value, and invoke another method13:27
fwereadehazmat: my issue is that that means duplicating the existing flow in LaunchMachine.run13:28
fwereadeif we change that, we also have to change bootstrap13:28
fwereadehowever, if bootstrap is just using run on its own, which is tested separately, we can be confident that changes to LM that don't affect the interface to run won't affect bootstrap13:29
hazmatfwereade, it means simplifying the flow in launch_machine.run. imo.. it removes the callback parameter insertion into the deferred chain13:29
hazmatfwereade, start_machine is also a public method on LM, and tested13:30
fwereadehazmat: ok, so the choice is between 2 simple flows, in different places, that have to stay the same; or one slightly-more-complex flow in just one place13:30
hazmatfwereade, re the same, as i said, their already fairly intimately connected, simplifying the flow doesn't change that13:31
fwereadehazmat: would your perception of the connections be different if variables was a custom object instead of a class?13:33
fwereadehazmat: because I think the intimacy of that connection is a result of the unstructured nature of that data13:34
fwereadehazmat: (besides, I thought you were the one arguing for a simpler flow? I'm advocating a slightly more complex flow that eschews duplication)13:35
kim0RoAkSoAx: okie thanks :)13:35
hazmatfwereade, no re custom object, i think i've already stated why.. its the callback param to mutate data in a particular order that i take issue with13:36
hazmatfwereade, we're talking about a single line of duplication13:36
hazmatand we're removing several lines of complexity and the callback parameters13:36
fwereadehazmat: well, 2 lines -- I agree it's not really a big issue13:36
fwereadehazmat: but I've already removed one callback13:37
fwereadeso you seem to be arguing that:13:38
fwereade        if pre_start_machine is not None:13:38
fwereade            launch_chain.addCallback(pre_start_machine)13:38
fwereadeis excessively complex, and is better addressed by duplicating a simple flow13:38
fwereadehazmat: is that an accurate statement of your position?13:38
niemeyerhazmat: What's that callback param that mutates data in particular order?13:40
hazmatfwereade, i'm saying that variables = lm.get_machine_variables(); modify_variables(variables); do_something_with_variables();... is cleaner than.. do_something_else(modify_variables_callback)13:41
fwereadehazmat: in isolation, yes13:41
niemeyerhazmat, fwereade: Where's that logic?13:42
niemeyerJust want to follow it13:42
hazmatniemeyer, common.launch.LaunchMachine.run13:42
fwereadeensemble.providers.common.launch13:42
* niemeyer looks13:42
niemeyerI agree with hazmat, I think13:43
niemeyerWhoever runs run() can do anything before and after it, if needed13:43
niemeyerhazmat: Is that your point?13:44
hazmatniemeyer, well i this case the before part is manipulating data internal to that method, the after part callback was already removed13:44
niemeyerhazmat: So what's your suggestion to address that data?13:45
hazmati'm saying the bootstrap can just get the data using the public api of the launchmachine, manipulate it, and call the start_machine api of it13:45
fwereadeniemeyer: but it's not soing stuff before run13:45
fwereadeniemeyer: it's before start_machine13:45
fwereadehazmat: I think I may be starting to be convinced13:46
niemeyerfwereade: Yeah, got it13:46
fwereadehazmat: but I'm still concerned that a change to LaunchMachine.run would require a non-obvious change to Bootstrap13:46
niemeyerWell..13:47
niemeyerHmm13:47
hazmatfwereade, run shouldn't have any subclass responsibility, they need to implement start_machine.. and changes to the data would incur a need to change.. we need to trust the api we construct, not create holes in them so that the provider can hide from the consumer13:47
niemeyerThat whole machine_data blob of unstructured data is pretty sad, to be honest13:48
hazmatagreed13:48
niemeyerWho owns the data?13:48
hazmatboth cloud-init and the provider13:48
niemeyerIf you invert it, get_machine_variables within LaunchMachine will have to take into consideration that someone else is setting packages13:48
hazmatits constructed from api params, ensemble config, cloud-init defaults, and provider details13:49
niemeyerhazmat: Not really.. no one owns it.. we just pass it around, and everyone sticks the data in as if it was fine13:49
fwereadeIMO changes to the data are a red herring here, and we can all agree that a more structured solution would make life easier13:49
niemeyerThis should really be a proper object, rather than a dictionary13:49
fwereade(ok, the whole purpose of the code is to change the data, but it's the control flow we're debating)13:50
niemeyerfwereade: It is relevant.. if you just invert the order, it will break the logic13:50
fwereadeniemeyer: yes... I don't think I said otherwise13:50
niemeyerfwereade: You said it was a red herring.. I'm just saying it's relevant13:51
niemeyerSo, yeah.. I suggest we don't address this change right now..13:53
niemeyerWe'll have to change the way in which these methods alter the data13:53
niemeyerand if we do this, we should really be using a structured object which has add_packages() methods and the such13:54
niemeyerso that we don't have to worry about who's doing what in which order13:54
hazmatniemeyer, it doesn't really effect the discussion at hand.. because the underlying data here is ordered13:55
niemeyerI also agree with fwereade that it's a good thing we have a single place for the run() logic that starts a machine.13:55
hazmatand its a discussion of the implementation used to effect that ordering, either hidden behind a callback from the consumer, or explicitly ordered by the consumer13:55
niemeyerActually13:56
niemeyerHmm13:56
fwereadeniemeyer: precisely, I don't know how run() is going to change in the future but I don't want to have to keep Bootstrap's reimplementation i sync13:56
hazmatthe actual api contract for the provider is start_machine, which is the same in either case.. the only purpose of run is to provide data before start_machine13:57
hazmatbootstrap just does the same13:57
hazmatimo13:57
hazmatinstead of obscuring flow with a callback only used by bootstrap, just make bootstrap provide the params13:58
fwereadehazmat: that hadn't been my perspective but perhaps you're right13:58
niemeyerhazmat: No, the contract is really run13:58
fwereadehazmat: I'd seen the get_machine_variables and start_machines methods as public just because we expect them to be overridden13:58
niemeyerhazmat: Hopefully the whole LaunchMachine thing can go away, and bootstrap should actually use provider.start_machine13:58
niemeyerhazmat, fwereade: All these variables that are being set in the pre_start_hook should really be injected upfront13:59
niemeyerhazmat: Passed to the method13:59
dakerhello14:00
niemeyerThat would make it a single interface, without any ordering issues14:00
dakeri need some help! http://paste.ubuntu.com/644790/14:00
niemeyerdaker: Hey!14:00
fwereadeniemeyer: but for that we do need a more structured machine_data14:00
fwereadebasically just for the ordering of scripts14:01
niemeyerfwereade: Not necessarily.. as long as we change get_machine_variables within LaunchMachine to take into consideration that there's pre-exisitng data that may be meaningful, instead of blindly killing everything14:01
fwereadewhich I freely stipluate is a mess, and has giant flashing lights saying "this will bite us in the future"14:01
niemeyerWhich was my original point14:01
fwereadeniemeyer: ah, I see14:01
fwereadeniemeyer: but without structured machine_data I think we're still just shuffling the points at which we assume too much around the code14:02
hazmatniemeyer, its not just pre-existing data, its data that needs to merged in particular order.. the underlying data structure here is a list, the bootstrap needs to have some of its elements added prior to the end of any machine .. to ensure the zk tree is initialized prior to the machine agent firing14:03
RoAkSoAxdaker: try: $PYTHONPATH=`pwd` ./bin/ensemble shutdow14:03
niemeyerhazmat: Yeah.. which is a terrible terrible interface14:03
RoAkSoAxdaker: try: $PYTHONPATH=`pwd` ./bin/ensemble shutdown14:03
hazmatfwereade, niemeyer alternatively we could just have this as a flag to get machine variables 14:03
niemeyerhazmat: and why I'm suggesting we don't touch this before we actually want to fix it properly14:04
hazmatand pass that bootstrap flag to launchmachine.run or provider.start_machine14:04
niemeyerhazmat: This, specifically, should _really_ go away:14:04
niemeyer        scripts = vars_out["scripts"]14:04
niemeyer        machine_agent_script = scripts.pop()14:04
niemeyer        scripts.extend([14:04
hazmatniemeyer, agreed14:05
hazmatniemeyer, the best way to do that atm is to unify the data construction14:05
hazmatand parameterize it with a bootstrap flag14:05
niemeyerhazmat: That sounds pretty good, actually14:05
hazmatit exists the way it does due to its origin as a subclass method14:05
dakerRoAkSoAx, doesnt' work :/ No such file or directory14:05
niemeyerfwereade: ?14:06
dakerRoAkSoAx, http://paste.ubuntu.com/644795/14:06
fwereadehazmat, niemeyer: I think so... I was opposed to making B an LM subclass, because it isn't and LM... but I think it's fine to have LM know how to construct a zk instance specifically14:06
fwereadeyep, I think I like that a lot14:07
hazmatcool14:07
fwereademake that change and propose again?14:07
fwereadewe maintain machine_data ickiness but at least it's all in one inheritance tree ;)14:08
hazmatfwereade, make that change, and just add a comment to the mp to that effect, i'll have  a look and approve14:08
hazmatfwereade, and it also gets rid of the callback param14:08
fwereadecool, thanks very much14:08
fwereadeindeed :)14:08
fwereadeI was never proposing the callback as a perfect solution... just, to my mind, the least worst of the ones we'd considered :)14:08
fwereademuch appreciated14:09
hazmatfwereade, np, thanks for discussing14:09
* daker <= SOS14:09
hazmatdaker, your installing ensemble from bzr?14:10
hazmatdaker, we generally recommend people not developing ensemble code to just the ppa which is updated daily14:10
hazmatdaker, in this particular case its a PYTHONPATH issue14:10
dakerthere was one from a ppa an i removed it14:11
RoAkSoAxdaker: remove the $ from $PYTHON....14:11
dakerRoAkSoAx, ah14:11
hazmatdaker, RoAkSoAx suggestion looks good to me14:11
hazmatwith the $ removed14:11
dakerworks thanks hazmat RoAkSoAx 14:11
fwereadehazmat, niemeyer: it crosses my mind that then the get_instance_id_command method then moves to LaunchMachine14:16
hazmatfwereade, sounds good.. perhaps renamed get_bootstrap_instance_id()14:20
hazmatone less provider subclass responsibility on bootstrap.. bootstrap becomes a true generic.. you could even move the launch class to the provider itself and make bootstrap truly generic14:21
hazmati guess bootstrap goes away entirely then14:22
hazmatas a separate command cls14:22
fwereadehazmat: precisely, I was abut to write exactly that before I got distracted :)14:29
fwereadehazmat: and you may be right about it going away entriely14:29
fwereadehazmat: cool :)14:29
niemeyerWoohay things going away entirely14:30
fwereadethere's nothing quite so nice as deleting code :)14:31
fwereadeanyway all that will have to wait until I have a working cobbler environment14:31
fwereadewhich I need before I go away from andres14:31
fwereadebut I think we have a plan :)14:31
fwereadehazmat, niemeyer: although that actually implies a common MachineProvider base class with a .bootstrap() method14:34
fwereade...which then implies that actually a *lot* of methods can be defined on the base class14:34
niemeyerfwereade: Hm?14:34
niemeyerfwereade: I don't see how one thing implies the other14:34
fwereadeniemeyer: hmm, perhaps not, just a sec14:35
fwereadeniemeyer: agreed, not implied; we'll see how it looks when we have 2 implementations14:39
jcastrokirkland: I agree (wrt. figuring out who is working on what in principia)14:41
kirklandjcastro: well, that, and an easy way to see what's currently in principia14:42
kirklandjcastro: an equivalent of apt-cache search14:42
jcastrokirkland: any idea when the whole repository will get hooked up?14:42
jcastro(heh, that's exactly what I was going to ask, apt-cache search)14:42
niemeyerjcastro: I've heard Launchpad is going to land the needed changes this week14:43
niemeyerjcastro: Work starts immediately14:43
jcastrooh, perfect, that's great timing.14:43
niemeyerjcastro: and yeah, we'll have ensemble search :)14:43
niemeyerOh, and it's Friday.. maybe it's even there arleady14:43
* robbiew notes we need to sort out "principia" as a name14:44
kirklandjcastro: dunno, SpamapS was on that14:44
jcastrook I'll ping him when he's around14:44
jcastrorobbiew: I thought we're just going with "ensemble formulas"?14:44
jcastroand "ensemble core"?14:44
robbiewjcastro: well the thread didn't really conclude...so maybe I'll do that now14:48
robbiew;)14:48
dakerkim0, check now https://code.launchpad.net/~daker/ensemble/small-fix/+merge/6803814:52
robbiewjcastro: not so sure we need an "Ensemble core"..."Ensemble" is fine, imo14:53
* jcastro nods14:53
* kim0 disk seems to be dying14:56
lynxmanhey guys *waves*14:58
lynxmanis there anywhere that we'll keep versions of Ensemble in a tar archive?14:58
lynxmanfinishing my macports implementation of the Ensemble client :)14:58
hazmatlynxman, you mean like a release of ensemble. or a release of formulas?15:04
lynxmanhazmat: release of ensemble, the port need somewhere to download a tar from15:06
m_3lynxman: awesome... tons of devs on mac using ubuntu in the cloud15:07
lynxmanm_3: that's the idea :) hit first and hit nicely15:07
hazmatlynxman, any chance it could construct one on the fly with a bzr export?15:07
lynxmanhazmat: hmm you'll be making my life miserable doing that :)15:07
lynxmanhazmat: that would mean installing bzr then pulling and so forth, completely foreign to how ports works15:08
hazmatlynxman, atm we don't have a release.. is my only concern.. i think we where planning on having one in the next few months to coincide with the release of oneiric15:08
hazmatlynxman, right.. but there are ports that pull from vcs i thought?15:08
lynxmanhazmat: yes but they do nasty stuff15:08
hazmatniemeyer, release time? ^15:08
lynxmanhazmat: just saying it out loud :)15:08
hazmatniemeyer, this actually dove tails nicely with what robbiew was mentioning about setting some sort of more stable weekly release15:09
niemeyerhazmat: robbiew was talking about the sync into Oneiric, IIRC15:09
lynxmanhazmat: oh, that's true15:09
niemeyerhazmat: We can do a weekly release, though15:09
robbiewright...and sync them into Oneiric ;)15:10
lynxmanniemeyer: would be okay to get a tar.gz in the ensemble project for the last milestone?15:10
lynxmanniemeyer: that would be easy for me to parse15:10
niemeyerlynxman: We can do tarballs for sure.. what do you mean by last milestone?15:11
niemeyerrobbiew, hazmat: Yeah, good point15:11
hazmatlynxman, trunk is stable so we can cut directly from it15:12
niemeyerrobbiew, hazmat: My point was just that we don't need release tarballs to sync15:12
robbiewack15:12
niemeyerrobbiew, hazmat: But might be interesting to be more careful about what is going into Oneiric either way15:12
SpamapSdoes setup.py produce a good dist output?15:12
lynxmanniemeyer: I mean looking at the ensemble project page, right now last milestone is capetown15:12
lynxmanniemeyer: something like that15:12
* SpamapS just emailed the list with his weekly release plans15:12
niemeyerSpamapS: bzr export --format=.tar.gz15:12
SpamapSniemeyer: *OH* right.. thats much simpler. :)15:13
niemeyerlynxman: CUrrent one is Dublin15:13
niemeyerlynxman: WE should update it15:13
lynxmanniemeyer: so.. dublin :)15:13
hazmatSpamapS, it should15:13
niemeyerlynxman: It's pretty old15:13
SpamapSniemeyer: at this point, with Oneiric 3 months away, would it make sense to make the next milestone "orlando-2" ?15:13
niemeyerlynxman: I mean, the last one15:13
niemeyerlynxman: I'd recommend bzr export --format=.tar.gz15:14
SpamapSor austin? :)15:14
niemeyerlynxman: To get going15:14
hazmatnext release name.. startswith 'E', dublin release ends at the end of july afaicr15:14
niemeyerSpamapS: We'll need something with an E :-)15:14
SpamapSoh you guys have *got* to stop using the cities we're in15:14
SpamapSthat is *CONFUSING*15:14
SpamapSI remember now you explained that already15:14
hazmatdublin was coincidence15:14
niemeyerSpamapS: It's actually the opposite15:15
lynxmanniemeyer: yeah, the thing is that I can either curl a tar from somewhere (what I was asking at first) or go around doing a whole bzr export, was asking which is better for you guys15:15
niemeyerSpamapS: Canonical should stop putting sprints in our milestone names!15:15
* SpamapS votes for Entendre as the next release name.. 'ensemble entendre' has a nice french comedic ring to it15:15
niemeyerSpamapS: ;-)15:15
lynxmanSpamapS: maybe Ecublens? It's a nice city in the French part of Switzerland ;)15:15
lynxmanhttp://maps.google.com/maps?hl=en&q=ecublens%2C%20ch15:16
lynxmanit's where the EPFL is based15:17
SpamapSOoo I like lynxman's15:18
* SpamapS dreams of swiss beer and pretzls15:18
lynxmanniemeyer: so you prefer a bzr branch then... just from trunk?15:20
SpamapSniemeyer: to lnxman's point, it would be prudent to start branching trunk when a new milestone is started...15:22
niemeyerlynxman: Just while we don't have actual releases, that would be preferable15:22
lynxmanniemeyer: okay, will try to make it that way, thanks15:22
SpamapSOnce there are releases.. it will be critical... but yeah, w/o a release, they're just points in time.15:22
niemeyerSpamapS: Not necessarily.. milestones are more organizational than anything else15:22
niemeyerSpamapS: Weekly releases with proper tagging should be enough15:22
SpamapSshould we just tag w/ the date? 0.5.2011.07.15 ?15:23
niemeyerSpamapS: Probably just a sequence number on the version itself might be fine15:25
niemeyerSpamapS: We always have the date out of the revision information15:25
SpamapSI actually like the way it works now.. 0.5+bzrXXX15:25
SpamapSbecause its very clear how to go get that release15:25
niemeyerSpamapS: Well, we might also do this15:25
niemeyerSpamapS: Using the revision number15:25
niemeyerSpamapS: 0.5.XXX15:25
SpamapSthats what XXX is15:26
SpamapSoh15:26
SpamapSthe only reason I don't like that, is that its pretending to be a release15:26
niemeyerLOL15:26
niemeyerSpamapS: It's not just pretending.. ;)15:26
SpamapSor at least, pretending to be more of a release than the 0.5 already is pretending15:26
niemeyerSpamapS: It _is_ a release15:26
* SpamapS thinks a massage is a nice release too.. :)15:27
SpamapSyeah.. its really not that important...15:27
SpamapSOh I was thinking on one other thing..15:27
SpamapShow about dropping the debian dir from the trunk and nesting the Ubuntu packaging for the daily builds?15:27
SpamapSWould be good to have a single place for packaging maintenance.15:28
hazmatSpamapS, sounds good to me.. the ec2-build script should probably get yanked then15:28
SpamapShazmat: is that used anymore?15:29
hazmatSpamapS, nope15:42
kim0|backupAlright folks .. my disk drive decided to die now, seems like I'll begin a badblocks party .. I'm off next week, so may not be online all the time. see you soon16:04
negronjlSpamapS, niemeyer, hazmat, m_3, anyone:  why is this happening.  I need help on this.  https://pastebin.canonical.com/49825/16:12
SpamapSnegronjl: IIRC, there's a bug where if any of the formulas in your repository have bad metadata, none of them are deployable.16:13
negronjlSpamapS:  I fixed that already.  this is different.16:13
SpamapSoh16:13
* SpamapS waits for the second timeout-refresh of pastebin16:13
jimbakernegronjl, we really need the debug log to see what's going on16:13
SpamapSmaybe the start hook failed?16:14
SpamapSor is still running?16:14
jimbakernegronjl, also, i think it would be best if we used paste.ubuntu.com16:14
negronjljimbaker.   ahh...let me re-do it all with debug-hooks, debug-log and pastebin.ubuntu.com ... I'll be back16:14
jimbakernegronjl, i don't think you need debug-hooks yet :)16:15
SpamapSnegronjl: you can just ssh to the box and look at the formula.log16:15
negronjlSpamapS:  re-doing it.  I'll get all that info in a minute.16:15
SpamapSnegronjl: /var/lib/ensemble/units/cloudfoundry-server-0/formula.log16:16
jimbakernegronjl, SpamapS is right... that's all debug-log is doing is aggregating the logs together16:16
jimbakerin fact one problem with debug-log is that it misses some log info... but as far as i know, just very early in the agent startup process now16:17
niemeyernegronjl: Best way to find out is log in the machine and read the log16:17
negronjlniemeyer:  doing that now :)16:17
negronjlI'll paste it back in a minute16:17
niemeyernegronjl: We have to create a neat way to just find out the recent logs16:17
niemeyernegronjl: Not really hard.. just need to put it in place16:17
niemeyernegronjl: Would be tremendously helpful in these cases indeed16:17
SpamapSsome helpers would do that16:18
SpamapSsudo 'ensemble-admin tail-logs' would work16:19
jimbakerSpamapS, sounds like an after the fact debug-log16:20
jimbakerSpamapS, in general i always run debug-log, might be nice if we made it easier to use, eg, ensemble bootstrap --debug to start debugging immediately16:22
m_3can debug-log take an arg for unit?16:22
jimbakerhowever, the debug log was never designed to be more than a simple solution for formula dev. some sort of log collection tool would be nice to have integrated at some point (to bring back some previous discussion we've had)16:23
SpamapSm_3: yeah16:24
SpamapSjimbaker: if it were changed to a ring buffer and always done.. then debug-log would just tap into the ring buffer and keep tailing it.16:25
jimbakerm_3, it's quite flexible: ensemble debug-log --help http://paste.ubuntu.com/644868/16:25
SpamapSjimbaker: think 'dmesg'16:25
m_3ok, didn't register that include/exclude took unit-names16:27
m_3think maybe the solution to _that_ problem is more coffee16:28
negronjlHere is the pastebin for the formula.log:  http://pastebin.ubuntu.com/644870/16:30
negronjljimbaker, SpamapS, niemeyer, hazmat, m_3:  http://pastebin.ubuntu.com/644870/16:32
niemeyernegronjl: Can't see any issue there16:41
niemeyernegronjl: 2011-07-15 16:24:39,240: statemachine@DEBUG: unitworkflowstate: transition state (installed -> started)16:41
niemeyernegronjl: It actually says it went into started16:41
negronjlniemeyer:  hence the question and confusion.  here is what I get when I run ensemble status:  http://pastebin.ubuntu.com/644872/16:43
m_3looks like it started the transition from installed->started, but never completed the transition16:43
m_3your start hook is not returning?16:43
m_3what's it look like?16:43
negronjlm_3:  it returns just fine when I do it manually16:44
niemeyernegronjl: Hmm16:44
m_3niemeyer: is that a correct interp of the log?16:44
niemeyernegronjl: It actually looks like the log is partial16:44
niemeyernegronjl: 2011-07-15 16:24:39,241: hook.executor@DEBUG: Running hook: /var/lib/ensemble/units/cloudfoundry-server-0/formula/hooks/start16:44
niemeyernegronjl: There's no "Hook complete" there16:45
niemeyernegronjl: Can you paste your start hook please?16:45
negronjlniemeyer:  sure....give me a sec16:45
negronjlhttp://pastebin.ubuntu.com/644886/16:46
negronjlniemeyer:  ^^16:46
niemeyernegronjl: Can you please ps auxw on the server and see if "vcap start" is still running?16:47
negronjlniemeyer:  checking16:47
m_3background that puppy16:47
m_3or really, prob better off putting into a real upstart script to daemonize properly16:48
negronjlm_3:  thinking of just adding that all powerful & at the end of bin/vcap start :D16:50
niemeyernegronjl: Was it running?16:51
negronjlniemeyer:  still checking as I had shutdown so now, I'm re-deploying16:52
niemeyernegronjl: It at least looks like so from the output in the log16:52
m_3negronjl: quick enough to try just a background... sometimes it's not enough to kick your controlling term though16:52
niemeyernegronjl: It ends without any other feedback about the hook16:52
niemeyernegronjl: or transitions16:52
niemeyernegronjl: Just "echo" something after the command is run, just to be sure16:52
negronjlniemeyer:  just what i did.  added echo something at the end.  deploying now...waiting..16:53
SpamapSW00t!17:05
SpamapShttp://www.oscon.com/oscon2011/public/schedule/detail/1836717:05
m_3looks like fun17:07
negronjlhey SpamapS, you're famous now :D17:08
niemeyerSpamapS: Wow, sweet17:08
niemeyerHeading to lunch, biab17:10
robbiewSpamapS:  *\o/*17:11
=== daker is now known as daker_
niemeyerrobbiew: Man, that looks like a cheer leader19:10
m_3pom-poms ftw19:11
negronjlSpamapS: ping19:19
robbiewniemeyer: it was ;)19:21
niemeyer*\o/*19:22
niemeyer  |19:22
niemeyer____19:22
niemeyerArg.. Almost19:22
niemeyer*\o/*19:22
niemeyer    |19:22
niemeyerLOL19:22
niemeyerI can't type19:23
niemeyer*\o/*19:23
niemeyer__|__19:23
niemeyerSorry.. back to work19:23
_mup_Bug #811226 was filed: Ensemble needs to enable backing storage <Ensemble:New> < https://launchpad.net/bugs/811226 >19:23
kirklandjcastro: would you mind confirming https://bugs.launchpad.net/ensemble/+bug/811226 ?19:23
robbiew*\o/*19:23
robbiew   /^\19:23
_mup_Bug #811226: Ensemble needs to enable backing storage <Ensemble:New> < https://launchpad.net/bugs/811226 >19:23
kirklandrobbiew: um, you're a cheerleader who was severed at the waist?19:24
robbiewthat was the skirt19:24
robbiewlol19:24
kirklandrobbiew: :-)19:24
SpamapSnegronjl: pong, sup?19:25
negronjlSpamapS: https://bugs.launchpad.net/principia/+bug/81122819:25
_mup_Bug #811228: mysql formula user names sometimes exceed 16 characters <Ensemble Formulas:New> < https://launchpad.net/bugs/811228 >19:25
negronjlSpamapS:  mysql usernames sometime exceed the max number of characters (16)19:25
SpamapSnegronjl: ahh, adam_g was working on that19:25
negronjlSpamapS:  Is there a bug number?19:26
SpamapSnegronjl: or rather, his recently submitted shared db functionality solves it .. and I think we can solve it for all cases.19:26
SpamapSnegronjl: no it was just something he found while working on the openstack stuff.19:26
SpamapSnegronjl: an easy fix is just to generate the username semi-randomly.19:27
SpamapSlike, use the first 8 chars of the service name, and then 8 random chars.19:27
negronjlSpamapS:  ahh...a bug number on these ( and probably any issues ) would have prevented me from debugging and duplicating the work that adam may already be working on19:27
negronjlSpamapS:  I submitted a patch tht uses uuid and uses the last 12 digits19:27
negronjlSpamapS:  that way is more random than just chopping the service name or something silly like that.19:28
SpamapSnegronjl: I'd err on the side of using pwgen rather than uuid .. the only reason being I don't know what the randomness guarantees of the first 12 chars of the uuid generator are... but I do know them for pwgen.19:29
SpamapSnegronjl: But anyway, if you have a patch, you can push it yourself, as you're a composer.19:29
negronjlSpamapS:  I know, I was just being polite by bringing it to your attention and take the oportunity to complain about the lack of a bug from adam_g about the same issue that I was working on :)19:30
negronjlSpamapS:  I'll look into pwgen19:30
SpamapSnegronjl: Ah.. ok.. just making sure you know.. I don't want people to think I'm special in this regard. :)19:32
SpamapSI think at this point you've written more formulas than anybody else.19:32
jsalisburynegronjl, I'm starting to play with ensemble.  Does the current version only run against EC2?  Or can I have my own OpenStack cloud, say on a VM, that I can use for testing/playing with ensemble?19:41
kirklandnegronjl: SpamapS: what's the context of the pwgen comment?19:48
niemeyerjsalisbury: It runs against EC2 ATM, but if you set up OpenStack and use the EC2 API it "should" work19:50
niemeyerjsalisbury: We haven't put time on testing it yet, but any reasons for it not to work are bugs we want to fix in the short term19:50
niemeyerjsalisbury: So if you're interested in getting that in place, just poke us with issues you find and we'll give a hnad19:50
jsalisburyniemeyer, great, thanks.  Then I can possible get two birds with one stone ;-)19:51
niemeyerjsalisbury: Definitely :)(19:51
niemeyer:)19:51
jsalisburyniemeyer, thanks!19:51
kirklandjsalisbury: that would be muy awesome :-)19:51
jsalisburykirkland, :-)19:52
jsalisburyniemeyer, Would running OpenStack on a VM or single box be a valid test?  It's not very 'Real world', but the interaction with ensemble should be the same, correct?19:55
niemeyerjsalisbury: Indeed19:56
jsalisburyniemeyer, great19:56
adam_gjsalisbury: this exists: https://bugs.launchpad.net/ensemble/+bug/805554  but i haven't tested myself, and figured it would "just work"  if you find the same, pleas confirm19:58
_mup_Bug #805554: Ensemble from ppa does not work with nova. <Ensemble:Incomplete> < https://launchpad.net/bugs/805554 >19:58
jsalisbury_mup_, boo.  I guess I can try to confirm that one.20:02
=== rockstar` is now known as rockstar
niemeyerAlright, I'm taking off for now.. see you all later22:48
robbiewSpamapS: http://paper.li/OnXcloud/1291324328#!art-entertainment22:53
robbiewheh...apparently my tweet of your OSCON talk got picked up by some paper.li publisher22:54
robbiewOnxcloud...created by OnX Enterprise Solutions...www.onx.com...never heard of them22:55
robbiewcanadian...maybe zul has :P22:55
hazmatSpamapS, awesome re oscon23:16
negronjlSpamapS: you around?23:17
SpamapSnegronjl: here now, sup?23:30
negronjlSpamapS:  nm.  I figured it out.23:38
SpamapSnegronjl: silence is golden. ;)23:38

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