/srv/irclogs.ubuntu.com/2011/03/24/#ubuntu-ensemble.txt

niemeyer_dinnerMan..01:44
niemeyer_dinnerSeveral hours attempting to fill the US visa form..01:44
niemeyer_dinnerWorst system ever01:44
niemeyer_dinnerHint: Needed a browser-debugger to finish the process01:45
=== niemeyer_dinner is now known as niemeyer
SpamapSniemeyer: thats just the way we make sure only the best web developers visit. :)06:15
niemeyerSpamapS: Hehe :)06:15
SpamapSniemeyer: about 90 legitimate hits on that presentation.pdf so far..06:18
SpamapSgrepping out bots.. :)06:18
niemeyerSpamapS: Wow, quite impressive06:20
* niemeyer => bed for reals06:27
niemeyerSpamapS: Night!06:27
_mup_ensemble/relation-get-bythespec r171 committed by bcsaller@gmail.com06:29
_mup_cleanup of tests to directly show invocation of [relation-* args] commands06:29
_mup_    Because of repeated issues in the hooks being changed or out of sync with the tests I took the time to remove many of the hook scripts that existed only to capture the arguments or calling convention around a relation-get/set/list command. This makes the tests easier to read and verify.06:29
kim0Morning everyone08:05
kapilg'morning folks12:05
niemeyerkapil: Morning12:35
_mup_ensemble/environment-config--selected-ami r178 committed by kapil.thangavelu@canonical.com14:04
_mup_document ec2 provider configuration options, allow image id/instance type to specified via config.14:04
kapilniemeyer, what do you think about a preallocation option for some number of machines on bootstrap, as a cli/config option14:21
niemeyerkapil: Sounds neat14:22
kapilie. a min machines in config14:22
kapilniemeyer, i'm trying out tiny natty images atm, i think some preallocation might make initial service deploys a bit faster14:22
kapilcool14:22
niemeyerkapil: Yeah, definitely.. and there's no real issue with it that I can think of.  It's just increasing the pool14:23
_mup_ensemble/relation-get-bythespec r172 committed by bcsaller@gmail.com14:25
_mup_version of the invoker argument handling w/o attempt at argument parsing, using optional list14:25
kapilyeah.. micro instances are working now14:28
SpamapSI've had instance_type set to t1.micro for a while. :)14:38
SpamapSthey spin up about 2x as fast as m1.small14:38
SpamapSand, given that they can be re-started as a bigger instance type.. they seem an ideal starting type. :)14:38
SpamapSbtw, it would be good to be able to specify a different ami for the bootsrap node and the others.. apparently LXC on lucid is fairly crackful.14:41
SpamapSso the ability to say "bootstrap me on natty, but then run everything else on lucid" is desirable.14:42
niemeyerOMGOMG14:54
niemeyerReview Zero!14:54
niemeyer(a new model based on Inbox Zero)14:54
niemeyerSpamapS: We'll be moving to Natty after next week (beta FTW)14:56
kapilSpamapS, yeah.. lxc was one the kicker for me on the move to natty.. i've been trying it out in maverick the last few days, via libvirt (the integration of which is broken even with openstack ppas).15:04
kapilSpamapS, i'm in progress on making the ami configurable via environments.yaml15:05
SpamapSI think its a common situation that bootstrap will have different machine providers and arguments..15:07
kapilSpamapS, sure, the individual environments have configs.. although i think your suggesting bootstrap should only do one environment at a time?15:07
kapilwhich all sounds good15:08
SpamapSIt would be good if it was easily overridable just for bootstrap is all.15:09
SpamapSLike.. "bootstrap me in ec2, then use the lxc provider"15:09
* kapil lunches15:26
niemeyerkapil: Enjoy15:34
niemeyerI'm about to do the same15:34
=== deryck is now known as deryck[lunch]
=== niemeyer is now known as niemeyer_lunch
kim0Hi folks .. Letting you know Ubuntu Cloud Days starting in 10mins in #ubuntu-classroom .. You can discuss in #ubuntu-classroom-chat .. Thanks15:50
_mup_ensemble/environment-config--selected-ami r179 committed by kapil.thangavelu@canonical.com16:35
_mup_update with right distro name for natty16:35
kapili'm going to switch the default instance type to t1.micro unless anyone has an objection? jimbaker, bcsaller, niemeyer_lunch, SpamapS ?16:37
jimbakerkapil, sounds like a great idea to me16:37
bcsallersounds good to me 16:37
=== niemeyer_lunch is now known as niemeyer
niemeyerkapil: +1 on experimenting with it16:40
niemeyerkapil: I wonder a bit if they'll be too slow for any meaningful usage, but SpamapS seems happy, so let's give that a try16:40
kapilniemeyer, it seems to work well enough to for the wordpress/mysql examples.16:41
kapiland lowers the cost by 2/316:42
kapilsounds good16:42
_mup_ensemble/environment-config--selected-ami r180 committed by kapil.thangavelu@canonical.com16:44
_mup_on the ec2 provider, switch the default instance type to t1.micro16:44
=== deryck[lunch] is now known as deryck
_mup_ensemble/relation-get-bythespec r173 committed by bcsaller@gmail.com16:49
_mup_spelling of exception message16:49
kapilon natty though some of the formulas look like they need fixing16:50
bcsallerkapil: in what way? I'm curious what wasn't version generic16:52
kapilniemeyer, on debug hook one problem i noted is that we can't easily set debug for install or service hooks, because we validate the unit name.. so we don't have much to get the debug setup before the hook executes, it probably should wait on the unit's existence with a few minutes for a timeout.16:54
kapilbcsaller, not sure exactly.. i should try it in the debugger, the wordpress side didn't get a second db-relation-changed fired for the mysql modify was all i noticed. 16:55
niemeyerkapil: Hmm.. how do we validate the name atm?16:57
kapilniemeyer, we verify a the unit's service and unit name, so we can dereference to a machine16:58
niemeyerkapil: Hmm16:58
niemeyerkapil: But how do we debug a unit before we know its name?16:58
_mup_Bug #741890 was filed: Better support for debugging install/start hooks <Ensemble:New> < https://launchpad.net/bugs/741890 >16:58
niemeyerkapil: Or do I misunderstand what you mean?16:59
kapilniemeyer, no.. i think you've got the underlying question here16:59
kapilniemeyer, previously we had relatively determinstic ordering, with global ordering, its not predictable per se... well it is predictable but not nesc. obvious.17:00
kapiler. global sequence on unit names17:00
niemeyerkapil: I see17:00
kapilso you do ensemble debug-hooks mysql/0  and ensemble deploy mysql17:00
niemeyerkapil: But then, even if we were able to predict the unit name, it feels like a bad approach in general17:01
niemeyerkapil: Like winning a typing race :)17:01
kapilniemeyer, we can predict with fair certainty the next name of the unit internal to the api.17:01
kapilso perhaps mysql/next 17:01
niemeyerkapil: It feels like a much better approach would be to do that at deploy time17:01
niemeyerkapil: ensemble deploy --debug-hooks ...17:01
kapilas a unit name denoting debug the next unit of this service17:02
niemeyerand then hook up17:02
niemeyer"hook up" is an ideal term in that case, I guess ;-)17:02
kapilniemeyer, hmm so deploy would drop into a debug shell after waiting for the machine startup?17:02
kapilthat sounds pretty nice17:02
niemeyerkapil: No, it would only set a flag there17:03
niemeyerkapil: We don't want to be copying everything over from debug-hooks I think17:03
kapilniemeyer, i was just thinking calling out to some refactor in debug-hooks17:03
niemeyerkapil: It'd put the unit in debug mode, and then we can run ensemble debug-hooks after the fact at our leisure17:03
kapilwell currently debug-hooks is ephemeral..17:03
niemeyerkapil: Hmmm.. can we still an ephemeral node? :-)17:04
niemeyersteal17:04
kapilsort of17:04
kapilwe can steal the session id if we save it...17:04
niemeyerHmm.. that's full of edge cases IIRC17:04
kapiland the time between the commands is less than session timeout17:04
kapilniemeyer, yeah.. can of worms17:05
niemeyer(from my gozk playing)17:05
kapilmuch easier to call into a refactored debug-hooks from deploy17:05
kapilhmmm17:06
kapilalthough its gets a little messy when deploy could mean a whole suite of services and units... we should only debugthe top level one.. but then we start getting formula that specify min units >1 and get ambigious.17:07
niemeyerYeah17:09
kapilniemeyer, the only alternative i can come up with is symbolic naming for units denoting a  temporal/state marker.. like mysql/next17:11
kapilthat could be consumed by debug-hooks17:11
kapilbut combining them sounds nice17:11
niemeyerkapil: Hmmm!17:12
niemeyerkapil: There may be an alternative17:12
niemeyerkapil: We might make the node non-ephemeral in that specific case17:12
kapilhmmm...17:13
niemeyerkapil: So debug-hooks borrows ownership from it, and explicitly kills it when exiting17:13
kapilniemeyer, perhaps.. i'm a little reluctant to give up the ephemeral safety blanket. that sort of change would work though. doesn't really get away from the ambiguity of doing it directly in deploy17:14
kapilif we're going to set it in deploy, its not clear what we gain by not dropping the user directly into the debug shell they just requested when its ready17:15
niemeyerkapil: Well, we're giving up on it purposefully.. the problem is precisely that we don't want to node to be removed when deploy exits17:15
niemeyerkapil: and I don't see how there's any ambiguity in that case17:15
kapilits a future ambiguity we can address latter.. but ignoring that for the moment, why not just drop them straight from deploy into the debug shell if they requested it.17:16
niemeyerkapil: Because it's ambiguous would be one reason, but otherwise I can't think of any great reason not to either.17:17
kapilniemeyer, i think i prefer that.. beyond the peristent debug node, we have to change debug-hooks to reconcile against existing state any new cli arguments17:18
kapilhmm.. as a result of the perisstent17:19
niemeyerkapil: Sounds good.  Just for curiosity sake, what do you mean regarding reconcile?17:20
kapilniemeyer, the debug-hooks cli takes unit name hook-match-filter.. if the --debug-hooks  flag on deploy leaves a persistent node, then we have to reconcile current args vs. stored state.17:21
niemeyerkapil: I see, ok17:21
kapilprobably just not accepting args in that case.. or just erroring out.. its syntax.. but its consistency too ;-)17:22
jimbakeris something like this legal? relation-set port= 17:23
niemeyerjimbaker: I have vague memories of defining that this would internally remove the variable17:25
kapiljimbaker, i think so17:26
niemeyerjimbaker: Either way, yeah, it sholud17:26
kapilit won't kill the variable just an empty value for it17:26
kapili think we ended up loosing a good way to unset values atm17:26
niemeyerkapil: This should probably remove the variable, at least as far as those command line tools are concerned17:27
kapilthere's a dictionary merge syntax on the hook context, but the api doesn't expose it17:27
niemeyerkapil: Since "relation-get port" with it empty or unset is effectively equivalent17:27
kapilniemeyer, what about  a magic unset variable?17:27
jimbakeragreed on removing the variable, since that's the sh convention17:27
niemeyerkapil: What about it? 8)17:27
kapileither works.. i'm just wondering if there are cases where an empty but existant value is valid17:28
kapilfair enough its simpler to do for now17:28
_mup_Bug #741917 was filed: relation set with an empty value should delete the key from unit relation settings <Ensemble:New> < https://launchpad.net/bugs/741917 >17:30
_mup_ensemble/environment-config--selected-ami r181 committed by kapil.thangavelu@canonical.com17:33
_mup_remove some debugging in ensemble-make-image17:33
_mup_ensemble/relation-set-empty-deletes r178 committed by kapil.thangavelu@canonical.com17:41
_mup_relation-set with empty value deletes from the unit's relation settings.17:41
kapilniemeyer, jimbaker, bcsaller standup?18:09
bcsallersure18:09
niemeyerYeah, let's do it18:09
jimbakersure18:10
niemeyerI'm up18:11
SpamapSsorry, in an interview18:12
niemeyerbcsaller: self.create_hook("relation-get", "--format=json")18:22
_mup_ensemble/relation-get-bythespec r174 committed by bcsaller@gmail.com18:47
_mup_no args to invoker/create_hook call18:47
bcsallergustavo: pushed those changes18:52
niemeyerbcsaller: Thanks!18:52
bcsallerI have to go move the car (calls always run long on Thurs. when the street sweeper comes). 18:53
jimbakergood insight on libvirt during standup - it prompted me to look at its firewall integration19:16
jimbaker(via iptables)19:16
kapilhmm.. it looks like there is already support for deleting if the value set is none, not clear if that's what's done though or if set to an empty string19:46
_mup_ensemble/relation-set-empty-deletes r179 committed by kapil.thangavelu@canonical.com19:48
_mup_add a new hook context state api delete, which sets the value to none for the context flush deletion detection.19:48
_mup_ensemble/relation-set-empty-deletes r180 committed by kapil.thangavelu@canonical.com20:00
_mup_test for the hook cli that set can delete if used with an empty value20:00
_mup_ensemble/relation-set-empty-deletes r181 committed by kapil.thangavelu@canonical.com20:07
_mup_simplify deletions, to just delegate to set_value with None, ensure that their only set for deletion if currently existing.20:07
kapilbcsaller, fwiw re hook testing.. http://bazaar.launchpad.net/~hazmat/ensemble/relation-set-empty-deletes/revision/18020:09
bcsallerkapil: thanks, already pushed a change 20:10
kapilcool20:10
_mup_ensemble/global-unit-name-uniqueness r180 committed by kapil.thangavelu@canonical.com20:21
_mup_setup unit sequence topology key as per hyphenated convention.20:21
_mup_ensemble/expose-services r182 committed by jim.baker@canonical.com20:21
_mup_Edits in response to review20:21
_mup_ensemble/trunk r179 committed by kapil.thangavelu@canonical.com20:28
_mup_merge global-unit-name-uniqueness [r=niemeyer][f=731691]20:28
_mup_Make unit names globally unique, even across incarnations20:28
_mup_of a service with the same name.20:28
_mup_This all tangentially addresses the deploying of units of a20:28
_mup_reincarnated service onto a machine which previously held previously20:28
_mup_held units of it.20:28
kapilniemeyer, i had a question for you regarding https://code.launchpad.net/~hazmat/ensemble/formula-upgrades-spec/+merge/53898 #1120:34
kapilso a service may have multiple relations and the formula not the name for all of them.. mysql for example, might have a dozen dbapp-relations.. 20:35
kapilpointing to different services20:35
kapilrelation-list is designed to iterate over all units.. so relation-list dbapp-relation would list all units20:35
kapili'm just thinking it might make more sense to deal with those relations one by one, via iteration of the relations.20:36
_mup_Bug #742046 was filed: Ensemble should sftp to/from units <Ensemble:New> < https://launchpad.net/bugs/742046 >20:37
niemeyerkapil: Hmm20:43
niemeyerkapil: I see.. that's a good point20:43
niemeyerkapil: Not sure about a good interface to refer to these yet20:43
niemeyerkapil: They are name-less ATM20:45
niemeyerand are simply "buckets" of remote units20:46
niemeyerWe need to think about that some more.. we can probably postpone that entirely for the upgrade work, though20:46
_mup_ensemble/expose-services r183 committed by jim.baker@canonical.com20:46
_mup_Moved sections, plus edits20:46
kapilniemeyer, sounds good re postponing relation inspection for upgrade20:48
_mup_ensemble/expose-services r184 committed by jim.baker@canonical.com20:59
_mup_Spell checked20:59
* niemeyer => nap!21:08
=== niemeyer is now known as niemeyer_away
_mup_ensemble/formula-upgrades-spec r180 committed by kapil.thangavelu@canonical.com21:42
_mup_merge trunk21:42
_mup_ensemble/formula-upgrades-spec r181 committed by kapil.thangavelu@canonical.com21:43
_mup_post conflict resolve against trunk merge, remove empty specifications  directory.21:43
_mup_ensemble/trunk r180 committed by bcsaller@gmail.com22:40
_mup_[merge] Merge relation-get-args branch. [r=niemeyer] [f=719329]22:40
_mup_* relation-get now follows the specification for argument ordering.22:40
_mup_   The documented format is: 22:40
_mup_  22:40
_mup_    relation-get [setting_name] [unitname]22:40
_mup_  22:40
_mup_    '-' may be used for setting_name to indicate ALL relation settings.22:40
_mup_    unitname may be ommited and now defaults to the remote unit of the relationship.22:40
_mup_* many cleanups to the tests and removal of many testing hook files from the tree22:40
kapilbcsaller, can you get multiple setting names in one line with that? or is it intended to just get all of them if  multiple are wanted?22:55
bcsallerkapil: sorry missed that. I think currently its a case of getting them all 23:33

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