/srv/irclogs.ubuntu.com/2013/04/03/#juju-dev.txt

thumperhi davecheney01:44
davecheneythumper: hi mate01:49
davecheneyjust about to get on a plane back to syd01:49
davecheneygot 10 mins to talk01:49
thumperoh, ok01:50
davecheneythanks for your CL that hard codes precise01:50
thumperdavecheney: the ec2 screwage was due to the series changes I did some time ago01:50
davecheneythat will probably solve the problem01:50
thumperdavecheney: it does (at least for me)01:50
davecheneythat whole debarcale made me so angry last night01:50
thumperdavecheney: I was broke, made the change, and it worked and deployed something01:50
thumpersorry about that01:50
thumperI've been learning a lot about tools recently01:51
davecheneynah, not your fault01:51
thumperI also have some man page chagnes01:51
davecheneyI have half a mind to demand that everyone takes one for the team and upgrades off precise so they can see what it's like01:51
davecheneythis shit just works if your laptop runs precise01:51
thumperdavecheney: no-one should be using precise01:51
thumperdavecheney: company policy says you should be using the latest01:51
thumperdavecheney: and upgrade to the new version at beta time01:51
* davecheney agrees with thumper01:51
davecheneywell, i dunno about raring01:52
thumperthose are the rules01:52
thumperthe whole company should upgrade to raring at raring beta time01:52
thumperalways has been therule01:52
davecheneyi think it isn't well communicated to new starters01:52
thumperheh01:52
davecheneynot that much is01:52
thumperdavecheney: so I want to run ./scripts/generate-docs.py man -o - | gzip > /usr/share/man/man1/juju.1.gz01:53
thumperbut I need a sudo somewhere01:53
thumperhow to I make that work?01:53
davecheneythumper: no idea, never used that before01:53
thumper:)01:53
davecheneyis that from the older python juju ?01:53
thumperno, something I've just made01:53
thumperabout to propose it01:53
thumperbut we need some install magic...01:53
thumperfor the deb01:54
davecheneyohhhhhhhhh, i see the problem01:54
thumperright :)01:54
thumperI wrote it in python because it was a lot faster for me01:54
davecheneythis is normally done in a postinstall01:54
davecheneyright ?01:54
thumperright01:54
davecheneythat runs as root correct ?01:54
thumperprobably01:54
davecheneydoesn't fakeroot make it work enough for testing ?01:54
thumperbut I don't know how to test it01:54
thumperwell, locally I just go: ./generate-docs.py man01:54
thumperman ./juju.101:55
thumperand it works01:55
davecheneycan you test by making the path relative ?01:55
davecheneyie01:55
davecheneygzip > usr/share/....01:55
thumperI'll ask someone who knows packages :)01:55
thumperwhere do we store our packaging info?01:55
thumperand is there a way I can test it?01:56
davecheneypackage info ?01:56
davecheneythe debian/ overlay ?01:56
davecheneyhave a look at the build recipes from the juju-core page01:57
thumperok, ta01:57
davecheneythe overlay repo is owned by me01:57
* thumper nods01:57
davecheneyno good reason for that01:57
davecheneyit just is01:57
davecheneysorry, i have tiny internet, so it'll be faster for you to find it than me01:57
* thumper nods01:58
thumperthat's fine01:58
* thumper has munchies02:36
=== gary_poster is now known as gary_poster|away
* thumper goes to make dinner, back later to talk with fwereade__03:28
=== thumper is now known as thumper-afk
TheMuemorning06:06
=== thumper-afk is now known as thumper
bigjoolsfwereade__: hi, around?07:47
fwereade__bigjools, heyhey, in a hangout so responding slowly, but yes07:47
bigjoolsfwereade__: ah ok, I'd like to do a quick hangout with you, can you let me know when you're free please07:47
=== lynxman_ is now known as lynxman
jamfwereade__: 2 things I need to discuss with you, though I'm about to head to lunch. (1) What have we decided about fmt.Fprintf vs log.Infof? I'd like to land something, that is the last bit remaining. (At this point, I've stopped caring, just looking for an answer so I can land). (2) You wanted to talk about --public.07:51
jamI should be back in 1-2 hrs. I'll ping you when I'm back07:51
rogpeppemorning all07:52
davecheneyevenin'07:54
dimiternjam: Fprintf, as I recall, because log output from commands is discarded07:54
fwereade__jam, cheers07:58
=== andrewdeane is now known as awd
rogpeppejam: i would prefer a two stage solution - first crank up the default logging level to "Notice" and add a way to set the logging level. then use log.Infof and log.Noticef as appropriate.08:06
rogpeppejam: the fact that all log output from commands is discarded, even errors, is i think wrong.08:06
fwereade__bigjools, heyhey08:19
fwereade__bigjools, available in 3 minutes or so, would you start a hangout please?08:20
bigjoolsfwereade__: hi, yes, let me find you on g+08:20
bigjoolsfwereade__: invited you08:23
dimiternrogpeppe: when I was doing upgrade-charm cmd, I added logging and was wondering why virtually no other cmds use it (except the bootstrap I think) and fwereade__ suggested that I should remove it, because the output gets ignored08:34
rogpeppedimitern: this is something we need to sort out08:34
rogpeppedimitern: i've made my views clear; i suspect i won't win the argument though.08:35
dimiternrogpeppe: yeah it's a little worrying08:35
rogpeppedimitern: thanks for your review this morning, BTW08:35
dimiternrogpeppe: sure thing08:36
dimiternrogpeppe: so is this a step towards indirect watching08:36
rogpeppedimitern: yup08:36
fwereade__dimitern, rogpeppe: it is true that we need to sort out logging/feedback; I'm still not so sure it's something we should be committing to fixing for 13.0408:37
dimiternrogpeppe: cool, how is it going to work for status, i'm curious?08:37
rogpeppedimitern: the backing is now free to make whatever changes it likes to the allInfo in response to a mongo change08:37
rogpeppedimitern: when the allWatcher backing sees a status change, it will look up the object that the status is referring to in the allInfo and update the status on that08:38
rogpeppedimitern: i'm not yet sure if we're guaranteed to see the status change before we see the object itself being created08:39
rogpeppedimitern: i think we are, as the status change happens in a separate transaction08:40
fwereade__.me afk a bit08:41
dimiternrogpeppe: cool stuff! well for one, unit/machine status won't change on u/m creation, only afterwards (it defaults to pending)08:43
rogpeppedimitern: yeah. i'll have to do this for other stuff too, like service config and constraints08:43
* rogpeppe has a look at the txn source.08:44
dimiternrogpeppe: yeah, sgtm08:44
* rogpeppe just noticed that txn.Runner.Run isn't entirely thread safe08:55
rogpeppe but perhaps i'm missing something08:55
davecheneyrogpeppe: eeeeeeeeeeeek09:03
rogpeppedavecheney: it's nothing too bad09:03
rogpeppedavecheney: just that bson.NewObjectId does a non-thread-safe lazy initialization of the machine id09:03
rogpeppedavecheney: i'm about to propose a fix09:04
davecheneyrogpeppe: +109:04
* rogpeppe strays off the lbox beaten track and gets bitten by a panic in the undergrowth09:16
* TheMue dcc's rogpeppe a plaster09:20
* davecheney visits instantrimshot.com09:20
dimiternfwereade__: I realised I didn't include removeStatusOp :) good thing to write better tests09:26
fwereade__dimitern, cheers09:26
dimiternfwereade__: I think it came along nicely, will propose it in a bit - you wanted to see it, right?09:27
fwereade__dimitern, please, yeah09:27
rogpeppemgz: ping09:33
mgzhey rogpeppe09:34
rogpeppemgz: i'm just trying to diagnose an lbox problem - it's saying no common ancestor between two branches. how can i see the revisions leading up to a particular revision id? (in this case, gustavo@niemeyer.net-20120622195450-4kpn1az3v9nnld2c)09:35
mgz`bzr log -n0 -rrevid:^THAT`09:36
rogpeppemgz: ha! i've just worked it out, no probs09:36
rogpeppemgz: i did bzr log -r ..gustavo@niemeyer.net-20120622195450-4kpn1az3v9nnld2c09:36
mgzright, -r is smart by default, if something looks like a revid rather than a revno it can work it out09:37
rogpeppemgz: interestingly yours only printed a single log message09:38
mgzyea, you want the leading .. for the history to that point09:39
dimiternfwereade__:  there it is - https://codereview.appspot.com/8256043/09:39
fwereade__dimitern, cheers, I'm just writing an essay on it atm, I'll look atthe changes soon09:39
dimiternfwereade__: wow, an essay, why?09:40
fwereade__dimitern, well, not really09:40
dimiternfwereade__: to explain why the approach is better than having status in the docs?09:40
fwereade__dimitern, I'm just trying to add a concise response to rogpeppe and TheMue's concerns re doc-splitting09:40
dimiternfwereade__: :) thought so, cheers - I tried to the best of my knowledge to reply, but I'd appreciate yours as well09:41
dimiternfwereade__: following on status stuff, there are 3 cards on the kanban board which are related. i think i can pick up the one about MA setting status next09:52
rogpeppedavecheney: https://codereview.appspot.com/830604309:55
* davecheney looks09:55
rogpeppemgz: i think something must have been sticky. i started again with a fresh branch and it all worked.09:57
rogpeppedavecheney: i can't really see any down sides to the change to use an array rather than a slice. it's about the same number of lines of source, and it has the additional advantage that the indexes are checked at compile time. if there was any additional complexity involved, i'd agree.10:09
rogpeppes/lines of source/number of bytes of source/10:09
mgzrogpeppe: lbox does do some very voodoo things and its assumptions when creating new branches and merging don't seem solid to me10:10
rogpeppemgz: yeah, i've got that impression10:11
rogpeppemgz: it doesn't help that the error messages often don't include the stderr from the bzr command that failed10:11
rogpeppemgz: i only found out what was going on by delving in and changing the source10:11
dimiternjam: standup?10:30
rogpeppefwereade__: ping10:41
rogpeppedimitern: ping10:42
dimiternrogpeppe: pong10:43
rogpeppedimitern: i was just wondering why a Unit doesn't have a charm url set by default.10:43
rogpeppedimitern: perhaps you could explain?10:43
dimiternrogpeppe: because it needs to be deployed first10:44
dimiternrogpeppe: and there are sanity checks to perform in SetCharm as well10:45
dimiternrogpeppe: makes sense?10:45
* dimitern lunch, bbiab10:46
rogpeppedimitern: so you'll always get a charm url set when a unit starts running?10:46
dimiternrogpeppe: I think so, yes - when it's in the started state the charm's already deployed10:47
rogpeppedimitern: cool10:47
jamdimitern, mgz: the standup time is still now rather than 1hr ago, though we haven't actually had a chance to discuss moving it.11:22
mgzright, we were just checking11:22
dimiternback11:29
dimiternmgz: ping11:31
jammgz: you coming to mumble?11:31
jamfwereade__: I'm back around, though we have our standup for about 15 min. Thanks for commenting on the CL. now just to chat about --public11:36
fwereade__jam, sure, I'll be around11:36
fwereade__rogpeppe, hell, sorry, I didn't see that11:36
fwereade__rogpeppe, what can I do for you?11:36
rogpeppefwereade__: np. i got an answer from dimitern11:39
dimiternfwereade__: so basically LGTM from you?11:40
fwereade__rogpeppe, ah, yes -- to be specific, the unit sets its charm URL once it knows what charm it's going to use11:40
fwereade__dimitern, I have a lot of comments that I'm still making -- we should talk, and figure out which of them should be addressed and when, and that will then segue into an LGTM when we agree :)11:41
dimiternfwereade__: sure, thanks11:42
fwereade__dimitern, just reviewed, maybe read over it after the standup while I talk to jam?11:42
dimiternfwereade__: cheers, sgtm11:43
dimiternfwereade__: ping me when you have 10m for a g+ please11:49
jamfwereade__: so you had some concern about --public vs local tools11:49
jamI believe without --public it is roughly equivalent to '--upload-tools' except we are using the public tools.11:49
TheMuefwereade__: thx for your response regarding the multi docs11:54
fwereade__TheMue, yw, hope it made some sense11:54
fwereade__jam, really quick g+?11:54
jamfwereade__: sure11:55
TheMuefwereade__: yes, so far i can live with it. only my concerns about transactions done by the accessing software and not the dbms itself still remain. but i'm fine if i'm wrong here. ;)11:57
mgzoh lord i think this is actually working...12:02
rogpeppemgz: always a worrying moment12:02
jammgz: you got it?12:03
jamyay12:03
jamI wonder if you could have avoided the intermediate commit with "rm -rf *; bzr merge --force -r 0..-1 ..."12:04
jambut if the commit helps, great.12:04
=== wedgwood_away is now known as wedgwood
rogpeppefwereade__: have you got time for a v quick G+ chat?12:04
=== wedgwood is now known as Guest65596
fwereade__rogpeppe, not just now, I think... about to talk to dimiter and will really need some lunch after that I think12:05
rogpeppefwereade__: ok, np. i need to resolve some issues around the allWatcher and split documents.12:06
rogpeppefwereade__: i *think* i understand the issues, but i just want to make sure12:06
fwereade__rogpeppe, ah, ok: was my suggestion that it should be directly analogous to annotation watching sensible?12:07
rogpeppefwereade__: not really. we don't want the allWatcher client to be aware of every split.12:07
fwereade__rogpeppe, ok, so I guess you want status and presence watches feeding into the unit and machine infos12:10
rogpeppefwereade__: yup12:10
rogpeppefwereade__: and it's the issues around doing that that i need to resolve12:10
rogpeppefwereade__: in particular the txn log ordering12:10
rogpeppefwereade__: for instance, if the status doc is created in the same transaction as its unit, i don't think there's any guarantee that i'll see the unit before i see its status.12:11
rogpeppefwereade__: which means, i think, that i'll need a side-stash where we store items that we've been told about but that we don't yet know the parent docs for.12:13
rogpeppefwereade__: because we don't want to be telling a client about a unit status without any other info about that unit.12:13
fwereade__rogpeppe, or you could drop events for unrecognised statuses on the floor, and when first constructing an X doc grab the status explicitly that one time12:14
fwereade__rogpeppe, for future changes, just update the fields you need to in the info doc and reorder as appropriate12:15
fwereade__rogpeppe, (whether those changes are to the object or to its status)12:15
* rogpeppe tries to work out if that's guaranteed to work12:15
jaminteresting, if you start 'lbox submit', and it starts checking your tree, and then you 'bzr switch' while it is still thinking about uploading12:16
jamit will end up submitting the new branch12:16
jameven though it tested the old12:16
rogpeppejam: ha. "don't do that" :-)12:16
jamrogpeppe: fortunately both were meant to be submitted eventually12:17
jamI switched in order to clean up the second for submit12:17
jamso I just ended up pulling that back into the first12:17
rogpeppejam: i've done a similar thing before.12:17
rogpeppefwereade__: yes, i think that'll work ok. we'll be doing more work than strictly necessary, but that's true all round anyway12:19
fwereade__rogpeppe, cool12:19
* fwereade__ has a relieved :)12:19
=== wedgwood is now known as Guest36969
jammgz: is everything looking good?12:49
mgzthink so, doing recipe builds now to see12:50
mgzgot some local prpv12:50
mgz....provider test failures, under packing build/test environment that didn't appear when run in branch, but that's not related to any changes in branch so far as I can see12:50
jammgz: care to walk me through how to make a bucket public and what its URL would then be?13:00
mgzon what cloud?13:01
jammgz: in this case, canonistack13:02
jamI think I can 'swift post juju-dist -r ???'13:02
mgz".r:*,.rlistings"13:04
jammgz: then how do I translate that into a public url?13:07
jammanually hack the auth info?13:07
jamlooks like if I do a manual auth request I can just grab the publicURL for the swift endpoint.13:13
jamyay, looks like it worked13:14
jamwe now have a public bucket for canonistack13:14
dimiternfwereade__: ping13:22
fwereade__dimitern, pong13:34
dimiternfwereade__: forgot to ask about moving status docs where they're used, but I figured you meant moving them in unit/machine.go respectively13:35
fwereade__dimitern, yeah, sorry13:36
dimiternfwereade__: np, so re lazy creation of status docs - now it's explicit in addUnit/MachineOps13:37
fwereade__dimitern, sweet13:38
* dimitern started to feel at home in the state package :)13:38
dimiternfwereade__: something's fishy about removeUnitOps - when there's one unit only it returns s.removeOps13:48
fwereade__dimitern, always?13:50
fwereade__dimitern, or when there's one unit *and* the service is Dying?13:50
dimiternfwereade__: when it's dying, RC=0, UC=113:51
fwereade__dimitern, yep -- removal of the last unit should also remove the service13:51
fwereade__dimitern, (of a Dying service)13:51
dimiternfwereade__: the thing is, this is not enough I think - we should also remove the status there, right?13:52
fwereade__dimitern, if removeUnitOps is failing to remove the unit, or any of its associated data, that should be rectified13:53
dimiternfwereade__: re https://codereview.appspot.com/8256043/diff/11001/state/service.go#newcode61113:53
dimiternfwereade__: I think I'm correct in putting removeStatusOp there, because it'll be included in the case above13:53
fwereade__dimitern, hm, ok13:54
dimiternfwereade__: if I move removeStatusOp at the end we'll miss the case when svc is dying13:54
fwereade__dimitern, you've found two bugs in unit removal, I suspect13:54
fwereade__dimitern, one is that the annotation removal is only done at the end, and is missed in the final-unit-of-dying-service case13:55
dimiternfwereade__: not quite sure what I found yet, but moving it at the end causes a lot of tests to fail13:55
dimiternfwereade__: right!13:55
fwereade__dimitern, another is that the constraints removal op is done too early13:55
dimiternfwereade__: so all these 3 should go after Remove: true of the unit: constraints, status, annotations13:56
fwereade__dimitern, yep: your mission is to find the right way to code that nicely :)13:56
dimiternfwereade__: well, just adding them in the append call that adds the removal of the unit doc seems fine?13:57
fwereade__dimitern, and on general principles it's probably best to do the service removal ops last, once you've sorted out the unit13:57
fwereade__dimitern, yeah, I'm just whining about having to keep track of the constraint removal op13:57
fwereade__dimitern, hey, I have an evil idea13:58
dimiternfwereade__: yeah?13:58
fwereade__dimitern, drop the Assert from removeConstraintsOp and use it unconditionally13:58
fwereade__dimitern, mgo/txn will ignore a remove of a doc that doesn't exist13:58
dimiternfwereade__: yeah, I did that for removeStatusOp as well13:59
fwereade__dimitern, I noticed -- I think it's a good practice in general13:59
fwereade__dimitern, for that sort of data anyway13:59
fwereade__dimitern, excellent13:59
dimiternfwereade__: sweet! now tests pass :)14:00
fwereade__dimitern, that'll let you lose a level of indentation in the else clause at the top of the method too14:00
dimiternfwereade__: where?14:01
dimiternfwereade__: u.doc.MachineId != "" ?14:01
fwereade__dimitern, yeah, that becomes `else if ... {` not `else { if ... {`14:02
dimiternfwereade__: done, only one thing remains14:02
dimiternfwereade__: in the unit/machine get/set status test when dying14:03
dimiternfwereade__: Status() always returns successfully, even when the thing is removed14:03
fwereade__dimitern, yeah, fix that -- now the docs are guaranteed, there's no justification for that missing=pending nonsense14:04
dimiternfwereade__: that's because of the Pending default case14:04
fwereade__dimitern, and for that matter there's no justification for Pending being "", either14:04
dimiternfwereade__: sure, will do14:05
dimiternjam: now I see the sync-tools cmd's filenames are with underscore, I think this needs to change to conform to the other commands. it's not just bitching, but underscores are usually for test modules :)14:17
rogpeppefwereade__: you might be pleased to know that i just saw TestBootstrapAndDeploy pass.14:29
* fwereade__ cheers wildly and flings lacy unmentionables14:29
dimiternfwereade__: wanna last glance at https://codereview.appspot.com/8256043 before I throw it in trunk?14:30
fwereade__dimitern, sure, cheers14:30
* rogpeppe is now trying for a clean run of all live tests14:30
dimiternrogpeppe: with the API?14:30
rogpeppedimitern: i'm not sure what you mean14:31
dimiternrogpeppe: was it not passing before?14:31
rogpeppedimitern: it's been the reason the live tests haven't been passing for a month or so14:31
dimiternrogpeppe: whoa, I totally missed that :) good to hear they pass now14:32
rogpeppedimitern: you should run the live tests some time :-)14:33
dimiternrogpeppe: yeah, with openstack I did, but never with ec214:34
dimiternniemeyer: ping14:36
rogpeppefwereade__: dear mr on-call reviewer; here's a review for you :-) https://codereview.appspot.com/831804314:37
fwereade__rogpeppe, cheers14:37
rogpeppehey, we're on revision 1214:37
rogpeppein binary14:37
rogpeppe110014:37
dimiternrogpeppe: not for long :)14:38
rogpeppedimitern: 13 next14:38
rogpeppedimitern: then NaN14:38
dimiternor NaB14:38
rogpeppeTheMue: ping14:43
fwereade__rogpeppe, LGTM14:45
rogpeppefwereade__: thanks14:45
fwereade__rogpeppe, I think that's probably a trivial tbh, given that I infer you've run the live tests :)14:46
rogpeppefwereade__: you looked at the juju home stuff in more detail than me, ISTR. perhaps you could suggest a solution to a related panic i'm seeing in the live tests.14:47
fwereade__rogpeppe, blarg14:47
fwereade__rogpeppe, paste it?14:47
dimiternniemeyer: when you see this, can you please remove the flag from the channel that doesn't allow topic changes? we discussed to start using it to convey information through it, like the on call reviewer, possibly bug counts, etc.14:47
rogpeppefwereade__: http://paste.ubuntu.com/5673777/14:48
rogpeppefwereade__: i'm not sure when juju home is supposed to be initialized14:48
fwereade__rogpeppe, before any test that needs to use it14:49
fwereade__rogpeppe, and at the beginning of cmd/juju.Main14:49
rogpeppefwereade__: i can't see how the live tests work at all then14:51
rogpeppefwereade__: because AFAICS they don't initialise juju home14:51
fwereade__rogpeppe, it is possible that they do not: I did not think to verify that in the review14:51
rogpeppefwereade__: they do work, apart from that one test14:52
rogpeppefwereade__: so there's something odd going on14:52
rogpeppefwereade__: ah, i see!14:53
rogpeppefwereade__: the authorized-key field doesn't look at JUJU_HOME14:53
rogpeppefwereade__: right, i know how to fix it now14:54
fwereade__rogpeppe, wait, ISTM that we're running a weird test with just the dummy provider mixed in among all the live tests14:54
fwereade__rogpeppe, why are we creating a totally fresh config in a test that has a config available already?14:54
rogpeppefwereade__: actually we're just leveraging the dummy provider there, not using it14:54
rogpeppefwereade__: we use it to put the tools into, then fake 'em up into the actual environment14:55
fwereade__rogpeppe, hmm, ok, I see14:55
fwereade__rogpeppe, not sure I entirely approve but that's the least of my worries :)14:55
fwereade__rogpeppe, anyway, thanks14:56
rogpeppefwereade__: np14:56
niemeyerdimitern: I believe anyone can change the topic14:59
niemeyerdimitern: Via chanserv14:59
dimiternniemeyer: do you know how of hand, or I should try google? :)15:00
niemeyerdimitern: Hold on15:00
niemeyerdimitern: /msg chanserv topic #juju-dev I am a new topic.15:01
niemeyerdimitern: This is handy too, for future uses: /msg chanserv help15:01
=== ChanServ changed the topic of #juju-dev to: On call reviewer: fwereade
dimiternniemeyer: cheers!15:02
fwereade__need to think for a bit, going for a walk, be back later15:02
=== wedgwood is now known as wedgwood_away
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: fwereade | Bugs: 3 Critical, 54 High - https://bugs.launchpad.net/juju-core/
=== wedgwood_away is now known as wedgwood
mattywanyone know what this means (juju-core bootstrap --upload-tools on aws) 2013/04/03 15:17:02 ERROR JUJU:jujud:bootstrap-state jujud bootstrap-state command failed: state entity tag not found in configuration15:20
mgzmattyw: see the "Cannot bootstrap instances in ec2" thread on the juju-dev list15:21
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: fwereade | Bugs: 2 Critical, 53 High - https://bugs.launchpad.net/juju-core/
rogpeppefwereade__: another review for you (this one actually fixes the live tests) https://codereview.appspot.com/832104315:38
dimiternrogpeppe: the diff is screwed15:39
rogpeppedimitern: thanks; will try again15:39
rogpeppedimitern: PTAL15:40
fwereade__rogpeppe, awesome, LGTM15:40
rogpeppefwereade__: ta!15:41
rogpeppedimitern: i'm not sure how to run the openstack live tests.15:42
rogpeppedimitern: do i need an account on canonistack or something?15:43
dimiternrogpeppe: you need creds yeah, there's a wiki page about it, let me find it15:43
rogpeppedimitern: i'll submit anyway if that's ok - it must be better than the old one, and it's not tickling anything provider-specific15:44
dimiternrogpeppe: well jujutest is used in both, but yeah, I agree it's good to land15:45
dimiternrogpeppe: if openstack live tests fail (which is not uncommon on canonistack) we'll fix them15:46
rogpeppedimitern: yeah; but the logic we're actually testing here is all state-based.15:46
dimiternrogpeppe: https://wiki.canonical.com/InformationInfrastructure/IS/CanonicalOpenstack?action=show&redirect=CanoniStack15:46
* rogpeppe looks for his 2-factor keyring15:48
* dimitern thinks provisioner tests are kinda crap - no testing is done for errors while starting a machine15:54
dimiterndoes it sound sane to add some way to cause StartInstance to fail in the dummy provider for testing sake?15:56
=== flaviami_ is now known as flaviamissi_
=== flaviamissi_ is now known as flaviamissi
TheMueso, time to leave. one final review for today: https://codereview.appspot.com/832204316:47
TheMuen8 all16:48
rogpeppefwereade__: if you're around, another CL for your delight and delectation: https://codereview.appspot.com/8328043/17:43
dimiternrogpeppe: I can take a look17:46
dimiternrogpeppe: meanwhile - https://codereview.appspot.com/8330043/ ?17:46
=== deryck is now known as deryck[lunch]
=== wedgwood is now known as wedgwood_away
=== deryck[lunch] is now known as deryck
=== wedgwood_away is now known as wedgwood
=== bac_ is now known as bac
thumpermorning20:05
fwereade__thumper, heyhey20:07
thumperhi fwereade__20:08
fwereade__thumper, do you have any clue why upgrade-juju is using version.Current?20:08
thumperfwereade__: in which place?20:08
fwereade__thumper, I think it just uses it once, in bumpedVersion20:08
thumperfwereade__: that is (IMO) used only for developers to force a new version20:09
thumperfwereade__: which I'd love to find a different way around20:09
fwereade__thumper, sure, but I don;t think it's correct, is it?20:09
thumperum...20:09
* thumper looks20:09
fwereade__thumper, the agent-version is relevant, and the version of the tools we *built* is relevant20:09
fwereade__thumper, or at least the above two might be20:10
fwereade__thumper, but I don;t see what the current client version has to do with it20:10
thumperfwereade__: I think the expectation there is that the client version will be equal or greater than any existing tools20:11
fwereade__thumper, seems like a bit of an assumption to me, but I guess it's a derail anyway20:11
thumperfwereade__: yes, I agree that the whole method is wrong20:12
thumperfwereade__: could be easily fixed20:12
=== _mup__ is now known as _mup_
* thumper does a few drive by boy-scout branches to feel like something is improving20:28
* fwereade__ heartily endorses thumper's behaviour20:51
fwereade__thumper, btw, do you know offhand what's a valid launchpad id?20:51
thumperfwereade__: where are you looking?20:52
thumperand id for what?20:52
fwereade__thumper, I'm peering suspiciously at the charm.validUser regexp20:52
fwereade__thumper, user id20:52
fwereade__thumper, in charm/url.go20:53
thumperhmm...20:53
thumperI'd have to look it up20:53
thumperwhat is the regex?20:53
fwereade__thumper, https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDsQFjAB&url=https%3A%2F%2Fhelp.launchpad.net%2FYourAccount%2FNewAccount&ei=nZVcUcjSO8GS7AaHnIDwCA&usg=AFQjCNE_bzVarX3yyWj40q2JeFnCtuT-hw&sig2=UjM0ZR4vv8kZOCr3nVeAzQ&cad=rja20:53
fwereade__er, not that, whatever it is20:53
fwereade__thumper, regexp.MustCompile("^[a-z0-9][a-zA-Z0-9+.-]+$")20:54
thumperhmm.. not sure we can have capitals20:54
thumperA short unique name, beginning with a lower-case letter or number, and containing only letters, numbers, dots, hyphens, or plus signs.20:54
thumperso perhaps...20:55
thumperthat regex matches what LP says20:55
thumperthough I'm not sure that uppercase is valid there20:55
fwereade__thumper, ok, excellent, I just couldn't find where it was specified20:55
thumperbut I would have to read the LP source20:55
fwereade__thumper, seems like it might be covered, so let's go with it20:56
fwereade__thumper, they'll all come from LP anyway20:56
fwereade__thumper, thanks20:56
thumperkk20:56
* thumper goes to grap his boxing wraps to have something to do while the tests run21:00
* thumper rages a little22:15
bigjoolsthumper: against a machine?22:20
thumperbigjools: against our shitty package dependency chains22:20
thumperand circular deps22:20
thumperespecially in testing22:20
bigjoolsruh roh22:20
* thumper made another package22:22
thumperhmm...22:26
thumpermy refactoring got just a little out of hand...22:26
* thumper stops refactoring22:26
thumperdavecheney: I have a branch that is more paletable with "precise" in it, has many of the fixes I wanted for removing version.Current without actually removing it yet22:27
thumpersimple refactoring grew past 800 line diff, so I've stopped22:28
thumpertests all still pass \o/22:28
davecheneythumper: SUBMIT!!22:28
thumperdavecheney: well, proposing first :022:28
davecheneyseriouslu, i'm blocked at the moment22:28
davecheneyok, i shall review in anger22:29
fwereade__thumper, this might very *very* well with what I'm about to propose, I just realised I was about to start replacing version.Current with "precise" everywhere :)22:34
thumperfwereade__: wait...22:34
thumperreview incoming22:35
thumper https://code.launchpad.net/~thumper/juju-core/mongo-driveby/+merge/15699222:35
thumperother one coming...22:35
thumperdavecheney: fwereade__: Rietveld: https://codereview.appspot.com/834804322:36
davecheneythumper: ta22:37
* thumper goes to get gym kit on22:38
thumperfwereade__: I hope this doesn't clash with what you've been doing22:42
fwereade__thumper, nope, not at all so far, it *might* be a disturbingly perfect matchup22:43
thumperfwereade__: that that would be fortuitous22:45
thumperI'm about to head off to the gym shortly22:48
thumperhmm... I just spotted a copy and paste error22:50
fwereade__thumper, you have a preliminary review22:56
fwereade__thumper, lots of questions I'm afraid22:56
thumper:(22:56
thumperok22:56
fwereade__thumper, take heart, I'm +1 on the fundamentals, mostly just quibbling about the details, only really unsure in a couple of places22:57
* thumper nods22:58
thumperI'll look after the gym22:58
=== thumper is now known as thumper-gym
=== wedgwood is now known as wedgwood_away
fwereade__thumper-gym, davecheney: PTAL at https://codereview.appspot.com/835204323:40
fwereade__thumper-gym, davecheney, it's a minimal bootstrap --fake-tools; I have verified that I can use cross-series envs fine, so long as I fake up all required series at bootstrap time23:42
fwereade__thumper-gym, davecheney: adding it to upgrade-juju is harder because I get distracted and want to fix things, so I think it's best left for now23:42
fwereade__thumper-gym, davecheney: it's not a complete fix but it hopefully gives davecheney in particular a useful way forward23:43
davecheneyfwereade__: tahnks23:45
fwereade__davecheney, if you get a mo, please try it out, in case I've done something stupid23:45
fwereade__davecheney, juju bootstrap --upload-tools --fake-series precise23:46
fwereade__davecheney, I think covers your use case23:46
fwereade__davecheney, you might want precise,quantal if you're on raring and need quantal charms23:46
* fwereade__ -> bed23:47

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