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

niemeyerStarting to fade00:01
niemeyerI think signatures are fully working00:04
_mup_ensemble/unit-agent-resolved-part-two r269 committed by kapil.thangavelu@canonical.com00:17
_mup_unit agent resolving units.00:17
_mup_ensemble/unit-agent-resolved-part-two r270 committed by kapil.thangavelu@canonical.com00:57
_mup_fix a typo in the stop transition action00:57
_mup_ensemble/unit-agent-resolved-part-two r271 committed by kapil.thangavelu@canonical.com01:08
_mup_round out unit agent resolved test cases.01:08
_mup_Bug #776014 was filed: unit agent needs support for resolving units <Ensemble:In Progress by hazmat> < https://launchpad.net/bugs/776014 >01:11
hazmatokay.. that's the last branch of the resolved work.01:14
* hazmat calls it a night01:14
_mup_ensemble/config-set r209 committed by bcsaller@gmail.com03:20
_mup_wip to show kapil03:20
_mup_ensemble/config-set r210 committed by bcsaller@gmail.com03:29
_mup_fix typo03:29
hazmatbcsaller, this is what i was thinking of for the test api https://pastebin.canonical.com/47020/03:58
bcsallerthat looks like a good start04:00
_mup_ensemble/expose-provisioning r233 committed by jim.baker@canonical.com05:44
_mup_More work on testing cleanup and handling scenarios occurring at that time05:44
_mup_ensemble/expose-provisioning r234 committed by jim.baker@canonical.com06:15
_mup_Refactored callbacks06:15
_mup_ensemble/expose-provisioning r235 committed by jim.baker@canonical.com06:15
_mup_Refactored callbacks06:15
_mup_ensemble/config-state-manager r208 committed by bcsaller@gmail.com06:57
_mup_reapply expose stuff, shouldn't be here, but this fixes the issue06:57
_mup_ensemble/expose-provisioning r236 committed by jim.baker@canonical.com06:59
_mup_Properly expose services if provisioning agent restarts06:59
kim0Morning everyone08:58
=== TeTeT_ is now known as TeTeT
_mup_ensemble/config-get r209 committed by bcsaller@gmail.com09:54
_mup_still dealing with bad merge from before, forward prop changes09:54
_mup_ensemble/config-set r212 committed by bcsaller@gmail.com10:06
_mup_check point config set10:06
kim0niemeyer: Morning o/ 13:57
hazmatg'morning folks14:02
hazmatniemeyer, i think that's the last branch for resolved in review14:03
kim0hmm why is it that my merges to other projects like https://code.launchpad.net/~ubuntu-branches/ubuntu/natty/logrotate/natty14:11
kim0appear with my name on them, while to ensemble, the reviwers name is put instead14:11
kim0not that I care much, but new members will probably be too excited seeing their own name besides their formulas and stuff14:12
hazmatkim0, did you commit the merge on the other projects?14:19
kim0hazmat: no I don't have upload rights14:19
kim0I think Daviey did for logrotate14:19
hazmatkim0, we have this commit message notation syntax for when doing merges on behalf of other users [a=kim0]... does seem a little strange14:20
hazmatthat bzr would pull the commit as a merge in one case.. and pull the underlying commits in the otehr14:21
kim0yeah :/14:21
hazmatkim0, it looks like that was actually committed by a daemon, the committer and author metadata at the bzr level is different14:21
hazmatah.. ic.. you can pass --author to bzr commit14:22
hazmatyeah.. we should start using that14:22
kim0hazmat: so that is something you guys would need to do, not the person creating the branch right14:23
hazmatkim0, yup.. in the case of that logrotate branch it looks like some automated process kicked in and did the merge after review14:23
kim0cool .. @everyone please do that then while merging :)14:24
kim0thanks hehe14:24
kim0Another thingie, I'm starting a new little doc on writing and contributing an Ensemble formula14:25
kim0for that, I need a simplistic "hello world" style formula14:25
kim0any suggestions ?14:26
kim0I think someone mentioned there could be some user formula for adding/deleting users .. that sounds simply enough, but not sure how it'd work14:26
kim0maybe a motd formula!14:27
hazmatkim0, that's machine config, not service deployment.14:27
kim0well yeah I understand .. mm14:28
hazmatkim0, i agree its something we should have some facilities for, machine level policies14:30
kim0I mean it can be done today right ?!14:30
kim0it's just that we don't want to huh14:30
kim0so if an admin wants to create users (or change motd) .. do we say ensemble is not for that 14:31
niemeyerhazmat, kim0: Good morning!14:34
niemeyerhazmat: That's awesome14:34
niemeyerhazmat: I'll have a full pass today14:34
hazmatniemeyer, great14:34
niemeyerAuth actually works, btw!14:35
hazmatniemeyer, i'm thinking i should do some work with ben on the service-config.. else i can dig back into the debug-hook stuff14:35
niemeyerhazmat: http://pastebin.ubuntu.com/602773/14:35
niemeyerhazmat: Sounds good, it feels like he'd benefit from a hand on the hooks part14:35
hazmatniemeyer, cool14:36
hazmatre auth14:36
niemeyerhazmat: Yeah, it turned out pretty neat.  This enables us to authenticate people in the repo14:37
niemeyerhazmat: Sending them back and forth to Launchpad for authentication14:38
hazmatkim0, they can add users as part of managing a service14:38
hazmatkim0, for example someone doing a heroku clone, might deploy a service formula per user, and the individual units could create a new user representing that customer on a machine for launching the appserver...14:38
kim0Yeah, got it .. so what's a good hello-world formula, that hopefully doesn't involve complex config files ..etc14:39
hazmatkim0, one that prints 'hello world'.. really though if you want to just have it add a user its fine.. just overkill14:43
hazmatkim0, i'd probably do one that uses a packaged service.. like take nginx or apache as an example.. as it provides enough functionality to grow the formula over multiple tutorial parts. 14:43
_mup_Bug #776426 was filed: Add debug hook cli flag for deploy and and add-unit. <Ensemble:New> < https://launchpad.net/bugs/776426 >15:26
jimbakeri should be available when there, but just in case i'm silent: i need to take my toyota to the dealer15:53
=== niemeyer is now known as niemeyer_lunch
hazmatbcsaller, just sent you an email regarding the remaining stuff i could think of for service-config.. give me a ping when you've got a moment16:50
hazmatbzr cli parsing does seem a bit nicer than argparse16:50
jimbakerhazmat, i think subcommand support was never really completed in argparse. and that's where the comparison w/ bzr is pretty obvious16:56
hazmatjimbaker, subcommands are fine, its the help/output formatting usage and customization that's atrocious imo16:57
jimbakerhazmat, but that is part of what it should be - good help for subcommands16:57
jimbakermakes sense that in combining functionality - help + subcommands, for example - would should the most gaps in something like argparse16:59
=== niemeyer_lunch is now known as niemeyer
bcsallerhazmat: I realized last night that some of the files on that branch were not commited. Hopefully you were able to pull them when you had a look this morning?17:49
hazmatbcsaller, i had a look and setup a pipeline, but there where a lot of conflicts with trunk17:50
hazmatbcsaller, any chance you could resolve those and push an updated version? i'd like to use a clean branch point to start with17:50
bcsallerI can try to remerge trunk in the last phase of the pipeline, sure. I didn't realize17:51
bcsallerthere is no conceptual conflict so it doesn't make sense 17:51
koolhead17hi all17:53
hazmatbcsaller, i've found typically its better to merge at the start of the pipeline (i use a trunk-merge pipe) and then pump the changes through17:54
bcsalleryes, but the start of my pipeline was already merged 17:54
bcsallerI don't know if thats the source of the issues 17:54
hazmatbcsaller, you can add a secondary merge-trunk pipeline after that17:54
bcsallerahh17:54
bcsallerI'm happy to try that 17:55
hazmatbcsaller, out of curiosity what's the name of the hook (for config-changed)?17:58
bcsallerconfig-changed17:58
bcsallerlater part of the spec has it17:59
hazmatbcsaller, cool, i'm starting off with a fresh trunk branch for the moment18:00
hazmatbcsaller, what's that assessment of parts that are ready or almost ready accurate?18:00
hazmats/was that18:00
bcsallerminus any of the merge issues they are fine, I'll try merging trunk again and seeing if it breaks things or not18:01
_mup_ensemble/service-config-unit-lifecycle r215 committed by kapil.thangavelu@canonical.com18:09
_mup_unit lifecycle.configure method for processing service configuration changes.18:09
_mup_ensemble/expose-provisioning r237 committed by jim.baker@canonical.com18:12
_mup_Comments and method rename to indicate (somewhat more) private api18:12
hazmati'm not entirely clear what the error handling looks like for configure errors should look like.18:17
hazmatbcsaller, any thoughts on what that behavior should be?18:18
_mup_ensemble/expose-provisioning r238 committed by jim.baker@canonical.com18:18
_mup_Removed eventual consistency support for incorporation into a later branch18:18
bcsallerlet me see if I covered that in the spec, one sec18:18
bcsaller" Errors in the config-changed hook force ensemble to18:19
bcsallerassume the service is no longer properly configured. If the service is18:19
bcsallernot already in a stopped state it will be stopped and taken out of18:19
bcsallerservice"18:19
hazmatstopped and taken out of service are slightly different, but easy enough.. it will mean missed hook executions though for relations, if its brought back online18:20
_mup_ensemble/expose-provisioning r239 committed by jim.baker@canonical.com18:28
_mup_Test comments18:28
_mup_ensemble/config-get r210 committed by bcsaller@gmail.com18:34
_mup_better merge resolution, less juggling18:34
jimbakerthis branch is finally getting into a good state for review. i am relieved18:36
jimbakerjust need a few more tests...18:36
_mup_ensemble/service-config-unit-lifecycle r216 committed by kapil.thangavelu@canonical.com18:36
_mup_unit workflow support for service configuration18:36
_mup_ensemble/config-set r213 committed by bcsaller@gmail.com18:38
_mup_Better ptests in Makefile, sensitive to new files properly18:38
_mup_Bug #776596 was filed: unit workflow and lifecycle must support service configuration <Ensemble:New for hazmat> < https://launchpad.net/bugs/776596 >18:38
hazmatbcsaller, just pushed  the lifecycle/worfklow changes for review based on trunk, i'm going to switch tracks back to debug-hook, unless you'd like me to work on the watch_config_changed stuff?18:42
bcsalleryou're fast18:42
bcsallerI'll look it over, but thats very helpful. Work on the debug hook18:43
hazmatbcsaller, practice makes perfect.. there's some work to be done wrt to resolved, but that should probably land first18:43
_mup_Bug #776605 was filed: Hooks need access to service options <Ensemble:New for bcsaller> < https://launchpad.net/bugs/776605 >18:46
* hazmat bangs head against merge19:00
=== marrusl is now known as marrusl_afk
* niemeyer switches to reviewing mode19:29
niemeyer> +class ServiceUnitRelationResolvedAlreadyEnabled(StateError):19:35
niemeyer> +    """The unit has already been marked resolved.19:35
niemeyer> Documentation needs updating.19:35
niemeyerhow so?19:35
niemeyerhazmat: s/unit/relation/19:35
niemeyerhazmat:19:36
niemeyer"""19:36
niemeyerIt is actually making a request for the problem to be solved, not solving the 19:36
niemeyerproblem directly, as there are behavioral aspects to transitions that need be 19:36
niemeyerdone inside of the unit agent.19:36
niemeyer"""19:36
niemeyerhazmat: That's not the case, last we spoke19:36
niemeyerhazmat: resolved means "I have resolved the problem." (hence the 'd')19:37
niemeyerhazmat: The problem as in "the reason why this hook failed"19:37
niemeyer_Argh..19:39
niemeyer_What was the last message I sent?19:39
=== niemeyer_ is now known as niemeyer
hazmatniemeyer, failed."19:46
niemeyerhazmat: Ok, so it did went through, thanks19:46
niemeyerhazmat: I ended up just providing better organized comments in the merge proposal19:46
niemeyerhazmat: So feel free to ignore the IRC stuff19:46
hazmatniemeyer, resolved is a request to make something happen.. 19:46
niemeyerhazmat: Yes, to allow the relation/unit to go ahead19:47
hazmatits marking the unit as resolved, but the actual resolution happens on the agent19:47
niemeyerhazmat: It's a statement made by the user that the problem has been resolved19:47
niemeyerhazmat: No..19:47
niemeyerhazmat: The resolution has already happened19:47
niemeyerhazmat: We're simply telling the agent "go on"19:47
hazmatniemeyer, it hasn't till the agent processes the resolved request19:47
niemeyerhazmat: I hope one day we can make agents which resolve problems, though ;-)19:47
niemeyerhazmat: It has happened19:48
niemeyerhazmat: That's why the command is "resolved" and not "resolve"19:48
hazmatniemeyer, the request has been made, but not acted upon19:48
niemeyerhazmat: The request to go on, yes19:48
hazmatyes19:48
niemeyerhazmat: Not the request to resolve the problem which caused the script/hook to fail19:48
hazmatbut till its processed by the agent, the goal is not accomplished.19:48
niemeyerhazmat: I'm banging on that because that's the idea we have to provide to users19:49
niemeyerhazmat: Agreed.. it's just terminology19:49
niemeyerhazmat: The goal of letting the agent continue normal operation19:49
niemeyerhazmat: Not the goal of resolving the problem.. that one must have been done already19:49
niemeyerhazmat: (out of band)19:50
hazmatright19:50
niemeyerIs it just me or Launchpad fonts seem to be a bit less readable lately?19:56
niemeyerSetting the font color to black and increasing them a bit does wonders19:57
* niemeyer <= getting old19:58
_mup_ensemble/expose-provisioning r240 committed by jim.baker@canonical.com19:59
_mup_Tests for watch_service_states19:59
_mup_ensemble/unit-agent-resolved r269 committed by kapil.thangavelu@canonical.com20:02
_mup_update unit tests to use relation workflow accessor on lifecycle.20:02
hazmatniemeyer, the resolved branch is ready for review  (fixed the accessor issue)20:03
niemeyerhazmat: Sweet, thanks20:03
niemeyerY.all("body")20:05
niemeyerEWINDOW20:05
_mup_ensemble/debug-hook-scope-guard r210 committed by kapil.thangavelu@canonical.com20:15
_mup_merge trunk and resolve conflict.20:15
hazmatniemeyer, regarding the relation resolved stuff, i realized that the retry flag argument to the unit relations doesn't have any real meaning, as it just places them back into an operational state, it doesn't rexecute a failed hook.20:20
niemeyerhazmat: Hmmm, good point20:20
niemeyerhazmat: Although, shouldn't it reexecute?20:21
hazmatniemeyer, it doesn't at the moment, we don't save enough contextual information regarding the hook to do so, nor do we have a means to populate it artificailly in the context.. we could if we want to enable it but i think  its probably future work for such.. for now i'd just raise an error if a unit rel with retry specified20:22
niemeyerhazmat: Sounds good20:23
hazmatniemeyer, also regarding the debug-hook stuff, i've looked it and looked over the review, i tried out the screen user multiplexing but it would require suid, the sudo implementation works well20:23
hazmatniemeyer, not sure that there's anything else to do for it.. 20:24
hazmatniemeyer, https://code.launchpad.net/~hazmat/ensemble/debug-hook-scope-guard/+merge/5443320:24
hazmatit will be nice to incorporate that functionality into other subcommands (deploy, add-unit, resolved --retry) with a --debug-hook option, also makes debugging install/start much easier.20:26
niemeyerhazmat: I'll check it out20:28
niemeyerbcsaller: I'm wondering a bit about the caching behavior of that get_config() method20:32
niemeyerbcsaller: Is this really what we want to do?20:32
niemeyerbcsaller: It means get_config() never updates the state read20:32
niemeyerbcsaller: I wonder if we should simply return a new YAMLState on every get_config()20:32
niemeyerbcsaller: How would that affect existing code?20:32
niemeyerhazmat: ^ You may have some input on this as well?20:33
bcsallerthat was to provide a consistent view throughout hook execution20:33
niemeyerbcsaller: The consistent view is more than throughout hook execution.. it never updates20:33
niemeyerbcsaller: (remember, this is the ServiceState type)20:33
bcsallerbut the lifetime of the service manager is scoped to the hook, if thats not the case then it should change 20:33
hazmatjust stepping back in20:34
bcsallermy understanding is these managers are created as needed20:34
niemeyerbcsaller: So ServiceState.get_config() effectively returns the configuration of some arbitrary point in the past, when whoever first called it20:34
hazmatso we want it to update, but be cached in the hook context for hook execution20:35
bcsallerif the service manager always returns a new one thats fine, then the hook needs to cache it 20:35
niemeyerbcsaller: Creating a whole new manager to update the state of the config feels a bit like things are reversed20:35
niemeyerhazmat: Yeah, that's what it feels to me too20:35
niemeyerbcsaller: +120:35
niemeyerbcsaller: Otherwise it really becomes random..20:35
hazmatServiceState.get_config should do no caching20:35
bcsallersimple change20:35
hazmatcool20:35
niemeyerbcsaller: The hook itself can't know when it was first read20:35
hazmatwe don't have any caching in our state apis20:36
niemeyerbcsaller: Maybe someone else called get_config() for whatever reason, and the "snapshot" becomes ancient even before it should20:36
hazmatminus the hook context20:36
niemeyerbcsaller: Please test that non-caching behavior20:36
* hazmat wonders what to work on20:37
niemeyerbcsaller: +1, besides that20:37
niemeyerhazmat: Oh ho ho.. I has ideas..20:37
niemeyerhazmat: ;-)20:37
hazmatniemeyer, i thought you might, just looking over the milestone bugs atm20:38
niemeyerbcsaller: It feels like this branch is almost getting to a one-liner :-)20:38
hazmatniemeyer, i'm probably going to have some more to do, after the reviews land... but i think i might manage another small task20:38
niemeyerhazmat: Yeah, a small task might require some further thinking20:39
hazmati've got a couple from the top of the milestone, cli beautification and bootstrap/shutdown with environmental awareness20:40
hazmatniemeyer, did you have one in particular in mind?20:40
niemeyerhazmat: Nah.. we already talked about them.. they're too large for this week20:40
niemeyerhazmat: Well.. hmmm20:41
hazmatyeah.. those require some thinking, i could at least tackle it for the simple case20:41
niemeyerhazmat: Here is an idea: implement an auto-dependency-resolution hack.20:41
hazmatand leave the lifecycle.start nested case for  post budapest20:41
hazmatniemeyer, i get to HACK?! :-)20:41
hazmatcool20:41
niemeyerhazmat: Yeah, like, totally simple and dirty20:42
hazmati'll see what i can do there20:42
niemeyerhazmat: Something specific for UDS, which we remove afterwards20:42
hazmatniemeyer, sounds good20:42
_mup_ensemble/config-state-manager r209 committed by bcsaller@gmail.com20:47
_mup_get_config shouldn't cache inside service layer20:47
_mup_ensemble/config-get r212 committed by bcsaller@gmail.com21:14
_mup_added test verify cached copy is returned on get_config in hook21:14
niemeyerHmmm21:18
niemeyerI have to run an errand.. will do that now that there's still sunlight and will be back to reviewing in 1.5h or so.21:19
hazmatniemeyer, cheers21:21
hazmati'm gonna roll out in a few as well for 1.5hr21:21
_mup_ensemble/expose-provisioning r241 committed by jim.baker@canonical.com21:29
_mup_Tests for ServiceState.watch_service_units21:29
hazmathasta luego21:42
niemeyerThat was faster than expected22:02
_mup_ensemble/trunk r215 committed by bcsaller@gmail.com23:19
_mup_Service state changes supporting configuration options [r=niemeyer] [f=746695]23:19
_mup_Introduces get_config to ServiceState returning a YAMLState object.23:19
hazmat  23:23
_mup_ensemble/expose-provisioning r242 committed by jim.baker@canonical.com23:23
_mup_Test get_opened_ports, watch_opened_ports23:23
hazmatbacks23:25
hazmatthis auto dep stuff has one unforseen requirement.. i need to track the deps pairwise to do the relation work23:30

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