#ubuntu-ensemble 2011-03-28
<kapil> g'morning
<_mup_> ensemble/new-hook-semantics-departed r181 committed by jim.baker@canonical.com
<_mup_> Add -departed hook
<kapil> bcsaller, jimbaker standup?
<bcsaller> is there something we need to cover today? I'm finishing up stuff I didn't get to this weekend 
<kapil> bcsaller, nothing in particular.. i was just wanted to touch base and where we are on our tasks from last week, and what we're working on this week
<bcsaller> almost done with this darn spec, but we can do a quick call to cover it 
<kapil> bcsaller, great
<kapil> jimbaker, skype?
<jimbaker> kapil,  sounds good re skype
<kapil> jimbaker, just see your cell phone on skype
<jimbaker> kapil, that's probably because i'm not logged in :)
<jimbaker> hold on, super noisy here - i'm at coffee shop while car is being worked on
<jimbaker> kapil, i see bcsaller on skype but not yet you. split brain?
<kapil> jimbaker, cloud :-)
<kapil> jimbaker, not seeing you on skype
<kapil> jimbaker, or it fails constantly
<kapil> jimbaker, you should just be able to just modify unit relation lifecycle _execute change hook
<kapil> and switch the hook path based on change
<jimbaker> kapil, back now
<kapil> jimbaker, did you see my comments above about _execute_change_hook?
<jimbaker> kapil, yes
<kapil> cool, afaics that should be all that needs modification to support additional separate hooks for change, depart, join
<jimbaker> that's actually where i made the change
<jimbaker> so maybe i'm overanlyzing here then... i just want to ensure that niemeyer's plan of having the existing semantics co-exist with the new semantics can work
<kapil> a change there should do that
<kapil> and ditching the removal of the CHANGE env var
<kapil> also within that method could be done the expansion of join to include modify
<jimbaker> kapil, agreed on that
<jimbaker> so basically we can simply execute an arbitrary number of hook executions (seen with yield self._executor(...))
<jimbaker> although in this case, arbitrary means up to two
<kapil> jimbaker, generically.. yes. specifically we want two
<kapil> jimbaker, sounds good
<jimbaker> kapil, sounds good. i was getting worried this was getting too complicated. and i didn't want to change more unit tests than necessary for all the obvious reasons
<jimbaker> thanks
<kapil> jimbaker, np
<kapil> i'm going to meander and see i can find some lunch
<kapil> bbiab
<kapil> hmm.. looks like nova is almost done adding lxc support
<_mup_> ensemble/new-hook-semantics-departed r182 committed by jim.baker@canonical.com
<_mup_> Keep existing semantics for departed; make it possible to invoke multiple hooks for one change
<_mup_> ensemble/new-hook-semantics-remove-ensemble-change-env-var r186 committed by jim.baker@canonical.com
<_mup_> Modified examples for new hook semantics
#ubuntu-ensemble 2011-03-29
<_mup_> ensemble/new-hook-semantics-remove-ensemble-change-env-var r187 committed by jim.baker@canonical.com
<_mup_> Converted example to use revised relation-get
<_mup_> ensemble/new-hook-semantics-remove-ensemble-change-env-var r188 committed by jim.baker@canonical.com
<_mup_> Added new empty hooks for examples
<_mup_> Bug #744723 was filed: Introduce a -relation-joined hook <Ensemble:New> < https://launchpad.net/bugs/744723 >
<_mup_> Bug #744724 was filed: Stop running the <name>-relation-changed hook on the *departed* event <Ensemble:In Progress by jimbaker> < https://launchpad.net/bugs/744724 >
<jimbaker> well, that's annoying - i was trying to remember how to select the parent branch for a set of linked branches, and i got it wrong in launchpad
<jimbaker> changing it only gets me this right now: Oops!
<jimbaker> Sorry, something just went wrong in Launchpad.
<jimbaker> Weâve recorded what happened, and weâll fix it as soon as possible. Apologies for the inconvenience. 
<jimbaker> anyway, i suspect there's just one fix - recreate all of these branches and try again. tomorrow
<SpamapS> Hey so are you guys done mucking with the formula hooks? I want to update principia to "the new way" and then update the PPA.
<jimbaker> SpamapS, i just finished implementation work on the new hook semantics
<jimbaker> but i made the mistake of trying to do the merge proposals in launchpad relatively late at night
<jimbaker> so need to re-do
<SpamapS> dopamine fail
<jimbaker> drinking green tea is very good today
<_mup_> ensemble/new-hook-semantics-1-departed-hook r181 committed by jim.baker@canonical.com
<_mup_> Add support for multiple hooks per change, with specific support for departed hook
<_mup_> ensemble/new-hook-semantics-2-joined-hook r182 committed by jim.baker@canonical.com
<_mup_> Add support for <name>-relation-joined hook
<_mup_> ensemble/new-hook-semantics-3-remove-change-hook r183 committed by jim.baker@canonical.com
<_mup_> Remove calling of <name>-relation-changed upon departed event
<_mup_> ensemble/new-hook-semantics-4-remove-env-var r184 committed by jim.baker@canonical.com
<_mup_> Removed setting of ENSEMBLE_CHANGE; this includes corresponding changes in the example formulas
 * kapil yawns
