/srv/irclogs.ubuntu.com/2013/01/23/#juju-dev.txt

=== slank is now known as slank_away
rogpeppedavecheney: ping07:49
rogpeppemornin' all!07:49
rogpeppewallyworld_: you around?08:19
aramhello.10:18
rogpeppearam, dimitern: hiya10:31
dimiternrogpeppe, aram: morning :)10:32
rogpeppedimitern: openstack tests are broken in trunk BTW, if you don't have OS_TENANT_NAME set10:32
dimiternrogpeppe: hmm10:32
dimiternrogpeppe: that's now or the branch I proposed yesterday?10:32
rogpeppedimitern: currently10:33
rogpeppedimitern: it would also be nice if the goose "required environment variable" error message printed the name of the required environment variable rather than the struct field name...10:34
rogpeppe"required environment variable not set for credentials attribute: TenantName" makes it look as if the required env var is $TenantName10:34
dimiternrogpeppe: tell me about it :) I did it like that originally, but.. anyway I'll take a look10:35
dimiternrogpeppe: fixed https://codereview.appspot.com/7196043 - this is trivial, if you think it's ok, I'll land it now10:51
jammgz: poke10:51
rogpeppedimitern: LGTM. agreed trivial.10:52
dimiternrogpeppe: 10x, submitting then10:52
dimiternrogpeppe: how about looking at my bootstrap branch - https://codereview.appspot.com/7181046/10:55
rogpeppedimitern: will do10:55
mgzjam: hey10:56
jammgz: I had some questions about how to setup tarmac, and thought you might be good to bounce off for feedback.10:56
jamI think I have it up and running, and a small patch to handle some stuff I didn't realize.10:56
jamHowever, what branch do we want it to actually manage?10:56
jam(do we want to add it to ~gophers, and give it write access there, do we want a different team, a branch only accessble by goose-bot, ... ?)10:57
jam(I guess the next direct step is to add support for running juju-core tests before landing trunk code, but I'd like to answer the above first)10:59
mgzhm, the bzr-pqm way is to have the branch owned by the bot10:59
jammgz: right10:59
jamthe major downside is the "manual escape hatch"10:59
mgzbut being able to get around it and commit anyway will probably be useful for now10:59
jamespecially because of wanting to be able to land goose code and juju-core code concurrently10:59
mgzyup.11:00
mgzso, maybe we want a new team that the bot can be a member of to own the goose code11:01
jamI tend to be cautious, so giving it full '~gophers' access seemed a bit much, but it is also a fair amount of bookkeeping just to do goose.11:04
mgzyeah.11:04
dimiternjam: but isn't that like the other go projects? all owned by ~gophers?11:05
jamdimitern: sure, and all of us have the ability to push whatever we want to them. I'm hesitant to allow a bot the same access.11:07
mgzit's easy enough to make ~gophers a member of the group that owns goose trunk, we just don't want the bot to have too much power :)11:08
jamdimitern: it also stems from a group that doesn't have a habit of using a bot to control their trunks, vs the launchpad group using that method for a long time.11:08
dimiternjam: wouldn't it need to merge and push changes?11:08
jamdimitern: goose bot needs to be able to write to goose's trunk11:08
jamI'm not sure that it needs rights to everything else owned by ~gophers11:08
jam(juju-core, goamz, etc, etc.)11:08
dimiternyou don't trust the bot? c'mon :D11:09
dimiternit's a nice guy11:09
jamdimitern: the inverse is actually just as important (to me). I would rather the equivalent of having to run 'sudo' to be able to alter trunk.11:09
jamso that: yes anyone on our team can fix trunk if we need to, but we have to do so very explicitly instead of accidentally11:10
dimiternjam, makes sense - preventing accidental mistakes, provided it doesn't impede normal workflow11:10
rogpeppedimitern: reviewed11:12
jamso mostly I'm trying to find the tasteful point in balancing these desires, adding goose-bot to ~gophers is the most expedient solution, though not one I personally control.11:12
jamas is having the branch owned explicitly by goose-bot11:12
jamI suppose goose-bot the launchpad account could just have us all know the password, and all have our ssh-keys attached to the account.11:13
jammgz: ^^?11:13
jamthat would give us "do X to become the goose-bot superuser"11:13
dimiternrogpeppe: tyvm11:13
jammgz: ah, but the problem ends up that only goose-bot can approve changes to ~goose-bot/ branches. I'll have to look into the review side of things to figure out how to fix that11:14
mgzthat would probably be okay11:14
jammgz: looks like you can set a "reviewers" on a branch11:15
jamwhich I can just make ~gophers11:15
mgzyeah11:15
jamso they can approve branches even though they can't commit directly to it.11:15
mgzjam: poke?11:35
wallyworld_rogpeppe: i am around now, am in a stand up11:35
rogpeppewallyworld_: np, the issue's been fixed now.11:35
wallyworld_ok, sorry i was at soccer training11:36
rogpeppewallyworld_: i only pinged you 'cos you were the only one that showed up on the IRC user list :-)11:58
wallyworld_ah ok11:58
wallyworld_i didn't log out at my EOD11:58
rogpeppea couple of CLs if anyone wants. the first one is pretty trivial, the second a bit bigger: https://codereview.appspot.com/7197043/ https://codereview.appspot.com/7133063/11:59
dimiternrogpeppe: I'm on the first one11:59
rogpeppedimitern: thanks11:59
=== jtv1 is now known as jtv
dimiternrogpeppe: reviewed12:04
rogpeppedimitern: thanks12:04
rogpeppeanyone else wanna take it to the magic two LGTMs? :-) https://codereview.appspot.com/7197043/12:04
dimiternrogpeppe: it's weird though, unlike the usual case the first comment wasn't "Please take a look" from you12:05
rogpeppedimitern: ha, i'd forgotten to lbox propose it without -wip12:06
rogpeppedimitern: it's got that message now :-)12:07
dimiternrogpeppe: ok :)12:07
rogpeppeniemeyer: yo!12:24
niemeyerrogpeppe: Heya!12:25
dimiternniemeyer: hey!12:28
niemeyerdimitern: Hey there12:28
dimiternniemeyer: would you like to take a look at this - https://codereview.appspot.com/7181046/12:28
jammgz, wallyworld_, dimitern: I just sent you guys an email with the security keys, etc you'll need. I used your public GPG keys, but if you need help figuring out how to decode them, just ask.12:34
dimiternjam: cheers12:34
dimiternjam: yep, I have to replace that PGP key for which I forgot the passphrase a long time ago12:37
dimiternjam: I'll do it today and you can resend it with my new key perhaps?12:38
rogpeppeniemeyer: small CL to make add multiple addrs to the API: https://codereview.appspot.com/7197043/12:42
niemeyerdimitern: CHecking12:43
dimiternthanks12:43
niemeyerrogpeppe: Super, thanks12:43
niemeyerrogpeppe: Btw, have you had a chance to check that bug Dave filed?12:45
rogpeppeniemeyer: which one?12:45
niemeyerrogpeppe: The one saying bootstrap is broken12:45
rogpeppeniemeyer: i couldn't reproduce it. i suspect he was running without --upload-tools.12:46
niemeyerrogpeppe: Have you tried in the regions he suggested?12:47
niemeyerrogpeppe: Or at least one of them?12:47
rogpeppeniemeyer: i'll do that. the error in the bug report "error: API entity name not found in configuration" should not be possible to happen in the branch he was talking about.12:48
rogpeppeniemeyer: but there may well be another bug12:48
niemeyerrogpeppe: I'm poking because he asked there, so it'd be good to at least interact to clarify the bug12:48
niemeyerSince Dave isn't on the same timezone, if we don't get back to him on async locations, we won't talk12:49
niemeyerdimitern: Any significant change to the ec2 logic on that bootstrap function?12:51
dimiternniemeyer: how do you mean?12:52
dimiternniemeyer: no, it's essentially the same12:52
dimiternniemeyer: the Bootstrap() code, that is12:52
rogpeppeniemeyer: i'm trying it now12:54
niemeyerrogpeppe: Thanks a lot12:55
niemeyerdimitern: Cool, I was really just curious if there was anything that had to be done differently there12:55
niemeyerdimitern: It's great that there isn't (except for Roger's point in the CL, which I agree with)12:55
niemeyerdimitern: Have you seen rogpeppe's comment?12:56
niemeyerdimitern: Are there consistency issues there too?12:56
dimiternniemeyer: well, it's seems not - both tests (svc doubles and live) pass - although on canonistack the lack of floating IPs fails the test, but everything else works12:56
dimiternniemeyer: about consistency - not sure how to test that, but I've run into other consistency issues with OS on some API calls12:57
niemeyerdimitern: Oh, consistency issues and "seems" don't go well together :-)12:57
niemeyerdimitern: The idea, in S3, is that the answer is totally arbitrary for an undefined period of time12:58
rogpeppedimitern: i suggest starting without any of the eventual-consistency loops, and seeing if things still work.12:58
niemeyerdimitern: You create, and it's not there.. you delete, and it's still there12:58
niemeyerrogpeppe: Please no12:58
dimiternniemeyer: I've had the same issues with swift while doing live tests12:58
niemeyerrogpeppe: We already have the logic for that.. let's not introduce the bug to see if we can hit it12:58
dimiternniemeyer: creating/deleting/modifying containers in quick succession12:59
niemeyerrogpeppe: I agree with you cleaner would be better, but let's ask someone that actually knows that stuff if OpenStack is consistent or not12:59
rogpeppeniemeyer: i suppose so. but if there are no such issues in openstack, then that code is more complex for no good reason12:59
rogpeppeniemeyer: yes, that's a good plan12:59
niemeyerrogpeppe: Sure, that's the part I agree.. I just don't think rolling back something we know works well to wait for the bug is great13:00
niemeyerdimitern: Oh, then it has the same issues13:00
dimiternrogpeppe: well, we can ask yes, but how can it be consistent, when the arch is the same - distributed, multi-tier, API disconnected from the actual service, etc.13:00
niemeyerdimitern, rogpeppe: I suggest just leaving the same logic there then13:00
dimiternniemeyer: yeah, I agree13:01
niemeyerdimitern, rogpeppe: If we start to have a few other backends with the exact same logic of Bootstrap, we should factor it out..13:01
rogpeppeniemeyer: agreed13:01
niemeyerdimitern, rogpeppe: That said, I think OpenStack is perhaps too similar to EC2.. I suggest seeing how the others look like before going over the trouble of generalizing13:01
rogpeppeniemeyer: +113:02
dimiternniemeyer: +1 as well - let's not refactor/optimize prematurely :)13:02
niemeyerdimitern: LGTM13:06
niemeyerdimitern: Does it work for real already?13:07
dimiternniemeyer: great, 10x13:07
dimiternniemeyer: yes it does on canonistack, partially13:07
dimiternniemeyer: starting the instance works, putting the tools, all ok, except for the floating iP shortage, which fails to add an address to the machine after building13:08
dimiternrogpeppe: can I consider your review as LGTM as well, with the points mentioned addressed?13:14
rogpeppedimitern: i'll have a quick once-over, if that's ok13:15
rogpeppeniemeyer: i have a suspicion that eventual-consistency issues are fouling upload-tools.13:16
dimiternrogpeppe: you mean repropose it after changes before submitting?13:16
rogpeppedimitern: yeah13:16
dimiternrogpeppe: sure13:16
rogpeppeniemeyer: ah, no that's not it.13:18
dimiternrogpeppe: reproposed - https://codereview.appspot.com/7181046/13:20
rogpeppedimitern: looking13:21
rogpeppedimitern: LGTM13:22
dimiternrogpeppe: cheers13:22
rogpeppeniemeyer: bootstrap against sa-east-1 works fine for me, although it failed for me first time because i used a different juju to the one it was uploading13:23
rogpeppeniemeyer: i suspect that was dfc's issue too13:24
niemeyerrogpeppe: Curious.. was the symptom the same?13:24
rogpeppeniemeyer: similar13:24
rogpeppeniemeyer: the problem (for me) was that it was making the cloudinit script with an old version of the agent config data structure.13:25
niemeyerrogpeppe: How did that change again?13:27
niemeyerrogpeppe: This kind of thing is interesting to observe and keep in mind13:27
niemeyerrogpeppe: THis is a major breakage13:27
rogpeppeniemeyer: in my case, i was using a version that produced JSON, not YAML13:27
niemeyerrogpeppe: Ah, that13:27
rogpeppeniemeyer: the problem is that we're not incrementing the version numbers when we make incompatible changes13:27
rogpeppeniemeyer: which is of course convenient when we're breaking things all the time, but will lead to these kinds of issue13:28
rogpeppeniemeyer: actually... i don't think we check that the tools we're uploading are compatible with the version that's running. that should be fixed, if true.13:30
rogpeppeniemeyer: (not that that would've helped here though13:31
niemeyerrogpeppe: What I mean is that breaking isn't okay.. the problem is breaking13:31
niemeyerrogpeppe: and breaking without even being aware that you're breaking13:32
rogpeppeniemeyer: i was very aware that i was making breaking changes13:32
niemeyerrogpeppe: You should mention that, and coordinate with Dave an update to the tools13:32
niemeyerrogpeppe: Since whatever is up there doesn't work anymore13:33
niemeyerrogpeppe: Just being aware isn't quite enough :)13:33
rogpeppeniemeyer: i was presuming dave was updating the tools on every release, given that every release is breaking backward compatibility, pretty much13:33
niemeyerrogpeppe: Sorry, I'm talking past you13:34
rogpeppeniemeyer: the next one is going to too - how big a priority for us is preserving backward compatibility currently?13:34
niemeyerrogpeppe: Please coordinate with Dave when you introduce breaking changes.13:34
niemeyerrogpeppe: Thanks.13:35
rogpeppeniemeyer: will do13:35
rogpeppelunch13:43
niemeyerrogpeppe: Please ping once you're back14:20
rogpeppeniemeyer: ping14:20
niemeyerrogpeppe: Yo :)14:20
niemeyerrogpeppe: Do you have some time for a call in.. 10 mins?14:20
rogpeppeniemeyer: sure14:20
niemeyerrogpeppe: COol thanks14:20
niemeyerrogpeppe: Will send the invite14:32
aramI won't be able to join today's kanban meeting, have to run to some place. mramm, I think this applies to our 1:1 as well (though not 100% yet, I might be back soon enough).14:48
mrammI may not be able to make the 1 on 1 either14:48
mrammthere are sabdfl meetings all day here in Austin14:49
=== slank_away is now known as slank
rogpeppeis anyone gonna make the kanban meeting?15:02
rogpeppei'll be there if anyone else will15:02
rogpeppefwereade, mramm: hiya15:08
rogpeppefwereade: how's tricks?15:08
fwereaderogpeppe, heyhey, not bad thanks15:09
fwereaderogpeppe, and yourself?15:09
rogpeppefwereade: not bad at all thanks, pushing on.15:09
rogpeppefwereade: missing your reviews :-)15:10
fwereaderogpeppe, awesome15:10
fwereaderogpeppe, I came here with the best of intentions but it's been hard to find the energy ;)15:10
rogpeppefwereade: no, i wouldn't expect you to while you're there tbh15:10
fwereaderogpeppe, jolly good :)15:11
dimiternfwereade: hey :) how's texas?15:32
=== otubo1 is now known as otubo
niemeyerLunch.. biab15:52
fwereadedimitern, heyhey15:55
fwereadedimitern, texas is... texan :)15:55
fwereadedimitern, although that's an unfair thing to say really, this is austin after all15:56
fwereadedimitern, and I've barely left the hotel actually15:56
fwereadedimitern, when not working, sleeping has been high priority15:56
fwereadedimitern, I *am* very happy that my bag was delivered last night15:56
fwereadedimitern, that's 3 timesin a row now15:56
fwereadedimitern, tyvm for reviews btw15:56
dimiternfwereade: wow, lost again?15:57
fwereadedimitern, yep :/15:57
fwereadedimitern, I'm getting used to it now though15:57
dimiternfwereade: np, my pleasure15:57
dimiternfwereade: hehe, all in there?15:57
fwereadedimitern, yeah, nothing lost15:57
fwereadedimitern, all I really suffered was a brief blood-pressure spike at houston15:58
dimiternfwereade: hmm, that doesn't sound good15:58
dimiternfwereade: how was the flight?15:58
fwereadedimitern, only metaphorical -- a brief internal GAAAAAAAAAAAAAAAAH15:59
fwereadedimitern, flight was way smoother than I expected given the weather at heathrow15:59
fwereadedimitern, greenland was covered in clouds, which was a shame, that place is *beautiful* if you have a nice view from 40000ft16:00
dimiternfwereade: yeah, the cancelled like 250 flights that day16:00
fwereadedimitern, oof, luckier than I thought then :)16:00
dimiternluckily you managed to sneak through16:00
fwereadedimitern, was able to be pretty relaxed about the prospect though, I could always have stayed the night with my sister, she's pretty close16:01
dimiternfwereade: she always seems around when you're somewhere on a trip :)16:01
fwereadedimitern, heh, maybe :)16:01
fwereadehazmat, ping16:03
dimiternfwereade: we have bootstrap working with openstack now, landed today16:04
fwereadedimitern, w00t!16:04
dimitern:)16:04
dimiternyeah, it's taking shape faster now I think16:04
dimiternthe provider16:05
hazmatfwereade, pong16:05
fwereadehazmat, I think we have enough people to discuss identities if you can tear yourelf away16:05
fwereadehazmat, mramm has been collecting interested parties16:05
rogpeppei'd love a review of this branch, if anyone can spare a mo. i'm stacking up stuff on top of it. it shouldn't be too bad, despite the number of files changed: https://codereview.appspot.com/7133063/16:08
rogpeppedimitern: unfortunately the branch you reviewed earlier was WIP for a good reason - i hadn't got tests to pass yet!16:55
mgzminor details :)16:55
rogpeppedimitern: i've now updated it so they do, but somehow it was necessary to add some more stuff along the way, and it's acquired a dependency. if you could have another look (and at the dependency too), that'd be great. https://codereview.appspot.com/7197049/16:56
dimiternrogpeppe: sorry, just saw this17:19
rogpeppedimitern: np17:19
dimiternrogpeppe: I'll take a look now17:19
rogpeppedimitern: thanks17:19
dimiternrogpeppe: while I'm on it, would like to look at https://codereview.appspot.com/719504617:20
rogpeppedimitern: looking17:21
niemeyerrogpeppe: Would be interesting to have your opinion on https://codereview.appspot.com/7149043/17:23
niemeyerrogpeppe: as you're working right around it17:23
rogpeppeniemeyer: i've pinged dfc for a conversation about this17:24
rogpeppeniemeyer: hopefully we'll have one tonight17:24
rogpeppeniemeyer: i think it's the wrong thing to do, but he might have better plans than me, so i want a chat before commenting too much17:24
niemeyerrogpeppe: What seems wrong, specifically?17:25
niemeyerrogpeppe: Looks quite straightforward to me17:25
rogpeppeniemeyer: i think it should be a machiner job, not a new subcommand17:25
niemeyerrogpeppe: Ah, indeed17:26
rogpeppeniemeyer: then it works at the same level as the API server, and in the future we'll be able to dynamically adjust servers etc17:26
niemeyerrogpeppe: Agreed17:26
dimiternrogpeppe: you've got a review17:26
rogpeppedimitern: thanks a lot17:26
niemeyerrogpeppe: Would you mind to point that out in the CL?17:26
niemeyerrogpeppe: Even if you include "Let's talk live about it."?17:26
rogpeppeniemeyer: ok, i will do17:26
niemeyerrogpeppe: Thanks!17:27
niemeyerrogpeppe: The stater itself looked nice.. I've skimmed over too quickly thinking it was a job as well17:27
rogpeppeniemeyer: yes, the stater itself is ok, but i'm not sure it works very well as a task17:28
rogpeppeniemeyer: most of the logic is fine though17:28
niemeyerrogpeppe: Maybe it needs additional stuff, but what's there seems well structured, and necessary17:29
rogpeppeniemeyer: yes. i'm not entirely sure that worker/stater is the right place, but all the unpacking and running logic is good, which makes up the bulk.17:30
niemeyerrogpeppe: Seems right as a worker too17:30
dimiternmgz: ping17:30
rogpeppeniemeyer: i was wondering if the tar unpacking code might live nicely in a standalone package, but it's probably ok where it is until we need it elsewhere.17:31
niemeyerrogpeppe: Indeed17:31
rogpeppeniemeyer: i'm going to try to catch dave tonight - about when he starts work.17:33
niemeyerrogpeppe: Super, cheers17:33
dimiternniemeyer: if you have time, take a look at https://codereview.appspot.com/7195046/17:44
* rogpeppe just started running first live test that connects to the API server... i wonder if it'll work.17:52
mgzrogpeppe: did it? :)18:00
rogpeppemgz: still running...18:00
rogpeppemgz: oh, darn18:01
rogpeppemgz: failed18:01
mgz;_;18:01
dimiternmgz: ah, you're here :) can you look at this https://codereview.appspot.com/7195046/ - especially the way private and public addresses are discovered (ported the logic from py-juju)18:01
mgzdimitern: sure18:01
dimiternmgz: thanks18:02
mgzyou ported the tests too, right? :)18:02
dimiternmgz: well, not really, but I test for all paths I think18:03
mgzthe tests are the bit with value, because they cover the sort of json I actually saw in the wild18:03
dimiternmgz: I see, then I could port their essence as well18:04
mgzhm... and GetServerAddresses really shouldn't be needed, it's included in servers/{}/detail which juju is likely using in all cases18:07
dimiternmgz: unfortunately, it's not the same always18:08
mgzthat's an ongoing issue though, the ip/name bindings aren't static18:09
mgzunless you mean something else?18:09
dimiternmgz: sometimes (at startup, but it happened to me multiple times after some uptime) the address fields are empty there, while the /ips returns them correctly18:09
mgzright18:09
mgzwell, ips will only work once a binding exists18:10
mgzbut that's pretty much the same thing18:10
dimiternwhat binding?18:10
dimiterni'm not talking about floating ips18:10
mgzwhen you first start a machine, you get details back before the networking setup is done18:11
dimiternthe automatic ones nova assigns at boot18:11
mgzthere's a hack you might notice in the python code that polls for contents of addresses in launch in one case (where you need to assign a floating ip)18:11
dimiternmgz: yes, but even after that /servers/detail won't get me the addresses - they're always empty18:11
mgzthey're not always empty, they're just initially empty18:12
dimiternmgz: well, /ips works even at BUILD, while /servers/detail doesn't18:12
mgzI think because it reflects current reality rather than intent or something18:12
mgzit works at BUILD, just not straight away, only when it's actually bound18:12
mgzanyway, this might be a neat trick for the moment18:13
dimiternanyway, it's not reliable to use /servers/detail for addresses in my experience18:14
dimiternand having it this way simplifies the tests / doubles a bit18:14
mgzreally juju needs to learn that addresses aren't reliable18:15
dimitern:)18:15
dimiternespecially if they float18:15
mgzbut if this hacks around that broken assumption for now, it's not the end of the world18:15
dimiternyeah18:17
rogpeppemgz: i was listening on localhost!18:21
rogpeppetime to stop18:24
rogpeppeg'night all18:24
dimiternrogpeppe: c u18:25
mgzdimitern: commented, fine overall, but I think much of that code should live in juju-core18:30
dimiternmgz: thanks, I'll think about it some more tomorrow18:30
fwereadedavecheney, ping20:14
fwereadedavecheney, I need to head to meetings in a few minutes but I should be on again in a couple of hours, let me know if I can clarify anything...20:38
rogpeppedavecheney: ping22:01
davecheneyrogpeppe: ack22:18
rogpeppedavecheney: yo!22:18
rogpeppedavecheney: G+?22:18
davecheneysure22:19
davecheneyringing ...22:23
davecheneythis is fucking annoying22:23
davecheneycan we use Skype like grownups ?22:23

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