/srv/irclogs.ubuntu.com/2014/08/18/#juju-dev.txt

menn0davecheney: i've just pushed more wrench changes again. can you have another quick look?00:44
menn0if the scanner returns an error it's logged now00:44
menn0and various other things you raised have been addressed (except where I don't think they should be :-p)00:45
davecheneymenn0: yup, LGTM, thanks00:45
menn0davecheney: cheers00:45
davecheneyargh01:54
davecheneythumper:01:54
davecheneyall this canWatch("") stuff is only so the tests can check the error path01:54
davecheneyin the real code they are hard coded to return true01:54
davecheneybut in the tests we set them to return false just so we can cause an error which we can then check ...01:54
thumperhmm...01:55
thumperseems suspect01:55
davecheney        if _, ok := <-watch.Changes(); ok {01:55
davecheney                result.NotifyWatcherId = p.resources.Register(watch)01:55
davecheneywhat the code wants to do is cause this line to fail01:55
davecheneybut it can't, instead it causese the line above01:55
davecheney        if !canWatch("machine-0") {01:55
davecheney                return result, common.ErrPerm01:55
davecheneyto fail01:55
davecheneyso it gets it's error01:55
davecheneythumper: so i can do two things01:57
davecheney1. supply a dummy, but valid tag01:57
davecheney2. remove the logic and the test01:58
davecheneyas it can never be try in production01:58
davecheney1. solves todays problem by pushing it off onto someone else later on01:58
thumperwhere is the code that always returns true?01:58
davecheneystate/apiserver/provisioner:NewProvsionerApi01:58
davecheneyfor example01:58
davecheneythe tests's don't use that function, the construct a provisioner by hand01:59
thumperall I'd want to see a test for is that the provisioner api end point can watch the environment02:00
thumperany tests for failures there is a waste IMO02:00
thumperthe auth func tests the tag02:01
davecheneyok, let me prepare a proposal02:01
wallyworldaxw: morning, you have a minute?02:01
axwwallyworld: heya, yep02:01
thumperalthough it does seem that there should be a check around whether or not the machine can read the secrets02:02
thumperdavecheney: as that is dependent on the state server job02:02
davecheneythumper: yes, that is different02:02
thumperok02:02
wallyworldaxw: standup hangout?02:02
davecheneythumper: https://github.com/juju/juju/pull/53302:15
davecheneyi'd appreciate your thoughts02:15
thumperok02:16
davecheneythis is option (2)02:16
davecheneywhich is more wholesome02:16
davecheneybut more difficult to stoumach02:16
davecheneythumper: thanks for the review02:24
thumpernp02:24
davecheneythis resolves 80% of the outstanding problems02:24
davecheney20% coming real soon now02:24
davecheneythen this is DONE02:24
davecheneyand we can change common.AuthFunc02:24
davecheneythumper: https://github.com/juju/juju/pull/53402:47
davecheneylucky(~/src/github.com/juju/juju) % juju ssh 002:58
davecheneyERROR upgrade in progress - Juju functionality is limited02:58
davecheneygrrr02:58
davecheneymenn0: http://paste.ubuntu.com/8076514/02:59
davecheneywhy did this happen, i thought it was fixed02:59
menn0davecheney: I believe when you do --upload-tools the initial version in the machine agent's conf file is different from version.Current03:01
menn0so upgrades still happen03:01
menn0"upgrade mode" should be pretty short lived03:01
davecheneythat sounds odd03:01
menn0have you got the machine agent log handy03:01
menn0?03:01
davecheney--upload-tools derives the versino of the tools from the local juju that just did --upload-tools03:02
menn0the logs will show the previous and next version, and also when the upgrade steps worker finished03:03
davecheneymenn0: http://paste.ubuntu.com/8076553/03:03
* menn0 looks03:03
davecheneymenn0: there should be no version difference03:03
davecheneythere was no previous environment03:03
davecheneyi bootstrapped it from the version of juju i just built03:03
menn0here's the clue: "starting upgrade from 1.21-alpha1-precise-amd64 to 1.21-alpha1.1-precise-amd64"03:04
davecheneymenn0: this is going to generate issues from the juju deployer folks if they use --upload-tools03:04
menn0the agent started at 02:57:34 and upgrades were done at 02:58:1403:05
davecheneysure03:05
davecheneyit is slow03:05
menn0so "upgrade mode" was 45s long03:05
davecheneybut i was able to trigger it in 3 out of 3 cases03:05
davecheneyjuju bootstrap --upload-tools && juju deploy cs:mysql03:06
davecheneywill fail03:06
menn0if there's an actual upgrade to perform, we need to limit the API (aka "upgrade mode")03:06
davecheneyright, but why is there an upgrade03:07
davecheneyther eis nothing to upgrade from03:07
menn0no idea03:07
menn0I didn't write that03:07
menn0but I'm happy to have a look03:07
davecheneythanks03:07
davecheneyi just know its going to generate more bugs from the juju installer folks03:07
davecheneywill log issue03:07
menn0I suspect it's to do with some functionality that keeps giving you new patch version every time you run upgrade-juju --upload-tools03:08
menn0assign it to me03:08
menn0it would be nice if we could avoid this following bootstrap03:08
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/135807803:11
mupBug #1358078: cmd/juju: juju bootstrap --upload-tools on a fresh environment triggers upgrade mode <juju-core:New> <https://launchpad.net/bugs/1358078>03:11
davecheneymenn0: i know CTS always script their juju deployments and they assume if a command returned 0 then it is safe to continue with the next command03:11
menn0davecheney: although that's ok with most commands I wonder if you be 100% that the machine agent is ready to go immediately after the bootstrap client command returns03:16
menn0it's certainly worse now with the restricted API03:17
menn0so I'll try to fix that03:17
davecheneymenn0: its not the machine agent03:17
davecheneyit's being able to create entires in the state database03:17
davecheneymaybe that is what you were asking03:17
menn0yeah but the bootstrap machine agent runs the API server03:18
davecheneydid you mean machine agent == provisioner03:18
menn0sorry, I should have said state server, not machine agent03:18
davecheneyiff you can connect to the api, the expectaion was it would accept commands03:18
menn0agreed.03:19
menn0I guess because the client retries API requests it does just tend to work03:19
menn0the API server doesn't come up immediately when the bootstrap machine agent comes up03:20
menn0but the client side retries mask that from the user's persepective03:20
menn0anyway... let me have a look at this problem03:20
davecheneythanks03:20
wallyworldmenn0: does the above problem affect 1.20?03:33
wallyworldi would argue that we don't do upgrade steps if just the build number is different03:34
* menn0 checks 1.20 tag03:34
wallyworldsorry, i could have checked too, thought you may have known ottofh03:35
wallyworldottoyh even03:35
davecheneywallyworld: i think it only affects using --upload tools03:35
wallyworlddavecheney: sure, but they use that in 1.20 :-)03:36
menn0wallyworld: yes it does affect 1.2003:36
wallyworld:-(03:36
wallyworldok, i'll assign the bug to 1.20 also03:36
davecheneywallyworld: it only afects you if you start with an empty enviromment03:36
davecheneythen bootstrap --upload-tools03:36
wallyworldwhich is done for local provider03:37
davecheneyBALLS!03:37
menn0and it's worse there because my recent work to avoid upgrade mode to if it's not required isn't in 1.2003:37
wallyworldooops03:37
menn0or at least it's not in 1.20.203:37
wallyworldwe are about to release 1.20.503:37
wallyworldtomorrow03:38
menn0this problem has been there all through 1.2003:38
wallyworldbut this new issue will need to be fixed for 1.20.603:38
wallyworldthere was a bug raised actually03:38
wallyworldbut we closed it03:38
wallyworldi think it does need some love however03:39
wallyworldmenn0: i fixed the milestones on the bug - generally juju-core is assigned to a dev milestone; you mark a bug as affecting 1.20 series and then assign to a 1.20.x milestone for work done on that series03:40
thumperwaigani: a lot of problems?03:41
waiganithumper: just had to redo everything03:42
menn0wallyworld: ok thanks. I'm a launchpad newbie03:42
thumperwaigani: why?03:42
wallyworldmenn0: np at all, just an fyi :-)03:42
davecheneyis anyone paying attention to how many times the tests fail in CI and only pass because we retry them with less load ?03:42
wallyworlddavecheney: yes03:42
davecheneywallyworld: good03:43
wallyworldthere will be an email this week03:43
davecheneywallyworld: right03:43
davecheneythanks, glad to know you're on top of it03:43
davecheneyi dunno what you are thinking, but I'm thinking 'remove the retry'03:43
davecheneywe can use humans for this03:43
wallyworldbeen busy, would have liked to have initiated something sooner03:43
wallyworlddavecheney: the plan is to have people who wrote the tests be responsible for fixing them as a matter of priority; and yes the retry will go as soon as practical; the expectation will be that tests will pass first time, not the other way around03:44
wallyworldie we should be surprised when they fail, not when they pass03:45
wallyworldQA have offered to do a report on the failing tests03:45
wallyworldwill make it easier to see what fails and how often03:46
waiganithumper: okay it's up03:46
davecheneywallyworld: sgtm03:47
waiganithumper: shall I jump back in hanyout?03:47
menn0wallyworld, davecheney: I've targeted bug 1350111 to 1.20 too because we need something there too. It'll be a somewhat different patch however as the code has changed a lot since 1.2003:48
mupBug #1350111: machine agent enters "upgrade mode" unnecessarily <juju-core:Fix Committed by menno.smits> <juju-core 1.20:In Progress by menno.smits> <https://launchpad.net/bugs/1350111>03:48
thumperwaigani: yeah03:48
wallyworldmenn0: thanks, will be good to get that sorted in 1.20 also03:48
davecheneywallyworld: did you think we'll have a 1.22 stable release for U ?03:49
davecheneysupporting 1.20 for the whole of U and backported to T would be unpleasant03:50
wallyworlddavecheney: i am hoping so03:50
wallyworldbut there are so many bugs still to fix :-(03:50
davecheney。・゚゚・(>д<)・゚゚・。03:52
menn0davecheney: there there03:59
menn0wallyworld: do you have time for a quick hangout?04:33
wallyworldsure04:33
menn0wallyworld: https://plus.google.com/hangouts/_/canonical.com/onyx-standup ?04:34
wallyworldmenn0: waiting in hangout04:35
* thumper sends off an email and calls it a day05:14
thumperlaters05:14
menn0davecheney, wallyworld: I have a fix for bug 1350111 (for trunk anyway). Will propose shortly.05:18
mupBug #1350111: machine agent enters "upgrade mode" unnecessarily <juju-core:Fix Committed by menno.smits> <juju-core 1.20:In Progress by menno.smits> <https://launchpad.net/bugs/1350111>05:18
wallyworldgreat05:18
menn0sorry, wrong number. I meant bug 1358078.05:19
mupBug #1358078: cmd/juju: juju bootstrap --upload-tools on a fresh environment triggers upgrade mode <juju-core:In Progress by menno.smits> <juju-core 1.20:Triaged> <https://launchpad.net/bugs/1358078>05:19
davecheneymenn0: sweet05:27
menn0davecheney, wallyworld: https://github.com/juju/juju/pull/53505:28
wallyworldlooking05:28
menn0wallyworld: thanks for the review05:32
wallyworldthank you for the fix05:32
menn0i've tested local already and am doing EC2 now05:33
wallyworld\o/05:33
menn0I have to deal with kids for a bit but will be back later05:33
axwwallyworld: fyi, I've gone down a bit of a rabbit hole - there's lots of badness in our maas provider code. going to try and fix it a bit while I'm there05:48
wallyworldok05:48
bigjools\o/05:48
wallyworld/o\05:48
axwwe don't convert juju architectures to maas ones, so our constraints are just broken05:48
wallyworld\o/05:48
axwwe don't return hardware characteristics05:49
axwwe choose arbitrary tools after acquring a node of an arbitrary arch05:49
axw:|05:49
bigjoolsand nobody noticed?  Is any of this tested? :)05:52
axwbigjools: there's a warning and a bug, I'm surprised nobody is kicking up more of a stink. I think we're just lucky because we default to amd64, which is what most people would be using I assume.05:53
bigjoolsyeah agreed05:53
dimiternmorning all05:57
axwmorning dimitern05:59
wallyworldbigjools: it hasn't been fully tested because we have been begging for maas hardware for 9 months06:09
bigjoolsI offered use of our CI lab as well06:10
axwwallyworld: bigjools: actually turns out we were just not passing the subarch, and we happen to have the same arch identifiers. false alarm on that specific bit...06:11
bigjoolsI was gonna say, that would have been spectacular06:12
wallyworldphew06:12
bigjoolsnot surprised about subarch06:12
bigjoolsyou don't *need* it06:12
wallyworldaxw: how complete is the bit of code to pass the tools to target nodes via cloud init?06:13
axwwallyworld: 100% functional, just fixing bits around the edge and will have a bunch of tests to update.06:13
axwwallyworld: I have tested local and ec2, I haven't tested manual yet but that shouldn't be an issue06:14
axwwallyworld: sorry, I guess not quite 100% because we still need to update metadata...06:14
voidspac_morning all06:14
wallyworldaxw: i'm thinking of cherry picking just that bit for use in 1.20, because the tools url hacking i need for local to use a mounted dir is messy, plus it won't work for kvm06:14
wallyworldo/06:15
axwwallyworld: it's not something that can easily be cherrypicked. provider/maas needs updates to return the arch name, for one thing06:15
axwmorning voidspac_06:15
wallyworldaxw: this would just be for local provider06:15
wallyworldto eliminate the need to get tools from http server06:16
axwwallyworld: it's much more intrusive than that... I've had to move all the "EnsureTools" stuff *outside* the providers06:16
axwso it's all or none06:16
wallyworldrightio06:16
axwmenn0: I'm not sure that change is right06:27
axwmenn0: we always bootstrap the same version as the CLI06:27
axwthen upgrade toe the desired version06:27
axwto*06:27
davecheneyaxw: is this the --upload-tools bug ?06:39
axwdavecheney: https://github.com/juju/juju/pull/53506:40
davecheneyok06:40
axwso yes, looks like it06:40
davecheneybut whern I do --upload-tools, why is there a disagreemnt between the tools I uploaded, and the tools that the env thinks it is running06:41
axwdunno, that sounds broken06:41
axwdavecheney: ah, probably because upload increments the build number on the tools06:41
davecheneyaxw: i think we have some logic that fudges the tools version uplaoded to not match any existing tools06:41
davecheneyie, the .1 that gets stuffed in there06:42
axwyeh06:42
axwp06:42
davecheneythat's the bug06:42
axwgtg get my daughter from school, bbl06:43
jammorning dimitern07:01
dimiternmorning jam! welcome back :)07:01
jamthanks07:01
jamdimitern: you just hung, but it might be me, I'll try reconnecting07:05
dimiternjam, i've reconnected as well07:06
dimiternjam, you seem hung in the g+07:07
=== uru_ is now known as urulama
dimiternjam1, i've rejoined several times, each time it says you're in the room, but then once I'm in it says waiting for people to join07:12
dimiternjam1, wanna try juju-sapphire g+ instead?07:12
jam1dimitern: my internet just died for 10 sec07:12
jam1but I should be able to connect now07:13
menn0axw: ping?07:35
axwmenn0: pong07:35
menn0axw: so this proposed fix... I think it's ok but you have concerns07:36
menn0as far as I can tell, when --upload-tools is used07:36
menn0the wrong version gets written to agent.conf07:36
menn0so that when the machine agent comes up it think it needs to run upgrade steps07:37
axwmenn0: ignore --upload-tools for a moment07:37
menn0ok07:37
axwmenn0: when we bootstrap, we look for the most recent tools that matches major.minor of the CLI's tools07:37
axwmenn0: we bootstrap with the exact same tools the CLI is running, but set agent-version=most recent07:37
axwthe effect of this is that the machine agent comes up and immediately upgrades to agent-version07:38
axwthat's what we *want* to happen07:38
axwand it does happen like that now07:38
axwmenn0: IIANM, your change makes it so that the machine agent thinks it's running agent-version already, and so it doesn't run the upgrade steps07:39
menn0ok07:39
axwit'll still replace the binary, it just won't run the upgrade steps07:39
axwmenn0: the issue with --upload-tools is that it increments the Build number in the tools07:39
menn0yep, I understand the --upload-tools case07:40
axwso what's deployed is never the same as the CLI07:40
menn0I didn't know about the standard bootstrap case07:40
menn0I will have to rethink then07:40
menn0what we want is:07:40
menn0- normal bootstraps to work as you just described07:40
menn0- juju upgrade-juju --upload-tools which increments just the build number to still trigger upgrade steps (for developers)07:41
menn0- juju bootstrap --upload-tools to NOT trigger the upgrade steps07:41
axwyup07:42
axwmenn0: I think it's as simple as not incrementing the build number on bootstrap07:42
axwI don't see why we'd ever want to do that07:42
menn0yep07:42
menn0that makes sense07:42
* menn0 looks at code07:42
* axw should really document bootstrap some time07:43
menn0axw: I think I know why we still increment the version on bootstrap when --upload-tools is passed07:46
menn0if the tools storage is shared between envs07:46
menn0axw: is it?07:46
axwmenn0: I don't think you can do that without running into problems07:47
axwit's going to change real soon now anyway07:47
menn0ok then it should be fine07:47
axwwe're getting rid of provider storage07:47
menn0axw: I've been hunting through revision history07:50
menn0do you think the incrementing the build number is done to ensure that the uploaded tools are used in preference to any tools in the public streams?07:51
menn0axw: I'm wondering about another way to skin this cat:07:52
axwmenn0: ugh, that may be a problem, yeah.07:52
axwmenn0: TBH, it might be worth waiting till I'm done with my changes... this may be fixed incidentally07:52
menn0if bootstrap is given --upload-tools, we get that version into the agent.conf, if not use version.Current07:52
axwexcept that won't fix 1.2007:53
axwmenn0: can do, but sounds like it might be messy07:53
axwhow will you convey that information?07:53
menn0via a field in MachineConfig perhaps?07:54
menn0axw: so is the Tools field in cloudinit.MachineConfig definitely the target agent version, not the initial one?07:56
axwmenn0: until my changes go in, each provider's Bootstrap creates its own MachineConfig07:56
axwhmm07:57
axwmenn0: it is the bootstrap tools, but hmmmm07:57
axwmenn0: I think I may have misunderstood the change07:57
axwI'll take another look...07:57
menn0axw: np07:57
axwmenn0: sorry, your original change was right :)07:58
menn0phew!07:58
axwit'll bootstrap with those tools07:58
axwthen it'll see agent-version is different and upgrade07:58
axwsorry about that07:58
menn0no problems07:59
menn0I'd like to test the non-uploading case but that's kinda hard without having these changes in a official release07:59
menn0is there another way? (custom streams or something)08:00
menn0axw: ^^08:02
axwurhm08:02
axwyou could use sync-tools to generate the metadata08:03
axwmenn0: simplest way would probably be to tweak version.go, sync-tools, then revert version.go08:03
menn0axw: cool. I will look in to that tomorrow.08:03
menn0I also need to read simplestreams-metadata.txt08:03
menn0thanks for your help and for being concerned about my change08:04
axwno worries :)08:04
menn0I'd rather have that than bad code getting in08:04
menn0I'm EOD08:04
TheMuemorning08:07
dimiternmorning TheMue, voidspac_08:27
TheMuedimitern: I pushed my change to my repo on Friday, only the tests are missing. but I needed an additional API call to see if a machine is manually provisioned. looks good so far.08:28
dimiternTheMue, sweet! I'm looking forward to seeing it08:29
TheMuedimitern: the current changes are at https://github.com/TheMue/juju/compare/capability-detection-for-networker08:29
voidspac_TheMue: dimitern: morning08:30
TheMuevoidspac_: hello08:33
dimiternTheMue, looking08:34
dimiternTheMue, looks nice, although for the IsManual API call, I'd implement it a bit differently08:36
dimiternTheMue, like getting the IsManual flag as part of getting the machine's live value08:37
TheMuedimitern: it’s able for bulk calls08:37
dimiternTheMue, i.e. caching it, so you can return it directly without an extra call08:37
dimiternTheMue, yeah, LifeGetter also supports bulk calls08:37
TheMuedimitern: will take a look08:38
dimiternTheMue, cheers08:39
jam1TheMue: I'm just finishing up lunch, I'll be a little bit late.09:00
TheMuejam1:  ok, just ping09:00
mattywfwereade_, ping?09:00
jam1TheMue: I'm in the hangout09:22
voidspac_given a package name, how do I tell what files / binaries it provides?10:18
dimiternvoidspac_, you can run a godoc server for that package locally10:18
voidspac_dimitern: by package I mean ubuntu package, sorry10:19
dimiternvoidspac_, ah :)10:19
voidspac_dimitern: go doesn't have packages, does it?10:19
voidspac_I mean, it doesn't use that term10:19
voidspac_it has "dependencies", which can be anything pretty much10:20
dimiternvoidspac_, they are packages10:20
dimitern:)10:20
voidspac_well, they're not10:20
dimiternvoidspac_, for debs: $ apt-cache showsrc juju-core10:20
voidspac_they're a hodge-podge of files10:20
dimiternvoidspac_, :)10:20
voidspac_dimitern: thanks10:20
voidspac_dimitern: hmmm... not quite it, I want to know what files it will put where10:21
voidspac_dimitern: is there a determinstic way of knowing that?10:21
voidspac_I guess now as the install scripts execute code10:21
voidspac_I mean, I guess not10:23
dimiternvoidspac_, well, these 3 files are the only ones in the deb archive actually10:23
voidspac_dimitern: the tarballs?10:23
dimiternvoidspac_, if you want to see the source itself, try apt-get source <package>10:24
voidspac_dimitern: so download the package and inspect it10:24
voidspac_fair enough10:24
dimiternvoidspac_, yeah, and take a look at the debian tarball for hooks I guess10:24
dimiternvoidspac_, and rules (which is as readable as any generated Makefile :)10:25
voidspac_dimitern: thanks :-)10:27
wallyworldfwereade_: morning, you up for a chat about health checks sometime?10:36
fwereade_wallyworld, heyhey10:36
wallyworldlet me know when you have time and we can do a hangout10:38
fwereade_wallyworld, what time is it for you?10:38
wallyworld20:3010:39
fwereade_wallyworld, hmm, and how early do you like to get up?10:41
wallyworldi'm up around 6 but need to take the kid to school, back around 710:41
dimiternjam1, standup?10:47
* fwereade_ restarting then hopefully with wallyworld12:25
voidspac_perrito666: ping13:49
voidspac_Command failed: mongodump --dbpath /var/lib/juju/db13:49
voidspac_Error: bash: line 9: mongodump: command not found13:49
voidspac_perrito666: do you recognise that? No mongodump on my state server.13:50
ericsnowvoidspac_: /var/lib/juju/mongodump is installed as part of the tools in a local juju environment14:04
voidspac_ericsnow: this isn't local this is an openstack environment14:04
voidspac_ericsnow: and that error message was the output from "juju backup", that location is where the backup script was looking14:04
=== lazyPower_ is now known as lazyPower
voidspac_ericsnow: but thanks :-)14:05
ericsnowvoidspac_: (yeah, drop the "local" part)14:05
ericsnowvoidspac_: weird14:05
voidspac_ericsnow: I just destroyed the environment and will try again14:06
voidspac_ericsnow: I think I started the backup too early14:06
ericsnowvoidspac_: FYI horacio is out today14:06
voidspac_ericsnow: hmmm, installed as part of the tools?14:06
ericsnowvoidspac_: ah, that makes sense14:06
ericsnowvoidspac_: right14:07
voidspac_I wonder if that works when you do --upload-tools14:07
voidspac_ericsnow: I don't need upload-tools anyway, as restore is run on the client14:07
voidspac_although that might be weird...14:07
voidspac_we'll see14:07
voidspac_WARNING no prepackaged tools available14:08
voidspac_uploading tools14:08
voidspac_so I get no choice in the matter :-)14:08
ericsnowvoidspac_: while restore runs on the client, most of the work is happening on the remote host14:09
voidspac_ericsnow: yeah, but it's mostly batch scripts uploaded from the client :-)14:09
voidspac_ericsnow: the part I'm *changing* runs on the client14:10
voidspac_so that's the bit I want to check works14:10
ericsnowvoidspac_: disclaimer--most of what I know of restore is from working on backup :)14:10
voidspac_hah14:10
voidspac_ericsnow: I'm working on hacking a fix into the old plugin anyway14:10
voidspac_ericsnow: not touching the shiny new stuff you did :-)14:10
ericsnowvoidspac_: right14:10
ericsnowvoidspac_: still polishing :)14:10
voidspac_:-)14:11
=== stokachu_ is now known as stokachu
=== mup_ is now known as mup
voidspac_ericsnow: so when I bootstrap an openstack environment from dev I don't see a mongodump in the uploaded tools14:19
voidspac_I might have to blow away dev and try with 1.18/1.2014:20
voidspac_it might be a curiousity of upload-tools14:20
ericsnowvoidspac_: not sure then14:20
ericsnowvoidspac_: I never got around to figuring out for myself where mongodump, etc. came from14:21
ericsnowvoidspac_: it should be in the same dir as mongod14:21
voidspac_ah right14:22
voidspac_mongod isn't in the uploaded tools directory either, must be elsewhere14:22
voidspac_I'm trying with 1.18 now14:22
ericsnowvoidspac_: yeah, not the uploaded tools dir14:22
ericsnowvoidspac_: pretty sure /var/lib/juju holds just the juju-built mongo binaries14:23
voidspac_ericsnow: ok, will check when this environment has bootstrapped14:23
voidspac_thanks14:24
voidspac_(again)14:24
voidspac_:-)14:24
ericsnow:)14:24
ericsnowvoidspac_: yeah!  I was helpful to someone :)14:24
voidspac_ericsnow: /usr/lib/juju/bin14:31
voidspac_not /var/lib/juju14:32
ericsnowvoidspac_: ah14:32
voidspac_ericsnow: ok, interesting14:41
voidspac_ericsnow: so now with a freshly bootstrapped machine from dev14:41
voidspac_I *do* have mongodump in /usr/lib/juju/bin14:41
voidspac_but it's not in path14:41
ericsnowvoidspac_: right14:41
voidspac_I'm giving it a chance for bootstrap to complete before I try mongodump14:41
voidspac_looks like just a path issue then14:41
ericsnowvoidspac_: if I recall correctly it tries /usr/lib/juju/bin explicitly first and then falls back to $PATH14:42
voidspac_ericsnow: backup and restore CI test is passing, so it's not broken - it just may be hard / impossible to manually test without recreating some of the CI infastructure14:43
voidspac_(they avoid using --upload-tools in tests for other reasons)14:43
ericsnowvoidspac_: makes sense14:43
voidspac_brb14:44
voidspac_right15:35
voidspac_goodnight15:35
=== hatch__ is now known as hatch
katcoi need some help with facades: i see a FacadeCall("ContainerConfig",...), but i can't figure out where "ContainerConfig" is registered as a Facade...16:27
ericsnowkatco: registration happens with a call to state/apiserver/common.RegisterStandardFacade() (or similar)16:31
ericsnowkatco: e.g. state/apiserver/client/client.go16:31
katcoericsnow: yeah, i gathered that, but a quick grep shows no registrations for "ContainerConfig"... indeed the only _reference_ i can find to that facade is the call...16:31
ericsnowkatco: I don't see one under apiserver for ContainerConfig16:31
ericsnowkatco: is it a facade or something on a facade?16:31
ericsnowkatco: perhaps it's dead code?16:32
katcoericsnow: perhaps... i'm trying to wind my way through a failing test16:33
katcoericsnow: it's in api/provisioner/provision.go::CreateConfig()16:33
ericsnowkatco: looks like FacadeCall is just a wrapper around a facade for calling a method on that facade16:37
ericsnowkatco: so ContainerConfig is a method on some facade rather than a facade itself16:37
katcoericsnow: ah ok... so i'm trying to trace down the facade that's passed in; it's probably a method on there?16:38
ericsnowkatco: yep16:38
katcoericsnow: ok we'll see where this yarn ends then :)16:38
katcoericsnow: thank you16:38
ericsnowkatco: apiserver/provisioner/provisioner.go defines a ContainerConfig method16:39
katcoericsnow: yeah i had been looking at that, but it looks correct. i'm probably missing something eyeballing it16:39
katcoericsnow: arrrrrrg, it was a test mocking out that call.17:23
ericsnowkatco: :(17:24
sinzuikatco, ericsnow: have another version increment for stable because we are releases 1.20.5 today. https://github.com/juju/juju/pull/53718:01
katcosinzui: thanks, sinzui. very exciting :) lgtm too18:02
sinzuioh, for anyone looking at recent history of CI, Hp and AWS had soem bad hours. The QA team cleanup some machines and restarted the tests. master was *never* broken18:03
=== urulama is now known as urulama-afk
=== viperZ28_ is now known as viperZ28
=== StoneTable is now known as aisrael
=== tvansteenburgh1 is now known as tvansteenburgh
thumpermramm: morning, we hanging out this morning?21:01
mrammyep21:06
mrammsorry I am late21:06
mrammthumper: you still around?21:08
thumpermramm: aye21:08
* thumper jumps into hangout21:08
=== jcsackett_ is now known as jcsackett
katcowallyworld_: no worries. emacs just crashed when you sent that >.<21:35
alexisbthumper, on and ready when you are22:00
thumperalexisb: ack, coming22:00
alexisbno rush22:00
alexisbI just have a hard stop at the top of the hour22:00
=== perrito6` is now known as perrito666
menn0thumper, davecheney, waigani_ : regarding that bootstrap version behaviour that you didn't like the sound of23:35
menn0looking at the code23:35
menn0it seems like it might be ok23:35
thumpergood23:35
menn0it's asking the cloud instance itself for the tools metadata it has23:35
thumperright...23:35
menn0and therefore it's only checking through tools that are available /on that cloud/23:35
thumperyeah...23:35
thumperbut does it make sense for it it automatically upgrade?  Just wondering23:36
thumperand if so, to what version?23:36
menn0so it's not going to ask the new environment to upgrade to tools that it doesn't have23:36
thumperif I bootstrap 1.1823:36
thumperwhat happens?23:36
thumperassuming I have a 1.18.0 client23:36
menn0from what I have gathered from the code23:36
menn0it will bootstrap 1.18.023:36
menn0but set the env agent-version to the latest 1.18.X available on the cloud23:37
menn0so when the bootstrap machine agent comes up it will immediately upgraded to 1.18.X23:37
menn0if there is no 1.18 available on the cloud23:37
menn0it'll upload the local tools and the env will be running 1.18.0 (no upgrade)23:38
menn0does that sound reasonable?23:38
menn0if not, talk to Andrew23:38
menn0(I'm just the messenger!)23:38
thumperhmm...23:38
thumperbut the initial version is the same as the client?23:38
menn0yes, but only for a short time23:39
davecheneywaigani: if you want to be on call reviewer for today, that would be good, we only have brits23:39
menn0the upgrade (i.e. restart into the new version) happens almost immediately23:39
thumperand it is only the patch number that is allowed to change?23:39
thumperso major.minor have to be the same?23:39
menn0yes23:39
waiganidavecheney: okay23:39
menn0it filters on major.minor23:39
thumperI suppose that is ok23:40
menn0my guess for the reasoning is to ensure the the env is running with the most bugs fixed23:40
menn0thumper, davecheney: one problem that just comes to mind is that it has the potential the break the "juju bootstrap && juju deploy foo" use case.23:42
menn0if the bootstrap machine agent comes up and then restarts soon after23:43
menn0and then goes in to "upgrade mode" soon after23:43
thumperwell... hopefully the user has an up to date client :)23:46

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