<_mup_> ensemble/new-hook-semantics-4-remove-env-var r185 committed by jim.baker@canonical.com
<_mup_> Added missing departed and joined hooks for example formulas
<_mup_> ensemble/environment-config--selected-ami r182 committed by kapil.thangavelu@canonical.com
<_mup_> add a test to verify default image id and instance type
<_mup_> ensemble/new-hook-semantics-4-remove-env-var r186 committed by jim.baker@canonical.com
<_mup_> Added shebang to empty departed, joined hooks
<_mup_> ensemble/environment-config--selected-ami r183 committed by kapil.thangavelu@canonical.com
<_mup_> fix up provider documentation per review comments
<jimbaker> SpamapS, please take a look at lp:~jimbaker/ensemble/new-hook-semantics-4-remove-env-var, you can see the impact there of the new hook semantics, including removing ENSEMBLE_CHANGE
<_mup_> ensemble/trunk r181 committed by kapil.thangavelu@canonical.com
<_mup_> merge environment-config-selected-ami [r=niemeyer][f=737687]
<_mup_> Changes the default instance type to t1.micro, allow the EC2 AMI
<_mup_> to be configured via environments.yaml, add documentation of all
<_mup_> EC2 provider configuration options.
<jimbaker> kapil, that's a welcome change, good to see it in trunk now
<SpamapS> yeah I've been defaulted to t1.micro for a while. :)
<jimbaker> the need to add the shebang reminded me of this campy serial about shazam! - http://www.youtube.com/watch?v=7KfFx_UZ5ZU
<_mup_> ensemble/trunk r182 committed by kapil.thangavelu@canonical.com
<_mup_> merge relation-set-empty-deletes [r=niemeyer][f=741917]
<_mup_> Relation hooks can now utilize relation-set to delete values
<_mup_> from their relation settings by setting the key to an empty value.
<_mup_> ensemble/formula-upgrade r180 committed by kapil.thangavelu@canonical.com
<_mup_> merge trunk
<_mup_> ensemble/formula-upgrades-spec r182 committed by kapil.thangavelu@canonical.com
<_mup_> merge trunk
<kapil> jimbaker, SpamapS its also possible to reuse a machine now if you have a service with the same name
<kapil> jimbaker, just looking over your branches.. it wasn't clear why on depart its executing relation-change and then relation-depart?
<jimbaker> kapil, just following the procedure that niemeyer wanted - add -relation-depart, then remove -relation-changed
<jimbaker> i think the idea is that it enhances the visibility of what changes are occurring for these new hook semantics
<jimbaker> personally, i would have just one made branch for all of this work
<kapil> jimbaker, cool
<jimbaker> kapil, bcsaller - standup?
<kapil> jimbaker, sounds good
<kapil> jimbaker, don't see you on skype?
<jimbaker> kapil, i see you on skype, crazy assymmetry
<_mup_> ensemble/config-pipeline r179 committed by bcsaller@gmail.com
<_mup_> changes to config-spec, reworked document ordering
<jimbaker> bcsaller, i was just looking at your doc on config settings. one thing you should probably do is merge trunk because niemeyer changed the section layout
<jimbaker> (in particular the specifications dir is now gone)
<kapil> bounce, bounce
<jimbaker> kapil, is the opposite of yawning?
<jimbaker> is this the
<kapil> jimbaker, perhaps
<kapil> its an appropriate phrase for many situations approximating the opposite of yawning, but tis also appropriate in situations of yawning as an exit strategem
<bcsaller> jimbaker: trying to fix this merge now, I'll repush
<jimbaker> bcsaller, sounds good. i have some  editing suggestions that i'm putting together
<bcsaller> jimbaker: thanks
<kapil> jimbaker, per machine security groups are limited in number.
#ubuntu-ensemble 2011-03-30
<_mup_> ensemble/config-pipeline r180 committed by bcsaller@gmail.com
<_mup_> merge trunk
<_mup_> ensemble/rename-amp r181 committed by bcsaller@gmail.com
<_mup_> renaming of hook::get/set to hook::relation_get/relation_set in anticipation of config_get
#ubuntu-ensemble 2011-03-31
<_mup_> ensemble/config-state-manager r182 committed by bcsaller@gmail.com
<_mup_> initial pass at service.config_get/set
<_mup_> ensemble/config-state-manager r183 committed by bcsaller@gmail.com
<_mup_> basic config_get/set passing tests
<_mup_> Bug #746688 was filed: hook commands should be renamed from generic get/set to relation_get/set <Ensemble:New> < https://launchpad.net/bugs/746688 >
<_mup_> Bug #746695 was filed: service state should handle config settings <configuration> <Ensemble:In Progress by bcsaller> < https://launchpad.net/bugs/746695 >
#ubuntu-ensemble 2011-04-01
<_mup_> ensemble/formula-upgrades-spec r183 committed by kapil.thangavelu@canonical.com
<_mup_> address review comments, add note regarding unit state carrying references to the current deployed formula.
<_mup_> ensemble/formula-upgrades-spec r184 committed by kapil.thangavelu@canonical.com
<_mup_> address bcsaller's review comments, additional formula spec link and remove extraneous relation-list reference
<bcsaller> thanks
<_mup_> ensemble/optional-hooks r183 committed by kapil.thangavelu@canonical.com
<_mup_> allow for hooks to be specified optionally.
<hazmat> bcsaller, np.. sorry i've been hit or miss on internet this week, currently working out of a library
<hazmat> bcsaller, was there anything you wanted to discuss re standup?
<bcsaller> ouch
<hazmat> bcsaller, mostly been using my android hotspot functionality for basic access
<bcsaller> no, I pushed some small branches for review, but don't have final signoff on the sspec
<bcsaller> still the work moves forward
<hazmat> bcsaller, cool, just finished looking over jimbaker's spec, i'll try and get to yours latter today.. i'm feeling a bit behind on the formula upgrade stuff, but hopefully a productive afternoon awaits :-).. 
<hazmat> okay.. off to lunch.. ttyl
<bcsaller> enjoy
<_mup_> ensemble/config-get r184 committed by bcsaller@gmail.com
<_mup_> Implement config_get for use in hooks
<_mup_> Test that the communication between the client and server side
<_mup_>  of the protocol is marshalling data as expected.
<hazmat> bcsaller, isn't the plural of formula ..  formulas ?
<hazmat> not important.. just reading through
<bcsaller> what did I say?
<bcsaller> formulas or formulae
<hazmat> formula
<hazmat> bcsaller, it just says formula
<hazmat> but it looks like its contextually trying to refer to a plural
<hazmat> bcsaller, so there's no typing information in config.yaml?
<bcsaller> gustavo said that was still to be debated, he has some other ideas there but didn't tell me what
<bcsaller> I think its a game we can't win as the values are more about semantics than type
<hazmat> we have two different audiences setting and consuming values, typing would allow for them both to interop on expectations w/ validation
<hazmat> else, someone sets a port to an empty string, where the formula expects an integer value.
<hazmat> or additional context information like description on a option, to allow better understanding of what it controls
<bcsaller> I'm not opposed to more human readable data, I think thats going to be needed. I just don't think there is a ton we can do if someone sets an apache.conf snippet they want injected or something. Saying "string" isn't all that helpful. 
<bcsaller> If everyone wants type validation though its fine with me, I just think its of less value
<bcsaller> we don't really have a notion of required, and we don't know that name/password both need to be set
<bcsaller> for the change to be good
<bcsaller> a human readable desc. would help, but trying to cover those cases, I'm not sure
<bcsaller> if we can fine a nice 80% rule though
<hazmat> sounds good,  expanding from a list of names, to a list of dictionary allows typing, description, and sane defaults
<hazmat> rather than formulas trying to cope with missing values and embedding defaults inline.
<bcsaller> well, its still defaults in the formula, config.yaml is part of it
<hazmat> looks good though, most of my review comments are on improving readability.. i'm going to switch locations and post
#ubuntu-ensemble 2011-04-02
<bcsaller> cool
<hazmat> bbiab
<_mup_> Bug #747914 was filed: Allow hooks to be optionally implemented <Ensemble:In Progress by hazmat> < https://launchpad.net/bugs/747914 >
<_mup_> ensemble/unit-state-with-formula r181 committed by kapil.thangavelu@canonical.com
<_mup_> api for get/set formula id on units
<_mup_> ensemble/unit-state-with-formula r182 committed by kapil.thangavelu@canonical.com
<_mup_> use some basic validation of formula id
<_mup_> Bug #748312 was filed: upgrade: units with formula id references <Ensemble:New> < https://launchpad.net/bugs/748312 >
<_mup_> ensemble/unit-state-with-formula r183 committed by kapil.thangavelu@canonical.com
<_mup_> machine agent uses unit state formula id instead of service formula id when deploying.
<_mup_> ensemble/optional-hooks r184 committed by kapil.thangavelu@canonical.com
<_mup_> remove try/except hacks around tests, address underlying issue of hook execution during teardown
<_mup_> ensemble/optional-hooks r185 committed by kapil.thangavelu@canonical.com
<_mup_> remove stray import
<_mup_> ensemble/formula-upgrade-cli r184 committed by kapil.thangavelu@canonical.com
<_mup_> formula upgrade subcommand
<_mup_> ensemble/config-get r185 committed by bcsaller@gmail.com
<_mup_> config get skeleton
#ubuntu-ensemble 2011-04-03
<_mup_> ensemble/unit-state-with-formula r184 committed by kapil.thangavelu@canonical.com
<_mup_> move the parse formula metadata up the pipeline stack.
<_mup_> ensemble/formula-upgrade-cli r185 committed by kapil.thangavelu@canonical.com
<_mup_> resolve conflicts from extraction of parse formula id up the pipeline.
<_mup_> ensemble/unit-state-with-formula r185 committed by kapil.thangavelu@canonical.com
<_mup_> per the formula spec the revision specifier is separate by a - not a :
<_mup_> ensemble/unit-state-with-formula r186 committed by kapil.thangavelu@canonical.com
<_mup_> add a set_formula_id to a service state, update to utilize parse formula id for id validation.
<_mup_> ensemble/service-unit-state-upgrade-support r187 committed by kapil.thangavelu@canonical.com
<_mup_> unit state api for upgrade flags, get/set/watch
<_mup_> ensemble/unit-state-with-formula r187 committed by kapil.thangavelu@canonical.com
<_mup_> set formula id fixes from state api work.
<_mup_> ensemble/config-pipeline r181 committed by bcsaller@gmail.com
<_mup_> updates to config spec based on Kapil's review
