/srv/irclogs.ubuntu.com/2012/03/22/#juju-dev.txt

hazmatbcsaller, can you finish up the review on this one .. https://codereview.appspot.com/5752069/00:26
hazmatthe force upgrade00:26
bcsallerhazmat: yeah, looking now00:27
niemeyerhazmat: Uh, indeed.. I guess I got it wrong01:36
bigjoolsanyone around who can do some reviews please?07:33
bigjoolsfwereade_: hi07:43
fwereade_heya bigjools07:43
bigjoolsfwereade_: I am this ---><--- close to getting the mass provider working07:43
bigjoolsjust one small issue left07:44
fwereade_bigjools, I can absolutely do some reviews, but there's at least one other I have to finish first07:44
bigjoolswhich I need your advice on07:44
fwereade_bigjools, swet, can I help with that?07:44
bigjoolswhen the master starts up a second node, it blows up at the point where it tries to get the charm from the provider file store07:44
bigjoolsbecause it doesn't use authentication07:44
bigjoolsI think we talked about this before but I  can't remember the resolution07:45
fwereade_bigjools, we touched on it ever so briefly... IIRC all I said was something like "yeah, it would be sensible to require authentication for writes"07:46
bigjoolsyour connection is flaky today07:48
fwereade_bigjools, how would you feel about either making the provider storage readable without auth, or about perhaps using signed URLS as the ec2.files get_url method does?07:48
bigjoolsfwereade_: the provider already uses a signed request, I don't know why it's not been used in this case07:49
bigjoolsperhaps the config is not available?07:49
fwereade_bigjools, the url used to access the charm will have originally been created by MaaSFileStorage.get_url07:50
bigjoolsfwereade_: the url is correct but it is not getting dispatched using the correct method that adds an oauth header07:51
fwereade_bigjools, hm, who would it be authenticating as?07:52
bigjoolswhatever is configured in environments.yaml07:52
fwereade_bigjools, nodes shouldn't have access to provider credentials07:52
bigjoolswhy was none of this in docstrings? :/07:52
bigjoolsok so is it safe to make "get" operations unauthed?07:53
fwereade_bigjools, I guess the answer is "we're bad at predicting which context people will need" :(07:53
fwereade_bigjools, we think so07:54
bigjoolsI'll see if we can do oauth in the url as well07:54
bigjoolsotherwise, no auth :)07:54
fwereade_bigjools, if you can sign the urls that would be nice but don't overexert yourself; no auth was considered acceptable for orchestra07:55
bigjoolsok07:55
fwereade_bigjools, there are definitely a number of identity/auth questions that have yet to be addressed07:55
bigjoolsit's a trivial change to remove auth in maas for file retrieval07:56
fwereade_bigjools, then tbh I would go with that07:56
fwereade_bigjools, the question of agent identity is I think agreed in principle, but at the moment we just trust them07:57
fwereade_bigjools, it's one of the many stories I would love love love to have addressed before 12.04, but... :(07:57
bigjoolsok :(07:57
bigjoolsfwereade_: is there a way to restart the agent on the node so it retries getting the charm>#07:59
bigjools?07:59
fwereade_bigjools, you should be ok to just kill the machine agent process07:59
fwereade_bigjools, (IMO the unit agent should really be the one getting the charm, but hey ho)07:59
fwereade_bigjools, (it's upstartified, it'll come back up (I hope :p))08:00
bigjoolsok08:00
bigjoolsI'll fix0rate maas08:00
bigjoolsfwereade_: ok got past that hurdle only for a new steeplechase08:23
bigjoolsin the charm.log it has:08:24
bigjoolsjuju.errors.JujuError: Unknown provider type: 'maas', unit addresses unknown.08:24
bigjoolsso I guess I am missing some config?08:24
fwereade_bigjools, hmm, let me investigate08:25
fwereade_bigjools, would you pastebin the log?08:25
bigjoolsfwereade_: http://pastebin.ubuntu.com/894806/08:26
fwereade_bigjools, actually, sorry, it's clear08:26
fwereade_bigjools, juju/unit/address.py08:26
bigjoolsfwereade_: oooookay, we have a charm deploying08:52
* fwereade_ cheers and showers bigjools with confetti08:53
fwereade_bigjools, awesome08:53
bigjoolswhat a long road!08:53
bigjoolsfwereade_: so is that UnitAddress supposed to be public or private?08:57
fwereade_bigjools, it should provide both08:57
bigjoolsfwereade_: what's it for?08:57
fwereade_bigjools, if there's no such thing as a private address just return the public one in that case08:57
bigjoolsnot a single comment in that file!08:57
fwereade_bigjools, the only thing I'm sure of is that hooks can do something like `unit-info public-address`08:58
fwereade_bigjools, and it's almost certainly used by `juju status`08:58
fwereade_bigjools, I'm not aware of other uses08:58
bigjoolsok thanks09:01
fwereade_allenap, ping, can we chat about _extract_stystem_id in your branch? (or possibly bigjools, if you have context?)10:22
allenapfwereade_: Sure.10:23
allenapfwereade_: Voice or here?10:23
fwereade_allenap, here should be fine; I was just wondering about the return-unchanged behaviour10:23
fwereade_allenap, what's the motivation? isn't it just deferring an exception minutely?10:24
allenapfwereade_: I guess it was to defer the decision as to what is or isn't correct back to maas, in case of doubt.10:25
fwereade_allenap, the only plausible case I can see is if *something* for some reason holds a system_id instead, in which case it doe the "right" thing, kinda, but IMO the presence of a system_id in place of a resource_uri is unquestionably indicative of a bug10:26
fwereade_allenap, is there some scenario I've missed?10:26
allenap"Be forgiving with input, be unforgiving with output" or something like that.10:26
allenapfwereade_: No, you haven't missed anything.10:27
allenapfwereade_: I'm happy to raise an exception instead.10:27
fwereade_allenap, I see this as pre-existing internal data, rather than input, myself10:27
fwereade_allenap, cool, if yu would do that that would be great10:27
allenapfwereade_: Would an assertion fit with the rest of Juju, or should I raise some other exception?10:27
fwereade_allenap, I'd probably suggest a juju.errors.ProviderError10:28
fwereade_allenap, up to your judgment whether it should be exposed or just tested indirectly via garbage params to get_nodes10:30
fwereade_allenap, I'm going to repaste, some of it probably got lost :/10:30
fwereade_<fwereade_> allenap, I'd probably suggest a juju.errors.ProviderError10:30
fwereade_ allenap, possibly even MachineNotFound but I'd need to think about that a bit10:30
fwereade_ allenap, the only other thing is that we don't like to import anything with an _, even in tests10:30
fwereade_ allenap, but we're not opposed to exposing utility functions purely for tests10:30
fwereade_--- Disconnected (Connection reset by peer).10:30
fwereade_--> You are now talking on #juju-dev10:30
fwereade_<fwereade_> allenap, up to your judgment whether it should be exposed or just tested indirectly via garbage params to get_nodes10:30
fwereade_allenap, I'll just make those comments on the review, ping me when it's ready for another round ;)10:31
allenapfwereade_: I'll change it to a public function.10:31
allenapfwereade_: Thank you!10:31
fwereade_allenap, perfect10:32
rogpeppefwereade_: i was just looking at https://codereview.appspot.com/5847059 and realised there's a big gap in my knowledge - what is the scheduler actually *doing*?10:38
fwereade_rogpeppe, handling callbacks from watch_unit_relations10:39
fwereade_rogpeppe, which represent either settings node version changes for known relations, or adds/removes on the set of related ones10:39
rogpeppefwereade_: ah, so we probably wouldn't have a direct equivalent in the go port - we'd probably just use a goroutine and listen on channels, right?10:40
fwereade_rogpeppe, and converting that stream of events into a stream of required hook executions in a context with the correct membership for the time at which the change was noted10:40
fwereade_rogpeppe, I'm deliberately not thinking about that part of the problem yet, I don't want to prejudice the implementation ;)10:40
rogpeppefwereade_: that's fine. i (obviously) am :-)10:41
fwereade_rogpeppe, my instinct says that hook scheduling will look somewhat different in go but that's all I can say really :)10:41
rogpeppefwereade_: BTW the amazon tests work again :-)10:42
rogpeppefwereade_: although only about 60% of the time :-(10:42
rogpeppei think we should do more retries when ec2 gives us an error that's likely to be transient.10:43
rogpeppefwereade_: have you got any outstanding reviews i should be looking at?10:43
fwereade_rogpeppe, yes please, I should have a few on the active reviews page10:44
fwereade_rogpeppe, re amazon, sounds sensible10:44
rogpeppei can never remember how to find the active reviews page10:46
rogpeppeah, found it.10:48
rogpeppefwereade_: are they in any particular order?10:49
fwereade_rogpeppe, most are independent, but tweak-supercommand sits on top of add-cmd-context10:49
fwereade_rogpeppe, although I'm not sure it actually needs to10:50
allenapfwereade_: Ready for round 2?10:50
fwereade_allenap, sure10:50
fwereade_allenap, can't see updated MP yet10:51
allenapfwereade_: Sorry, I should have waiting until that was ready before pinging.10:51
fwereade_allenap, np, it's not a costly check for me ;)10:51
fwereade_allenap, btw, heads up: not sure how you're deploying your charms (by full name including series, I guess?) but you'll need to handle default-series in environments config at some stage10:53
fwereade_allenap, what this actually means is that you can completely ignore the requirement10:53
fwereade_allenap, but you'll need to add a line temporarily to your environments.yaml when it lands10:53
allenapfwereade_: I don't really know what that means :)10:54
fwereade_allenap, it won't last long at all, and you should never otherwise have to care about it10:54
allenapdefault-series, that is.10:54
fwereade_allenap, `juju deploy wordpress` infers series from default-series10:54
fwereade_allenap, `juju deploy cs:precise/wordpress` knows the series from the charm url10:55
allenapfwereade_: What does series refer to? Distroseries, or something else?10:55
fwereade_allenap, yeah, exactly10:55
fwereade_allenap, charms target a specific series10:55
fwereade_allenap, (that we must guarantee they actually be deployed on ;))10:55
fwereade_allenap, so if you see a default-series error cropping up after a merge, go and add "default-series: oneiric" to your maas config and forget about it10:56
allenapfwereade_: Okay, thanks.10:57
fwereade_allenap, and when you later see errors complaining that default-series is no longer valid, remove it :)10:57
allenapHehe :)10:57
fwereade_allenap, you *might* not even be hit by it10:57
fwereade_rogpeppe, TheMue: btw, I'm not sure this was actually announced while you were around: I'm focusing on python for a couple of weeks11:06
rogpeppefwereade_: ah, ok. yeah, i didn't know that.11:06
fwereade_rogpeppe, TheMue: so I am unlikely to be a timely and helpful reviewer11:06
rogpeppefwereade_: :-|11:07
fwereade_rogpeppe, TheMue: I will ofc hit those if I have any time left over in my ~1 go hour per day11:07
rogpeppefwereade_: (i enjoy your reviews!)11:07
fwereade_rogpeppe: thanks :)11:07
fwereade_rogpeppe, TheMue: and ofc I'm also always around to talk, but otherwise generally expect diminished engagement from me for a short time11:08
allenapfwereade_: There seems to be a problem with my branch; it's not getting scanned by Launchpad. I'm talking to the LP webops about it now.11:22
fwereade_allenap, np, if it looks likely to take too long let me know and I'll diff it manually11:23
fwereade_rogpeppe, a thought: the above doesn't mean I wouldn't really appreciate a reduction in my own go review backlog, or that I won't be trying to get them merged, just that they're not at the *top* of my list atm :p11:26
TheMuefwereade_: hope you'll be back for go soon11:27
fwereade_TheMue, thanks, I hope so too11:27
fwereade_TheMue, I don't like python any more, it spells "true" wrong ;p11:27
TheMuefwereade_: *lol*11:27
allenapfwereade_: Turns out I was being a numpty. It's there now.11:34
fwereade_allenap, cool11:41
fwereade_allenap, LGTM11:45
fwereade_allenap, I'll merge this and the other one shortly, just need to persist some of my own state before I do that though ;)11:45
allenapfwereade_: Thanks! There's a trivial follow-on from use-maas-uris - https://code.launchpad.net/~allenap/juju/maas-to-maas/+merge/98759 - and it's already approved by hazmat. Would you be able to land that at the same time?11:51
fwereade_allenap, surely :)11:52
allenapThanks.11:53
hazmatallenap, fwereade_ it lives!11:59
fwereade_hazmat, ...charm store?11:59
fwereade_hazmat, oh maas11:59
fwereade_hazmat, sorry braindead :p12:00
allenaphazmat: \o/12:00
hazmatfwereade_, the former soon as well hopefully12:00
hazmatallenap, is there any api control over the image that's used on a machine in maas?12:00
fwereade_hazmat, actually, I need a spot of advice(but I think your question to allenap is more important, I'll sit quiet a mo)12:01
allenaphazmat: Not yet; it's plain precise only for now. It will definitely be added though.12:01
fwereade_hazmat, ok: I'm thinking about blocking d-i-i/d-i-t use on the amazon cloud only12:02
fwereade_hazmat, and it's leading me in a bad direction12:02
fwereade_hazmat, the problem is this12:02
fwereade_hazmat, to know whether an environment should accept those keys, we don't just need the ec2 uri12:03
fwereade_hazmat, we also need to know if we're running on a legacy environment12:03
fwereade_hazmat, (right?)12:04
fwereade_hazmat, so that we don't just render existing environments inaccessible to the point of not even being destroy-environment-able12:04
fwereade_hazmat, however, we cannot generally know if we're running in a legacy environment until we've seen how env state is stored in ZK12:05
fwereade_hazmat, which then means we have to check twice: once on bootstrap (in which case it's easy, don't accept bad keys)12:06
fwereade_hazmat, and once any time we want to connect to ZK (in which case we need to wait until we've connected to find out whether it's a legacy environment)12:07
* hazmat catches up12:08
fwereade_hazmat, it would be insanity to find and tweak every call to provider.connect()12:08
fwereade_hazmat, but to avoid doing *that*, we have to make ec2.MachineProvider do its own check/barf in an overridden connect(), and that involves hitting the state module12:09
fwereade_hazmat, which I'm pretty sure the providers should not know about12:09
fwereade_hazmat, that's about as far as I'd got12:10
hazmatfwereade_, if a user doesn't perform an activity that identifies a legacy environment as such, then its not really appropriate to cause warning imo12:10
hazmatie. if their not deploying/adding-unit.. is it an active concern for the env12:11
fwereade_hazmat, hm, maybe it is just 3 checks12:11
fwereade_hazmat, bootstrap, deploy, add-unit12:11
fwereade_hazmat, ok, sounds good to me; thanks12:12
hazmatfwereade_, cool12:12
fwereade_hazmat, hm, how would it be if I added something like get_in_legacy_environment() to GlobalSettingsStateManager12:15
fwereade_?12:15
fwereade_hazmat, would just return False for now, so we always barf on bad keys, but if we're doing this in a parallel branch that's OK12:17
fwereade_hazmat, could always return True I guess but I'd prefer to merge something that has the eventual desired behaviour but which doesn't ever actually trigger until there's a way to detect legacy environments12:19
fwereade_hazmat, sensible?12:20
hazmatfwereade_,  what needs to use get_in_legacy_environment?12:38
hazmatfwereade_, the new code will end up turning legacy into new style data structures, its the old code that needs to use the legacy data, and it won't be using a new api12:38
hazmatfwereade_, but the legacy structures will still be in place12:38
fwereade_hazmat, I need to use it to do the checks: in a legacy environment we want to warn about those keys, but in a new one we want to error; don't we?12:52
hazmatfwereade_, true12:54
fwereade_hazmat, does GSSM sound like the right place to you for now?12:55
hazmatfwereade_, perhaps on env manager13:04
fwereade_hazmat, cool, whatever's best for you13:04
hazmateither works, but env manager is used more commonly in the places we need to check this13:04
hazmatgssm is used more when we tweak or read providertype/debug-log13:05
niemeyerHeh, great.. I was talking to myself..13:21
niemeyerGood morning all :)13:21
niemeyerhazmat: Are you around yet by any chance?13:21
hazmatniemeyer, yes.. just finishing up a subordinate review13:22
niemeyerhazmat: Heya13:22
niemeyerhazmat: I'd like to sync up at some point re. the charm store13:22
niemeyerhazmat: For the initial test/beta/alpha/point-nil phase :-), we'll be deploying it without an SSL certificate13:23
niemeyerhazmat: Which means we'll need to s/https/http/ on the code13:23
hazmatniemeyer, i guess without cert checking its rather moot13:23
hazmatniemeyer, yeah.. easy enough its a one liner13:24
niemeyerhazmat: Super, +1 on cowboying it13:24
hazmatniemeyer, does that mean a deploy is near?13:24
niemeyerhazmat: Yeah, as quick as I can develop a charm for the charm store :)13:24
niemeyerhazmat: We went full round and it's back on me now13:24
hazmatniemeyer, so like 10m ;-)13:25
niemeyerhazmat: Kind of :).. I mean a serious charm! :)13:25
hazmatdog walk bbiab13:27
niemeyermthaddon: So, I'm dropping the SSL need, to avoid the conflict there14:01
mthaddonniemeyer: you've discussed this with elmo? not sure if the issue was the SSL cert specifically or the ubuntu.com domain14:02
niemeyermthaddon: I didn't discuss this with elmo, but that's what I understood was a problem from our conversation yesterday14:02
niemeyermthaddon: There's nothing special about the ubuntu.com domain, AFAIK..14:02
niemeyermthaddon: If that's an issue too, I'm happy to change the client to store.eat-your-lunch.com14:03
mthaddonniemeyer: eh? there's quite a lot that's special about the ubuntu.com domain14:03
mthaddonah, I see what you mean14:03
niemeyermthaddon: Sure, no problem..14:03
niemeyerhazmat: Let's change the domain too, please..14:03
robbiewniemeyer: I don't think we should change the domain14:07
niemeyerrobbiew: It's fine.. I'll provide the Elastic Balancer domain to hazmat14:08
niemeyerrobbiew: and will use the Elastic Balancer to distribute load on two independent charm store frontends, deployed with juju14:08
niemeyerrobbiew: Won't be a first class domain, but no one sees that domain anyway14:09
robbiewniemeyer:  good point14:11
wrtpniemeyer: admin-secret CL is now much smaller... except that lbox propose seems to have gone a little mad.14:12
niemeyerwrtp: How so?14:12
wrtpniemeyer: it's showing lots of diffs that it shouldn't14:12
niemeyerwrtp: It's probably showing the diffs that bzr is showing14:13
wrtpniemeyer: "diff --old lp:juju/go" shows the correct (small) diffs14:13
niemeyerwrtp: Take the two revisions that are in Rietveld, and do a diff14:13
niemeyerwrtp: Check if the revisions are right14:13
niemeyerwrtp: Or if the diff is different14:13
wrtpniemeyer: good idea14:14
wrtpniemeyer: BTW, how can i find out the complete revision id of the current branch tip?14:14
niemeyerwrtp: bzr revision-info14:15
niemeyerwrtp: bzr log --show-ids also14:16
wrtpniemeyer: thanks14:16
hazmatniemeyer, which domain?14:21
wrtpniemeyer: looks like it's using the wrong revision-id for the old version14:22
niemeyerhazmat: Trying to figure out14:22
niemeyerwrtp: What's the revision id it's usng?14:22
wrtproger.peppe@canonical.com-20120321155821-85i0cf6wo39qrpg614:22
niemeyerwrtp: Isn't that the revision id of the pre-req?14:22
wrtpniemeyer: quite possibly - but that's wrong in this case, because the prereq has already been merged.14:23
niemeyerwrtp: I see, ok14:23
niemeyerwrtp: Will have to change lbox to use a different base depending on whether the pre-req was already merged or not14:24
wrtpniemeyer: yeah - i wouldn't have thought of that either...14:24
niemeyerwrtp: Can you please just confirm that this is indeed the case? Do you get the same "wrong" diff if you diff against the pre-req?14:24
TheMueniemeyer: https://codereview.appspot.com/5875047 is ready for a review14:26
niemeyerTheMue: Cheers!14:26
TheMueniemeyer: moin ;)14:26
niemeyerandrewsmedina: ping14:26
wrtpniemeyer: yes14:28
niemeyerTheMue: Erm, hold on14:28
wrtplunch14:28
niemeyerwrtp: yes, you can check, or yes, you've checked?14:28
niemeyerTheMue: I don't think we want that stuff right now14:28
niemeyerTheMue: This isn't in use yet14:29
niemeyerTheMue: Even in Python, I mean14:29
niemeyerTheMue: I didn't even recall that this was actually merged already14:29
andrewsmedinaniemeyer: 64 bytes from andrewsmedina: icmp_seq=0 ttl=251 time=2.677 ms14:29
TheMueniemeyer: hmm, thought i've seen calls of these functions14:29
niemeyerandrewsmedina: :-)14:29
niemeyerandrewsmedina: Heya14:29
andrewsmedinaniemeyer: everything ok?14:30
niemeyerandrewsmedina: You've told me to ping you if there was something you might be involved in14:30
niemeyerandrewsmedina: I think I have something for you to participate in. Interested?14:30
andrewsmedinaniemeyer: yes14:30
niemeyerandrewsmedina: It's a bit less straightforward than the last task, but actually important14:30
andrewsmedinaniemeyer: I'm working on local env14:31
niemeyerandrewsmedina: hazmat is conducting some adaptations in the way environments are stored, introducing a couple of commands (set-env, get-env) and also adapting bootstrap to take these options14:31
TheMueniemeyer: make_identity() is called twice outside of state and several times in state/security.py14:31
andrewsmedinaniemeyer: nice14:32
niemeyerandrewsmedina: We need to adapt our side of things with similar logic14:32
niemeyerTheMue: This isn't in use..14:32
niemeyerTheMue: Deploy a charm and try to see who touches that logic14:32
niemeyerandrewsmedina: Interested in picking the task?14:33
wrtpniemeyer: i fixed the CL for the time being anyway14:33
andrewsmedinaniemeyer: did in the python lib?14:33
wrtpalthough i need to edit the description14:34
andrewsmedinaniemeyer:ops14:34
andrewsmedinaniemeyer: hazmat did this in the python lib?14:34
niemeyerwrtp: How?14:34
niemeyerandrewsmedina: He's working on it right now14:34
TheMueniemeyer: why has it been developed? will it be needed in future? or is it just code that should have been removed?14:34
niemeyerandrewsmedina: You can get more details with him to see where's the branch with the Python diff, etc14:34
niemeyerandrewsmedina: It should be significantly simpler on our side, because not all of the things changing are implemented yet14:35
TheMueniemeyer: and what do you need to be ported next? i still have the Watchā€¦() methods in Unit and Service open.14:35
niemeyerTheMue: It has been developed because long ago there was a push to have more security around ZooKeeper, but other needs walked over that problem14:35
TheMueniemeyer: understand14:36
andrewsmedinaniemeyer: ok14:36
andrewsmedinahazmat: can you help me?14:36
niemeyerTheMue: I don't know if it's going to be used or not, but I'm against developing and maintaining code while we don't know the answer to that14:36
TheMueniemeyer: i'll put the code in my archive, maybe we need it again later. ;)14:36
niemeyerTheMue: Sounds great.. pushing it to Launchpad is also a good idea14:37
niemeyerTheMue: The one you proposed is obviously already there14:37
niemeyerTheMue: If you have another one, just push as well14:37
hazmatandrewsmedina, yes14:37
andrewsmedinaniemeyer: I did the implementations for interfaces related with local enviroment using lxc :)14:37
niemeyerTheMue: Regarding the Watch, I thought we had a pretty good agreement on that14:37
* hazmat catches up14:37
niemeyerTheMue: What's still pending?14:37
niemeyerandrewsmedina: Wow, nie14:37
niemeyernic14:37
niemeyernice!!14:37
niemeyerandrewsmedina: Btw, this may be a good time to remind you that small branches are easier to deal with :)14:38
andrewsmedinaniemeyer: I now14:39
hazmatthe security stuff is completely unused outside of making an identity for the admin user, and even there its not backed with an acl, so its not functional14:39
TheMueniemeyer: maybe i'm lost in the fact that there's an agremment. last info here is the approach rog and i already made for a Watcher (specific goroutines waiting for change signals and retrieving all they need then)14:39
andrewsmedinaniemeyer: I've been kinda busy this week14:39
TheMueniemeyer: if that's the agreement i'm pretty fine with it14:39
hazmatandrewsmedina,  was there something in particular you needed help with ?14:40
andrewsmedinahazmat: you could show me the diff of what you did?14:40
niemeyerTheMue: I don't know what you and rog agreed.. I know that the three of us talked about an approach back in the Rally, and that we talked about this approach again a few days ago14:40
niemeyerTheMue: What's the question?14:40
TheMueniemeyer: yes, that the one i mean14:40
TheMueniemeyer: only wanted to be sure. maybe you and rog discussed something else, so that i would start in the wrong direction.14:41
niemeyerTheMue: We did discuss it, but everything we talked about was here in the channel and back at the Rally14:42
niemeyerTheMue: We didn't have any discussions outside of that14:42
niemeyerTheMue: Did you see this, for example: http://paste.ubuntu.com/870030/14:43
hazmatandrewsmedina, you'll have to be more specific14:43
TheMueniemeyer: yep, that's the one i have in mind14:43
niemeyerTheMue: Actually, I think rog had a more complete one14:44
TheMueniemeyer: i think i still have the link in my temp folder14:44
andrewsmedinahazmat: niemeyer told me that you is conducting some adaptations in the way environments are stored14:44
andrewsmedinahazmat: I will do it in Go port14:45
hazmatandrewsmedina, gotcha, its not done yet.. i just started work on it yesterday, but basically the provider credentials/access go to /environment/provider and the rest go to /environment14:46
hazmatand instead of setting the environment every deploy, its only done once, and subsequent modification requires the use of set-env14:46
andrewsmedinahazmat: you're working on a branch?14:49
niemeyer_Boom14:49
niemeyer_TheMue: Did you find it?14:49
=== niemeyer_ is now known as niemeyer
flacosteSpamapS: around?14:51
TheMueniemeyer: not yet, started with branching and inspecting the py code first14:51
hazmatandrewsmedina, yup.. its lp:~hazmat/juju/environment-settings.. i haven't pushed yet, cause i'm still trying to figure out the api a bit14:51
andrewsmedinahazmat: ok14:51
wrtpback14:53
niemeyerTheMue: Found it: http://paste.ubuntu.com/871544/14:53
wrtpniemeyer: i merged and pushed the prereq branch14:53
niemeyerwrtp: Brilliant14:53
niemeyerwrtp: Thanks14:53
SpamapSflacoste: I am, whats up?14:54
niemeyerTheMue: There may be a few details, like the Done order being inverted, but wrtp's basis on it is pretty good14:54
niemeyerTheMue: Ah, we agreed to get rid of Err for the moment too14:54
flacosteSpamapS: did you intend to do an upload of juju to the archive today for beta freeze 2, if you do, can you make sure that the two branches necessary for it to work with maas are included?14:54
flacostepretty please14:55
flacosteone of them is merged at revision 48714:55
TheMueniemeyer: great, thanks. my agent watcher ones worked the same way (until i get aware that it isn't needed here)14:55
wrtpniemeyer: yeah, i think i had a slightly updated version that took into account our discussion; i'll have a look14:55
flacostethe other one is still waiting to be merged: https://code.launchpad.net/~allenap/juju/use-maas-uris/+merge/9875614:55
niemeyerSpamapS: Ah, if you are considering an update, please hold on until a couple of hours as I sort out the repo address with hazmat14:55
niemeyerSpamapS: Will be a one-liner14:55
niemeyerwrtp: Thanks much14:55
flacosteniemeyer: well, he didn't reply yet, but i see you'd also like one :-)14:56
niemeyerflacoste: Yeah :)14:56
SpamapSflacoste: I had hoped to, but I have not seen subordinates fully drop yet14:56
TheMueniemeyer: btw, do wie have a (powerful) search interface to our irc logs? ;)14:57
niemeyerTheMue: Very powerful one.. grep14:57
niemeyer:)14:57
flacosteSpamapS: i think it would still be worth it - even without subordinates, as that would allow people to test juju + maas from the archive14:57
TheMueniemeyer: ok, on the command line14:57
flacostebut subordinates would also be great!14:57
wrtpniemeyer, TheMue: here's a slightly updated version. it still has Err though. http://paste.ubuntu.com/895174/14:58
wrtpniemeyer: the question is: are we prepared to discard all errors that the watcher encounters?14:58
SpamapSflacoste: I will file my FFe then.14:58
wrtpniemeyer: (or just log them, i guess)14:58
niemeyerhazmat: http://23.21.254.15414:58
niemeyerhazmat: This will do for now..14:58
niemeyerhazmat: It's an Elastic IP, so I can make sure it is preserved, and lands on something sensible shortly14:59
niemeyerwrtp: Uh.. I'm certainly not prepared to discard any errors..14:59
hazmatniemeyer, hmm.. those do get recycled.14:59
hazmatniemeyer, ie. we can't ever release that eip14:59
hazmati mean we  can but its breakage15:00
wrtpniemeyer: if there's no Err method, then the thing using the watcher can't get the error.15:00
niemeyerwrtp: Wait returns the error..15:00
wrtpniemeyer: FooWatcher doesn't have a Wait method15:01
niemeyerhazmat: They don't get recycled unless I say so15:01
wrtpniemeyer: maybe it should, but the watch channel can fulfil that role.15:01
niemeyerhazmat: That's the main point of the Elastic IP15:01
niemeyerwrtp: It has a Stop method that returns the result of Wait15:01
hazmatniemeyer, yeah.. i just remember here some startup story about how they started getting netflix traffic because of  a recycled eip and dns caches15:01
hazmats/hearing15:01
wrtpniemeyer: does that mean if you get eof on the channel that you always have to call Stop?15:02
niemeyerwrtp: It just means we have access to the error..15:02
niemeyerwrtp: Let's see the code, please..15:02
* TheMue should develop a little Go app for searching inside the logs. in time ranges, with patterns, filtered by user, output with surrounding lines and links direkty into the found occurence15:02
wrtpniemeyer: i pasted it above15:02
niemeyerwrtp: Let's see that code being used I mean.15:02
wrtpniemeyer: sounds good.15:03
niemeyerwrtp: It's trivial to add an Err method if we need it15:03
wrtpniemeyer: i don't mind if the caller always needs to call Stop actually.15:03
niemeyerwrtp: It's not trivial to suggest good usage without any usage15:03
niemeyerwrtp: Right, it should anyway15:03
niemeyerAnd I should get lunch!15:03
niemeyerbiab15:03
wrtpniemeyer: that's a nice invariant thing, even if we "know" that when we get eof on the channel, it's already stopped.15:04
wrtpniemeyer: enjoy!15:04
flacosteSpamapS: thanks!15:04
wrtpTheMue: here's an updated version of the watcher demo code, according to the discussion above: http://paste.ubuntu.com/895188/15:09
flacosteSpamapS: for the upload, any revision starting at 488 will be good for MAAS15:16
TheMuewrtp: thx15:16
SpamapSflacoste: great15:28
hazmatandrewsmedina, its very much a work in progress and raw, but i went ahead and pushed the branch fwiw.15:28
SpamapSbcsaller: any chance subordinates will land in the next 3 hours?15:29
SpamapShazmat: ^^ ?15:29
hazmatSpamapS, no15:29
SpamapSok, will leave that one out. ;)15:29
flacosteSpamapS: once your FFe is filed, just ask Daviey for approval :-)15:29
hazmatSpamapS, i think we've fixed most the of the issues, but it needs more unit tests, and support for departed hooks15:29
hazmatSpamapS, one moment, i've got more branch to add15:30
hazmatits a maas beautification thing15:30
SpamapSI won't be uploading until much later15:30
SpamapSjust want to know what to put in the FFE15:30
SpamapSwhats the status of constraints at the moment?15:30
hazmatSpamapS, the branch currently removes support for some previous environments.yaml settings15:31
hazmatSpamapS, its ready to go in though15:31
hazmatthe backwards compatibility thread basically stopped its merge15:32
SpamapSas it should. :)15:32
* hazmat sighs..15:32
hazmatthat's my fault15:32
fwereade_bigjools, allenap: maas branches merged, one of you please verify it still works ;)15:33
hazmati delayed on its review/merge because i wasn't comfortable with the static constraints instead of provider based ones.15:33
hazmatbut that wasn't really important, given the big picture15:34
hazmatso now compatibility15:34
allenapfwereade_: I'll give it a go. bigjools is probably fast asleep.15:34
hazmatfwereade_, thanks for merging all those maas branches15:38
hazmathmm.. eucalyptus compatibility..15:39
hazmatniemeyer, fwereade_, jimbaker  can i get a +1 for this trivial (charm-store-url) http://paste.ubuntu.com/895250/15:54
hazmatmoving into cowboy phase15:57
fwereade_hazmat, a pleasure15:59
hazmatniemeyer, is there a store  hooked up to that ip address?16:00
fwereade_hazmat, +1 despite the inherent cowboyishness, assuming niemeyer says "yes" to your last question ;)16:00
fwereade_allenap, cool16:00
jimbakerhazmat, +2116:02
jimbakerwell i meant +116:02
hazmatfwereade_ there's a python store impl in the code base ? i wanted to try an end2end test16:02
fwereade_hazmat, there is a kinda hackish one, would be better to use the real one really16:03
hazmatfwereade_, doesn't appear to be running atm16:03
hazmatfwereade_, where is the python one?16:03
hazmatnm.. oh.. i guess i can just the go one locally16:04
fwereade_hazmat, lp:~fwereade/juju/charm-store-hack fwiw16:05
hazmatquite a few conflicts running charmload in parallel16:10
hazmatteam meeting? i'm happy to skip it16:32
jimbakerhazmat, +1 on skip16:36
fwereade_hazmat, also +1 :)16:37
niemeyerhazmat: No, it's a public IP unhooked16:39
niemeyerhazmat: But there will be16:39
niemeyerhazmat: Soon!16:39
SpamapSniemeyer: wtf is 5 revs behind..16:42
niemeyerSpamapS: Will check, thanks16:44
fwereade_hazmat, hm, what parallel branch should we be working against?16:59
niemeyerwrtp: So admin-identity is showing the real thing now?16:59
niemeyerhazmat: +1 on the address.. -1 on env variable.16:59
wrtpniemeyer: i'm not sure what you mean by "the real thing" there16:59
niemeyerwrtp: The CL17:00
wrtpniemeyer: yeah17:00
niemeyerwrtp: pre-req issues17:00
wrtpniemeyer: yes17:00
wrtpniemeyer: there are a few other minor changes too (formatting, extra log messages) which i'm hoping you don't mind me bundling in the same CL17:01
wrtpniemeyer: i'm a bit concerned that the live tests fail with relatively high frequency (~ 40% without actually measuring). it's due to transient errors from the EC2 servers. i'm wondering if we should make goamz/ec2 automatically retry when it gets one of those errors.17:05
niemeyerwrtp: Huh?17:05
niemeyerwrtp: I thought we had just addressed that?17:05
wrtpniemeyer: that was different17:05
wrtpniemeyer: that was dealing with eventual-consistency issues, not random server failure17:06
niemeyerwrtp: What's random server failure?17:06
wrtpniemeyer: here are a few examples i've collected: http://paste.ubuntu.com/895342/17:06
wrtpniemeyer: i've seen all of those errors multiple times17:07
wrtpniemeyer: actually, the first one i've only seen once.17:07
niemeyerwrtp: no instances found is not a random server error..17:07
niemeyerwrtp: Seems like normal eventual consistency issues17:07
wrtpniemeyer: yeah, that's different, sorry, it shouldn't have been there.17:07
niemeyerOk, np17:07
niemeyerwrtp: Yeah, those errors are awkward17:08
wrtpniemeyer: i *think* that the ec2 package is best placed to deal with them17:08
wrtpgoamz/ec2, that is17:08
niemeyerwrtp: I'm happy to have a pass at that after I get rid of my current assignments17:09
wrtpniemeyer: i could do it if you like17:09
niemeyerwrtp: I've implemented something I'm comfortable with in that area before17:09
niemeyerwrtp: Please leave that with me as I've done it before.. should hopefully not take long17:09
niemeyerwrtp: I'll copy some code over17:09
wrtpniemeyer: cool, np.17:09
wrtpniemeyer: the "remote error: handshake failure" error comes from the crypto/tls package, BTW17:10
niemeyerwrtp: I was guessing that..17:11
niemeyerwrtp: It's probably the same "unexpected EOF" problem in a different client side location17:11
wrtpniemeyer: it doesn't look like it, actually.17:12
wrtpniemeyer: the "handshake failure" comes from an error code sent by the remote side.17:12
wrtphave we got a meeting now?17:17
niemeyerwtf      20165  0.0  5.0 194760 25184 pts/2    Sl+  Mar20   0:49 python /home/wtf/ftests/build/juju/bin/juju status17:17
niemeyerSpamapS: ^17:17
niemeyerhazmat: ^17:17
niemeyerThat's why the wtf is locked up17:17
niemeyerTheMue: and yeah, timeouts are good ;)17:18
niemeyerwrtp: Indeedfully!17:18
TheMueniemeyer: :D17:19
wrtptimeouts are good, but go makes it easy to program them at the level they're needed, rather than baking them into every call...17:19
niemeyerwrtp: It's great that no one is suggesting that we should bake them in every call then.17:23
wrtpniemeyer: cool.17:23
niemeyerwrtp: It's also great that we seem to have found pretty good spots for our timeouts so far.17:23
wrtpniemeyer: just saying, before we start doing it :-)17:23
niemeyerwrtp: Sure, just sayin' too..17:24
hazmatSpamapS, did you have any luck tracking how to reproduce that destroy service issue?17:25
SpamapShazmat: its on my todo after I get through the 500+ email backlog for today ;)17:26
SpamapShazmat: but it happened twice where destroy-service gave that 'no node' and then had to be run one more time.17:26
niemeyerSpamapS: wtf is alive again17:29
SpamapSniemeyer: thanks!17:30
niemeyerSpamapS: np.. we should have some kind to kill/retry the tests17:30
niemeyerErm17:30
niemeyerSpamapS: np.. we should have some kind of timeout to kill/retry the tests17:30
niemeyerwrtp: LGTM on admin-identity, with a trivial only17:36
wrtpniemeyer: thanks17:36
wrtpwasn't this meeting supposed to start 40 minutes ago?17:41
wrtp(or 1h40m ago if you look at the calendar event...)17:42
niemeyerwrtp: Yeah.. I'm happy to have it now17:42
niemeyerTheMue, hazmat, fwereade_, bcsaller, jimbaker?17:43
niemeyerPerfect timing :-)17:43
wrtpnot william, it seems :-)17:43
bcsallerheh17:43
niemeyerWilliam is probably a bit overloaded with meetings.. I think we spent something like 4h on G+ yesterday17:44
niemeyerfwereade_: Didn't we? :)17:44
fwereade_niemeyer, sorry, I think I missed something17:44
niemeyer<niemeyer> William is probably a bit overloaded with meetings.. I think we spent something like 4h on G+ yesterday17:45
niemeyerwrtp: Ok, I think that meeting isn't flying :-)17:49
wrtphmm, i just joined a hangout with fwereade_ and hazmat, but i don't think it was the team meeting :-)17:49
niemeyerwrtp, fwereade_, TheMue: I'd like to take that chance to schedule a weekly Go port meeting17:49
wrtpniemeyer: looks like it17:49
wrtpniemeyer: i think we should definitely do that17:50
niemeyerWhen is a good time for you?  I guess my mornings are best?17:50
wrtpniemeyer: the usual meeting is too many people to get useful stuff discussed, i think17:50
niemeyerTheMue, fwereade_?17:50
wrtpniemeyer: mornings definitely best, yes17:50
fwereade_niemeyer, sorry, talking to hazmat17:50
niemeyerfwereade_: No need to apologize.. I'm fine with you talking to hazmat.17:51
niemeyer;-)17:51
niemeyerwrtp: What about.. Monday, at ..17:52
niemeyer14UTC?17:52
wrtpniemeyer: i'm going to be away for two mondays in a row soon (the 2nd and the 9th) if that makes a difference17:53
niemeyerwrtp: Well, it certainly does17:53
wrtpbut usually that would be fine, and the time's fine too17:54
niemeyerwrtp: We can start with Tuesday, some time, and then move back to Monday once you're done with those17:54
niemeyers/some/same/17:54
wrtpniemeyer: i'm away the entire week of the 2nd and monday and tues the following week17:54
niemeyerUgh, ok :)17:54
wrtpniemeyer: (two public holidays around easter & i'm taking some other days too)17:54
niemeyerWell, let's do it Monday then..17:55
niemeyerSince you'll be off next week, no day will fit :)17:55
niemeyerNext week => Week of the 2nd17:55
wrtpniemeyer: yeah17:55
wrtpniemeyer: but i'm around wed-fri on the week after that17:55
niemeyerwrtp: Sure, we can move that week maybe, or have two meetings on the same week17:55
wrtpniemeyer: sounds good.17:56
niemeyerI'll add to the calendar17:56
wrtpniemeyer: i like the idea of a monday meeting in general17:56
niemeyerwrtp: yeah, it's good to quick the week off in a good way17:56
niemeyers/quick/kick17:56
wrtpyeah17:56
fwereade_wrtp, niemeyer: sorry... but week after next I'll be off mon/tue :(17:58
niemeyerfwereade_: No worries.. people will be on/off casually.. we can adapt specific events17:59
TheMueniemeyer: monday is ok17:59
fwereade_wrtp, niemeyer: in principle, though, ++monday17:59
TheMueniemeyer: could it be that tomb isn't tagged for the current weekly?17:59
wrtpfwereade_: was just looking at adding a juju destroy-environment command. is there any command that *doesn't* take a --environment flag?18:01
niemeyerTheMue, fwereade_, wrtp: If I didn't screw up, you should have received an event notification at the adequate time18:02
fwereade_wrtp, there are certainly mooted ones, that don't exist yet18:02
niemeyerTheMue: Checking18:02
wrtpfwereade_: ok. just thought it could be a general argument that applied to all.18:02
wrtpfwereade_: what mooted commands might not talk to the juju environment, BTW?18:02
fwereade_wrtp, I'm not sure of there are any that exist right now, but sadly it's not completely general18:03
fwereade_wrtp, juju source to branch a charm, I think18:03
niemeyerTheMue: You're right.. pushing18:03
TheMueniemeyer: great, thx18:04
wrtpfwereade_: hmm, i wouldn't mind if that command still accepted the --environment flag, but errored out in ParsePositional if so.18:04
fwereade_wrtp, it's not appropriate for supercommand though -- jujud uses it too and that's never available there18:05
wrtpfwereade_: as it's definitely the exception rather than the rule18:05
fwereade_wrtp, an embedded environment-arg-handling type would see a fair bit of use though18:05
wrtpfwereade_: yeah, i'll do something like that.18:06
fwereade_wrtp, cool18:06
fwereade_hazmat, improved status output LGTM18:09
fwereade_off for a while, everyone, take care18:09
niemeyerhazmat: Sorry for bothering, but is the change to drop the env var for the store coming?18:22
niemeyerhazmat: Just want to make sure SpamapS has the right thing to publish, if an update is rolling18:22
wrtpfwereade_: have fun18:23
wrtpi'm off too now. see you tomorrow18:31
niemeyerwrtp, fwereade_: CheersĀ²18:32
TheMueand i'm finishing for today too, bye18:47
hazmatniemeyer, was on another call, just checked in with SpamapS, the change will be in, working it on now19:09
niemeyerhazmat: Thanks a lot19:13
niemeyerhazmat: Synchronizing re. store with IS ATM19:13
flacosteSpamapS: do we have a package yet?20:12
SpamapSflacoste: no, a few more commits trickling in20:24
flacosteSpamapS: 35 minutes man ;-)20:26
* niemeyer breaks down for a moment20:32
SpamapSOH20:33
SpamapSflacoste: I misunderstood the timing20:33
flacosteSpamapS: daylight savings confused you?20:34
SpamapSno I thought it was tomorrow morning20:34
SpamapSmy bad20:34
hazmatsomeone just pointed out to me a  memory leak in txzk20:36
hazmatmight be in the bindings.. still investigating20:37
flacosteSpamapS: do you think you can still get it in?20:37
SpamapSflacoste: working as fast as I can20:39
flacostewe are in good hands!20:40
SpamapStest suite fails20:52
SpamapShttp://paste.ubuntu.com/895639/20:52
SpamapShazmat: ^^20:52
hazmatSpamapS, sigh.. so much for the cowboy20:53
hazmatSpamapS, un momento20:53
SpamapSlol20:53
* SpamapS blows smoke off his six shooter and reloads20:53
hazmatSpamapS, done20:55
SpamapSwhat was the deal?20:55
hazmatSpamapS, we changed the store.charms.ubuntu.com hardcoded url to an elastic ip address for now20:55
hazmatSpamapS, we'll change back b4 the rc once the store domain issues are resolved20:56
SpamapSoh boy fun20:56
SpamapSand more fails21:03
SpamapShttp://paste.ubuntu.com/895650/21:03
SpamapSsorry guys this is a total no-go21:04
SpamapSEven if I upload21:04
SpamapSit will FTBFS21:04
rogpeppeniemeyer: i'm just trying to plan summer hols. i've got "platform rally" in my diary for june 25th to 29th, but there seems no indication of that on the wiki. is there anything happening at around that time or has it been cancelled?21:29
fwereade_SpamapS, huh, I wasn't familiar with that acronym but I'd expected at least *one* of the Fs to mean what I thought21:43
SpamapSfwereade_: Fail To Build From Source21:46
hazmatargh.. running full suite21:57
SpamapShttps://launchpadlibrarian.net/97931138/buildlog_ubuntu-natty-i386.juju_0.5%2Bbzr492-1juju3~natty1_FAILEDTOBUILD.txt.gz21:58
SpamapShazmat: is there some reason this test is slow juju.control.tests.test_upgrade_charm.RemoteUpgradeCharmTest21:59
SpamapStest_latest_dry_run22:00
SpamapSI mean22:00
SpamapSperhaps something new to mock in twisted?22:00
hazmatSpamapS, yes its.. still using the old domain address to mock out an external call, which doesn't match so then it goes external to the actual ip, but that's not hooked up yet, so it hangs22:01
SpamapSOk22:01
SpamapSso.. just a lot of last minute thrashing w/o running the test suite?22:01
hazmatyeah.. not in full22:02
hazmatone constant typed   out everywhere22:02
SpamapSHeh.. that'll teach ya22:02
SpamapSso it was committed as a trivial..22:03
SpamapSbut it really wasn't :)22:03
SpamapSping me when there's a new commit, I'll re-try and re-upload. Can you also document the whole thing in a bug (release team requests as much)22:06
SpamapSIts not clear at all *why* we made that last minute change from teh changelog.22:06
niemeyerrogpeppe: I actually don't know how that looks like yet22:06
rogpeppeniemeyer: ok, thanks.22:07
hazmatniemeyer, so why are we changing the url to an ip address, if we need to change it back again as an SRU?23:36
hazmatniemeyer, ie. isn't it better to just fix the domain name23:37
niemeyerhazmat: Hmm.. I guess the ip address is a bad idea indeed, as it'll make it harder to switch in a bit.23:52
niemeyerhazmat: I'm just trying to move things forward.. right now there's some contention going on in terms of getting the store moving23:52
niemeyerhazmat: I'd prefer to use a domain, but apparently using a ubuntu.com in my account is an issue23:55

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