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

hazmatarosales, interesting re affinity group bug00:12
hazmatarosales, did red squad implement affinity groups recently? it wasn't an issue last week00:13
thumpersinzui: no00:15
thumpersinzui: only minor jumps of .2 at this stage00:15
thumpersinzui: planning to fix this later00:15
thumpersinzui: has the world stopped burning?00:15
hazmatsinzui, i though it looked for the lastest compatible minor release00:18
hazmatwhoops thumper ^00:20
hazmatlooking at upgradejuju initVersions00:21
hazmatthumper, per environ/tools.FindTools ... f minorVersion = -1, then only majorVersion is considered.00:22
hazmats/f/if00:22
thumperhazmat: whether or not it looks for the latest tools is irrelevant, the code doesn't promise to work00:23
thumperI have been told loudly and often that we only support single jumps at this stage00:23
thumperand not from dev -> dev00:23
thumperonly from released -> current dev00:23
thumperor old release -> current release00:23
thumperor last release -> current release00:24
hazmatwell old_release -> current_release is the question.. and if the code doesn't prevent it, then the default behavior is effectively not supported00:24
hazmatie 1.12 upgrade will go straight to 1.16 or 1.18..00:25
thumper:)00:25
thumperhazmat: well, wether is does or not is a bit moot00:25
hazmateither its supported and its fine, or its not supported, and we have default behavior which is potentially dangerous for prod envs.00:26
hazmatthumper, then we can talk about downgrading ;-)00:26
thumperwell, I've been told it isn't supported, so we should check to see if it dies :)00:26
hazmatthankfully a test trivial with a downgrade..00:27
davecheneydowngrade ?00:28
davecheneyare you mad00:28
davecheneythe only way is up, baby00:29
hazmatdavecheney, i filed a bug and told it was meant to work for downgrade..00:29
hazmatbut you can --version=previous_version00:29
hazmatunfortunately can't go back to 1.12 since its not in simple streams..00:29
hazmatwhich also sort of explains the upgrade problems00:33
gary_posterhazmat, ack thanks.  I do have cgroup-lite installed.00:34
gary_poster(1.8)00:34
hazmatgary_poster, yeah.. i looked over the tracebacks again.. didn't seem related, not sure what's up there00:36
hazmatgary_poster, it did seem possibly networking related, but unclear..00:37
hazmatgary_poster, could you pastebin ifconfig from the host00:37
gary_posterhazmat http://paste.ubuntu.com/6177815/00:38
hazmattotally sane..00:38
hazmatthumper, gary_poster i'd ask hallyn about this one00:38
gary_posterhazmat, I was thinking the same.00:39
hazmatsinzui, thumper so with deploys coming from the new streams structure, effectively the only version of juju known to trunk is 1.15 atm.. no real testing of multi-version leaps atm unless using an old client00:40
davecheneyhazmat: i don't think downgrades have ever been supportde00:41
davecheneyi've certainly never heard that requirement, and it has never been a constraint00:41
hazmatdavecheney, fair enough.. this notion of 'support' only known to juju-core devs is interesting.. my concern is primarily what does the tool allow end users. if minor increment skipping isn't supported, why does the tool allow it.. much less do it by default.. if downgrading isn't supported, how about a warning at least.. if not remove the capability00:43
davecheneyhazmat: how can you downgrade ?00:44
davecheneymaybe this was added when I wasn't looking00:45
hazmatdavecheney, juju upgrade-juju --version=lower_version00:45
davecheneymeh, that is like --to, if you do that, all the safties are demoved00:46
davecheneyremoved00:46
hazmatdavecheney, https://bugs.launchpad.net/juju-core/+bug/122799100:46
_mup_Bug #1227991: upgrade-juju can downgrade.. and causes hook executions <juju-core:Opinion> <https://launchpad.net/bugs/1227991>00:46
davecheneyyup, certainly a footgun00:46
hazmatdavecheney,  --to doesn't remove safeties from juju, just the charms, and its quite safe for container spec00:49
hazmatalthough honestly i like the capability.. what i dislike is a default behavior which only juju-core devs knows is not supported, namely skipping versions on upgrades.00:50
hazmatie juju upgrade-juju.. resulting in an unsupported behavior00:50
* hazmat files a bug for future ref00:51
=== gary_poster is now known as gary_poster|away
thumperah ffs00:58
thumperlxc has changed its behaviour for another thing00:59
thumperfuckity fuck fuck00:59
* thumper looks at the docs00:59
* thumper goes to write another branch00:59
axwthumper: what's the cut off date for 1.16.0?01:06
thumperaxw: soft cut off is thursday I think01:14
thumperand then it gets harder :)01:14
axwthumper: okey dokey, ta01:14
axwpublic holiday came at a bad time :\01:15
* thumper shrugs01:15
* thumper goes to fix the lxc bug01:15
davecheneythumper: sounds like the same story as last time01:17
davecheneythere is a date01:17
davecheneybut it's optional01:17
davecheneydepending on your frame of reference01:17
thumperdavecheney: I would say that we only want bug fixes after that01:18
thumperand not try to drop features01:18
davecheneydrop == include01:20
davecheneyor drop == exclude ?01:20
davecheneydrop == land ?01:20
davecheneywhy why did I make my admin-secret so secret01:21
davecheneysuch a pain01:21
davecheneyy didn't i make it 'bob'01:21
thumpernot to land features01:26
davecheneyunderstood01:28
* thumper needs hacking music01:28
thumperaxw, davecheney: I'm confused02:00
thumperI use os.Symlink to make a symlink02:00
thumperbut it doesn't set the symlink mode flag02:00
thumperif I go os.Stat(path), fileinfo.Mode().IsRegular() it returns true02:00
thumperwhy?02:00
davecheneythumper: not sure02:01
davecheneylet me try02:01
thumperI'm writing a checker for IsSymlink02:01
axwalso not sure..02:01
thumperso in my test test, I make a symlink , then test it02:01
thumperand it says nah02:01
* thumper is confused02:02
thumper   c.Assert(symlinkPath, jc.IsSymlink)02:02
thumper... obtained string = "/tmp/gocheck-5577006791947779410/8/a-symlink"02:02
thumper... /tmp/gocheck-5577006791947779410/8/a-symlink is not a symlink: &{name:a-symlink size:0 mode:384 modTime:{sec:63516189566 nsec:62250446 loc:0x6c71c0} sys:0xc2000975a0}, true02:02
hazmatanyone seen this one.. https://bugs.launchpad.net/bugs/123345702:02
_mup_Bug #1233457: service with no units stuck in lifecycle dying  <cts> <juju-core:New> <https://launchpad.net/bugs/1233457>02:02
thumperfile, err := ioutil.TempFile(c.MkDir(), "")02:03
thumperc.Assert(err, gc.IsNil)02:03
thumpersymlinkPath := filepath.Join(filepath.Dir(file.Name()), "a-symlink")02:03
thumpererr = os.Symlink(file.Name(), symlinkPath)02:03
thumperc.Assert(err, gc.IsNil)02:03
hazmatcts needs a fix, and afaics the only thing to do is munge the db..02:03
hazmathow about those pastebins02:03
thumperhazmat: sure...02:03
axwthumper: I think you want os.Lstat02:04
thumperah...02:04
thumperyeah02:04
thumperStat is checking the thing that is being pointed to right?02:04
axwyup02:04
hazmatthumper, python is the same btw02:04
hazmatos.lstat vs os.stat02:04
thumperyeah, that's it02:04
thumperhazmat: no, not seen that before02:05
thumperalthough maybe I have, but I don't recall02:05
thumperwe have some lifecycle issues02:06
hazmatthumper, so what's the downside of just yanking that document from mongo..02:12
thumperhazmat: unsure02:12
davecheneyhazmat: nobody has ever tried02:13
hazmatafaics as long as its cleared out of units, relations, relation scopes, its fine.02:13
hazmatthumper, probably some txn issues as well02:14
hazmatyeah... that's the problem.. prod customer env.. doing the crazy.. i guess i need  a full db dump to verify this is sane..02:14
hazmatbut against a sample env, it does look okay..02:15
hazmat the txn observers complicate things, but nothing triggers on this observation02:16
hazmatthumper, hmm.. let me ask a different way.. do you know what processes the cleanup of services in lifecycle:dying02:16
davecheneywould have to be the provisioner02:16
hazmatie could wondering if i could just bounce the bootstrap jujud to process it02:16
thumperhazmat: no, there is a lifecycle doc written by fwereade in the tree, but no I don't really know02:17
davecheneyhazmat: try it02:17
davecheneycan't hurt02:17
hazmatdavecheney, why the provisioner?02:17
hazmatits not related to the provider02:17
davecheneyhazmat: it's the only one left02:17
davecheneyunit agent moves the unit to dying02:17
davecheneythere is no service agent02:17
davecheneyso it must be the provisioner02:17
hazmatdavecheney, fair enough02:18
hazmatdavecheney, or at least a job on the machine agent02:18
hazmaton bootstrap02:18
hazmatie could just as easily be api02:18
hazmator something else02:18
hazmatdavecheney, you reasonably sure that bouncing it won't pertub the system?02:19
=== julianwa_ is now known as julian
=== julian is now known as juliawa
davecheneyhazmat: it could be the machine agent02:20
davecheneybut that is a problem02:20
davecheneybecause when the last machine is removed02:20
davecheneywho will remove the service ?02:20
davecheneythe machine agent moves the unit from dying to dead02:20
davecheneythat is all02:20
=== juliawa is now known as julianwa
hazmathi julianwa02:21
julianwahi davecheney  hazmat02:21
davecheneyhazmat: yes02:21
davecheneybouncing it is fine02:21
hazmatjulianwa, so the suggestion is juju ssh 0 ... and then02:21
davecheneyit is designed for this02:21
hazmatjulianwa, sudo service jujud-machine-0 restart02:22
julianwahazmat: ok, will try in few minutes02:22
hazmatjulianwa, that might resolve it as forces the agent to process current state, shouldn't pertub the system at all02:22
davecheneyhazmat: the bootstrap agent is probably restarting all the time02:23
hazmatjulianwa, if that doesn't work.. then i'll have to fallback to the manual munge the db, which i'd rather avoid if possible, as its not supported.02:23
hazmatdavecheney, huh02:23
davecheneywe don't let the process die, 'cos that will cause upstart to put it in the sin bin02:23
davecheneybut the process does restart the worker frequently02:23
hazmatdavecheney, if that's the case then the persistent error here over days, would have already been resolved..02:24
davecheneyhazmat: yes02:24
davecheneyso a restart is unliekly to fix the problem02:24
davecheneybut it's also unlikly to make it any worse02:24
hazmatdavecheney, upstart will restart as long as its not a persistent suicide02:25
hazmatdavecheney, how often does juju kill workers.. my understanding is that it only does it on error in the worker02:25
hazmatie. its not a periodic process02:25
davecheneyhazmat: depends on the error02:25
davecheneywith maas, it's quite frequent02:25
davecheneywith other providers, it tends to be less frequent02:26
hazmatdavecheney, ie.. if its not a periodic process... then no error.. means no restart02:26
hazmatso a manual restart still has value02:26
davecheneyhazmat: sure02:26
hazmatdavecheney, is the scope of the worker all the environ jobs02:26
davecheneybottom line02:26
davecheneynobody knows what will fix it02:26
davecheneybut a restart can't hurt02:26
hazmatindeed02:26
hazmatand its better than touching juju's db by hand.. which is the next step.. so worth a shot02:27
hazmataha02:28
thumperhazmat: I'd highly recommend not hacking the juju db by hand02:28
hazmatdavecheney, thumper we have the underlying issue it looks like02:28
hazmatjujud died perm02:28
hazmatthumper, except when nesc :-) like migration02:29
thumperhazmat: only if you mean pyjuju -> go juju02:29
davecheney12:28 < hazmat> jujud died perm02:30
davecheney^ can you please expand on this02:30
hazmatdavecheney, its not running02:30
davecheneywhat does the log file say ?02:30
hazmatthumper, ack on recommend, and yes that's the migration i'm working on... in this case service is pretty innoucous though, it has no agent manipulating state.02:32
hazmatan observers to trigger on txn, in fact its the lack of triggers there that forces the manual02:37
julianwahazmat: already restart jujud-machine-0 on bootstrap node02:38
julianwahazmat: nothing changed02:38
hazmatjulianwa, did it stay up.. ie is it in the ps aux | grep juju   output02:38
hazmatjulianwa, could you copy/send /var/log/juju/machine-0.log for analysis02:39
davecheneythumper:02:39
davecheney2013-10-01 01:03:32 DEBUG juju.rpc.jsoncodec codec.go:172 -> {"RequestId":9,"Response":{"Results":[{"StringsWatcherId":"4","Changes":null,"Error":null}]}}02:39
davecheney2013-10-01 01:03:32 DEBUG juju.worker.logger logger.go:45 reconfiguring logging from "<root>=DEBUG" to "<root>=WARNING"02:39
davecheney^ when did this land ?02:39
davecheneymy juju environment has stalled02:39
thumperit hasn't stalled02:39
davecheneyand I'm not getting any output from the agents because we log nothing at WARNING level02:39
thumperit just isn't giving info and debug02:39
thumperif you want, you should bootstrap with debug02:40
davecheneyok, is it possible to change this ?02:40
thumperor read my big long email02:40
davecheneyok, will re-read02:40
thumperjuju set-env logging-config='<root>=DEBUG'02:40
thumperon the running environment02:40
thumperwill set it back02:40
thumperjuju set-env logging-config='<root>=INFO;juju=DEBUG;juju.rpc=INFO' will reduce noise02:41
thumperor even02:41
thumperjuju set-env logging-config='juju=DEBUG;juju.rpc=INFO' will reduce noise02:41
hazmatyummy02:41
hazmatthumper, how bout a default of that02:41
thumperexport JUJU_LOGGING_CONFIG='juju=DEBUG;juju.rpc=INFO'02:42
hazmatthumper, what's the current default?02:42
thumper<root>=WARNING02:42
hazmatk02:42
thumperthe logging config you bootstrap with is passed on02:42
davecheneyhazmat: thumper i'll do that02:42
davecheneybut i'm concerned that the debugging that I needed has probably been thrown away02:43
davecheneyi'll rebootstrap and try again02:43
thumperdavecheney, hazmat: perhaps we should change the default logging level if you are using a debug release02:46
thumperas that is most likely to be developers02:46
thumperwho are more interested in logs02:46
thumperwell, debug info anyway02:46
davecheneythumper: i think the default sohuld be export JUJU_LOGGING_CONFIG='juju=DEBUG;juju.rpc=INFO'02:46
julianwahazmat:  machine-0.log.tar.gz under chinstrap:/home/julianwa02:46
davecheneythe main problem is the log spam from the rpc code02:46
davecheneyeverything else is crucial02:46
thumperdavecheney: alternatively, we set the rpc spam to TRACE02:46
thumperso DEBUG just works02:47
davecheneysure02:47
davecheneyi don't care about the specificas02:47
davecheneyeveryone hates the rpc spam02:47
davecheneyall i know is I have an environment that is broken02:47
davecheneyand i cannot debug it beucase the logging that i needed was discarded02:47
davecheneyall the agents are idle02:48
davecheneybut i have no logs to debug the problem02:48
thumperdavecheney: I'll submit a fix tomorrow02:48
* davecheney destroys environment and trys again02:48
hazmatjulianwa, thanks02:50
hazmatjulianwa, that's odd i get unexpected EOF extracting02:52
hazmatand output cuts off mid line02:52
hazmatbut it doesn't look the agent was doing anything for a while02:53
hazmatjulianwa, when you restarted it, did the process stay up?02:53
thumperhazmat: FWIW, I'm seeing upstart issues starting upstart for the local provider now02:55
thumperit seems that upstart sees it very fast02:55
thumperand starts it before we call start02:55
thumpera race it seems between us going: are you running? no? ok lets start you, fail - already running02:56
julianwahazmat: what's you mean stay up?02:57
julianwahazmat:  did you mean process still have same pid?02:58
hazmatjulianwa, sure02:59
hazmatjulianwa, i'm trying to verify its running02:59
hazmatits unclear from the log why it died, just want to make sure that it is in fact alive02:59
julianwahazmat: yes. it's running with new pid03:00
hazmatjulianwa, good, and status still has mysql dying...03:00
thumperah fark03:00
julianwaright03:00
hazmatjulianwa,  so unto manual db work..03:00
hazmatone moment03:01
* thumper headdesks03:03
hazmatthumper, do you have an alternative?03:06
* thumper headdesks03:06
* thumper headdesks03:06
hazmatjulianwa, are you using juju-deployer?03:06
julianwahazmat: no03:06
hazmatk03:06
thumperhazmat: for some reason, my local provider is completely screwed03:08
hazmatthumper, hmm.. works okay for me. what do you see? i still have a sleep in Install and a sudo in start03:08
hazmatre upstart.go03:08
thumpertelling me that the environment isn't up when I can see that it is03:09
thumperbootstrap worked03:09
thumperstatus says "you aren't bootstrapped"03:09
hazmatthumper, would you mind pastebin  status -v --debug03:10
hazmatjust curious what it looks like03:10
thumperhazmat: -v isn't needed if you use --debug03:10
thumperreally03:10
hazmatthumper, i used to assume that then someone told/showed me otherwise03:10
thumperno, it's bollocks03:11
hazmatdavecheney, wasn't that you?03:11
hazmatnot important03:11
hazmatthumper, yeah.. --debug would be interesting to see03:11
thumper$ juju status --debug 2>&1 | pastebinit03:11
thumperhttp://paste.ubuntu.com/6178119/03:11
hazmatthumper, is your provider storage running?.. its basically failure to resolve the juju db i'd assume03:12
hazmatyour not even getting to state/open03:13
thumpernot very helpful eh?03:13
hazmatso env/conn is the failure point03:14
hazmatwell maybe..03:14
hazmatactually possibly before then03:14
thumperhmm...03:15
thumperfor some reason it wasn't started03:15
thumperbut it said it was03:15
thumperwtf03:15
* hazmat returns to db surgery03:16
* thumper is still confused03:16
thumperseems to be some weirdness there03:17
davecheneyhazmat: i did recommend -v always03:37
davecheneybut the meaning of -v has changed recently03:37
thumperit hasn't changed yet, but will one day soon03:38
thumperor perhaps it did way back, and I changed it03:38
davecheney-v and --debug uses to be synonyms03:39
davecheneynot anymore03:39
davecheneyor somethign03:39
hazmatjulianwa, i need a sanity check before i give the modify db script.. could you run this http://paste.ubuntu.com/6178181/ from the client machine, you need to pass -e  env_name and -o output_file.json .. and then copy the file over to chinstrap so i can verify what needs modification.03:40
hazmatjulianwa, you'll probably need to setup a virtualenv to get a recent version of mongodb if the client is precise03:41
julianwahazmat: setup a virtualenv on the server?03:47
hazmatjulianwa, on the client03:55
hazmatsorry net dropped for bit, battery died03:55
hazmatjulianwa, virtualenv --system-site-packages jujufix && source jujufix/bin/activate && easy_install pymongo03:55
hazmatthen python  script_from_pastebin -e env_name -o output.json03:56
* thumper off to do a demo of juju03:58
thumperso I fully expect everything to fall in a heap03:58
hazmatthumper, good luck03:58
thumpercheers03:58
hazmatjulianwa, that script is read only, it just grabs a copy of the db into a json04:01
hazmatmostly so i can inspect and verify all refs to 'mysql' before doing an update script04:02
julianwawe don't have a client to create virtualenv. the client is maas server.04:11
julianwahazmat: ^^04:11
hazmatjulianwa, that's fine04:11
hazmatjulianwa, you can setup the virtualenv there04:12
hazmatthe virtualenv will keep the pymongo package isolated04:12
hazmatfrom the system04:12
hazmatyou do need to install python-virtualenv package04:12
hazmatie. on the maas server04:24
hazmatand then you can remove the virtualenv dir when the work is done04:26
hazmatjulianwa, sorry i just got told you may not have outbound net access04:36
hazmatmight have to do go for this..04:36
hazmatexcept not sure i have time for that tonight04:37
hazmatjulianwa, k.. i'm done for the night. can pick up via email.04:46
julianwahatch: thanks will exec script and get back to you04:49
julianwasorry hazmat ^^04:49
hazmatjulianwa, no worries04:49
rogpeppemornin' all07:41
dimiternmorning07:41
axwmorning rogpeppe, dimitern07:43
rogpeppeaxw: hiya07:44
rogpeppeaxw: just glancing at  q07:44
rogpeppeaxw: https://codereview.appspot.com/1419704307:45
rogpeppeaxw: is the whole thing really on one line?07:45
axwrogpeppe: yep, the base64 encoder doesn't add newlines if that's what you're thinking of07:46
rogpeppeaxw: hmm, that seems wrong - head should not have to read 10MB lines07:46
axwrogpeppe: hmm yeah, I guess head is going to buffer all that isn't it.07:47
rogpeppeaxw: and... is there a pty at the other end of that ssh connection?07:47
rogpeppeaxw: indeed07:47
axwrogpeppe: no pty allocated07:47
rogpeppeaxw: well at least we won't overflow the input buffer07:47
axwrogpeppe: I can change it to a here doc.07:48
axwhm07:48
axwisn';t that going to be the same?07:48
rogpeppeaxw: that would be better, but for other reasons07:48
axwrogpeppe: other reasons being?07:50
rogpeppeaxw: it's robust when the input doesn't happen to be exactly the right length07:50
axwrogpeppe: this will always be one line07:50
rogpeppeaxw: currently yes, but i think it should probably be split07:51
rogpeppeaxw: so that it can be streamed all the way07:51
rogpeppeaxw: it's slightly odd that encoding/base64 doesn't provide an option to do that07:51
axwrogpeppe: indeed, I thought there was a mandated line length for some usages of base64...07:52
axwrogpeppe: I was thinking about https://codereview.appspot.com/14011046/ again before; I *think*, once everything's behind the API, we should be able to solve this cleanly by adding something into the environ config08:06
axwi.e. a "bootstrapped" flag, which is checked to see if ssh/http storage is used08:07
axwinitially false (while bootstrapping), then set to true before adding into state08:07
axwthen the API server will always load it out as true08:07
rogpeppeaxw: i wondered about that08:07
rogpeppeaxw: i'm not sure though08:08
rogpeppeaxw: currently i assume that Bootstrap doesn't change any config options that need storing locally08:08
rogpeppeaxw: how about something like this for splitting lines (untested): http://paste.ubuntu.com/6178727/ ?08:10
axwrogpeppe: sure, but then what on the server-side? head still buffers, as does a here doc08:12
rogpeppeaxw: no, a here doc doesn't buffer (and neither does head, other than line-at-a-time)08:12
axwer yeah of course, line buffered.. :)    ok, I thought the here doc was fully buffered08:13
axwok, I can make that change08:13
rogpeppeaxw: seems to work ok: http://play.golang.org/p/oYPyqeej5_08:15
dimiternfwereade, ping08:24
fwereadedimitern, pong08:25
rogpeppeaxw: their unbuffered nature is almost the entire reason that heredocs exist (otherwise you could just use single quotes); think of shell archives.08:25
dimiternfwereade, I updated that passwords CL, if you can take a look? https://codereview.appspot.com/14036045/08:26
fwereadedimitern, cheers08:26
axwrogpeppe: thanks, I didn't think about that too hard08:26
dimiternfwereade, ah, sorry didn't see you had comments recently - will look at them now08:26
fwereadedimitern, they're basically a repriseof ourdiscussions, thought Ishould record them08:27
dimiternfwereade, I couldn't find a way to access the password from the agent conf, except if there's a method on the interface08:28
dimiternfwereade, but now at least, there's no newPassword and I do read it back to get the saved value08:28
fwereadedimitern, hmm, I see, don't love it but I guess that's why we had that Password method in the first place08:29
fwereadedimitern, do you think there's any way we can make its testiness clearer08:29
fwereadedimitern, like if we added an unexported passwordForTests method to the interface, and then had an export_test func that called it?08:30
dimiternfwereade, the problem is, I need it outside of the agent module, so export_test won't do08:31
fwereadedimitern, jujud/bootstrap_test?08:32
dimiternfwereade, also, originally the method was PasswordHash(), but that's not going to work in my case - I need the actual plain text password08:32
fwereadedimitern, or more?08:32
fwereadedimitern, yeah, I saw that, entirely unbothered there :)08:32
dimiternfwereade, there and in machine_test, yeah08:32
dimiternfwereade, hmm you know what?08:33
dimiternfwereade, I do have OpenState and OpenAPI in config08:33
fwereadedimitern, I don't see it in machine_test08:33
dimiternfwereade, I can use these instead in assertCanConnectToState and the other08:34
fwereadedimitern, hey, yeah, just load a config and check those work (or don't) as expected08:34
dimiternfwereade, ok, and I'll revert to PasswordHash then08:34
fwereadedimitern, and in bootstrap_test I think the try-to-load-a-config thing should work too08:34
dimiternfwereade, you mean drop PasswordHash altogether?08:34
fwereadedimitern, ISTM that we might then even be able to drop Password08:34
fwereadeyeah :)08:34
dimiternfwereade, ok, will try now08:35
fwereadedimitern, lovely, thanks08:35
fwereadervba, ping08:36
TheMuefwereade: ping08:37
rvbaHi fwereade08:37
fwereadervba, those docs STM to imply that you can and should and do use multiple API keys for the same user, and that that's the accepted way to use juju/maas, and all I'm looking for is a way to automate the ugly bit of the setup-- have Imissed something?08:37
fwereadeTheMue, pong08:38
TheMuefwereade: 1st, just found your mail regarding the unset documentation, missed it in the mail stream. aaaargh. will do it08:38
rvbafwereade: right, but I think the bug is there even if you use multiple API keys (belonging to the same user).08:38
fwereadervba, are we sure? the python implementation doesn't look like it does anything very different08:39
TheMuefwereade: 2nd, the refactoring is almost done (currently in testing), but i have to admit that using a struct doesn't really feel better then 3 arguments and 4 return values08:39
TheMuefwereade: it sometimes even reads more ugly08:39
rvbafwereade: I confess I haven't tested it in the field but I'm pretty sure.08:40
rvbafwereade: I'll test it today.08:40
fwereadervba, tyvm08:40
TheMuefwereade: and additionally i'm not happy with a behavior we already had with the CL before.08:40
fwereadeTheMue, ok, if it's a bad idea let's not do it :)08:41
fwereadeTheMue, ah, what's that one?08:41
TheMuefwereade: that is that we can write Status(params.StatusFoo, "something", nil)08:41
TheMuefwereade: but when reading the status data is not nil but an empty map08:41
TheMuefwereade: i would like to change that in a way, that in case of an empty map in the db we return nil for data08:42
fwereadeTheMue, what's the distinction you're trying to preserve here?08:42
TheMuefwereade: none ;) it only feels asynchronous, not my way of thinking08:43
TheMuefwereade: but ok, i see a problem08:43
TheMuefwereade: if i write an empty data a nil would be returned, so the same problem :(08:44
TheMuefwereade: so forget my stammering here08:44
TheMuefwereade: :D08:44
fwereadeTheMue, haha, np08:44
TheMuefwereade: so i'll now do the doc and then free for the next job08:45
fwereadeTheMue, rogpeppe: I am wondering if it is feasible/useful to have TheMue start work on some of the environ Prepare methods?08:45
fwereadeTheMue, perfect, ty08:45
fwereadeTheMue, lining that up now :)08:45
TheMuefwereade: great08:45
fwereadehey, trunk is doing this for me: http://paste.ubuntu.com/6178801/08:46
fwereadejam, rogpeppe, dimitern, TheMue: anyone else seeing it?08:46
jamfwereade: I thought rogpeppe submitted a "skip this test" last night for that08:47
dimiternfwereade, no, but haven't tried trunk yet08:47
rogpeppefwereade: once https://codereview.appspot.com/14136043/ has gone in, that might work ok actually08:47
fwereadejam, fwiw it just failed on the bot, but only one of them did08:47
rogpeppefwereade: i'm still struggling through fixing test failures, but i don't think that should be an obstacle08:48
fwereaderogpeppe, cool, that looked LGTMed already so I didn't examine closely08:48
fwereaderogpeppe, ok, fantastic08:48
rogpeppefwereade: ok08:48
rogpeppefwereade: yes, i've seen that test failure08:49
dimiternfwereade, updated https://codereview.appspot.com/14036045 again08:49
rogpeppefwereade, jam: that wasn't the one i submitted a Skip for08:49
rogpeppefwereade: looks like a problem with the code dialling out inappropriately08:51
dimiternfwereade, sorry, some code left over, will repropose08:51
rogpeppefwereade: i was planning to do a global check that we're not doing that, by tweaking the net package so that it panics when resolving or dialling a non-localhost address08:51
fwereaderogpeppe, do I recall that I convinced (or browbeat or ordered or something) you to handle admin-secret and other juju-level things in environs.Prepare?08:51
fwereaderogpeppe, nice08:51
fwereaderogpeppe, in which case TheMue should steer clear of the Prepare func itself and just work with the individual environ implementations08:52
rogpeppefwereade: yes08:52
rogpeppefwereade: well, yes to the latter anyway08:52
rogpeppefwereade: i'm not quite sure what you mean by "handle" in the above context08:53
fwereaderogpeppe, insert values if none are present08:53
fwereaderogpeppe, y'know, "prepare" them ;p08:54
rogpeppefwereade: yes, that should definitely happen08:54
rogpeppefwereade: the above CL does that for CA cert, and it would be easy to do for admin-secret too08:54
fwereaderogpeppe, fantastic08:54
fwereaderogpeppe, do we have any other global candidates?08:55
fwereaderogpeppe, hey interesting wrinkle08:55
rogpeppefwereade: go on...?08:56
fwereaderogpeppe, if state-port/api-port get filled in globally, the local provider won't be able to pick non-conflicting ones itself08:56
fwereaderogpeppe, nbd08:56
rogpeppefwereade: hmm08:56
rogpeppefwereade: well, there's nothing stopping a given provider forcibly changing a config attribute, in fact, although that may be inadvisable08:57
fwereade25495131 - alexia08:58
fwereadebugger08:58
rogpeppe:-)08:58
fwereadebrb09:00
fwereadeb09:01
fwereadedimitern, LGTM09:09
dimiternfwereade, thanks09:10
dimiternfwereade, fixing a few other minor things I found and landing09:10
dimiternfwereade, after a live test ofc09:11
rogpeppefwereade: ah, sync.selectSourceStorage is the culprit09:11
rogpeppefwereade: we should set up sync.DefaultToolsLocation09:12
fwereaderogpeppe, gaaah ofc (tyvm for looking into that, somehow it's already 3 levels down my stack)09:12
rogpeppefwereade: the "tweak net package" hack is working quite nicely09:12
fwereaderogpeppe, excellent09:13
rogpeppefwereade: ah ha!09:15
rogpeppefwereade: we *do* set up sync.DefaultToolsLocation, but in this case we're acually invoking a different test binary (via TestRunMain) which doesn't tweak it09:15
fwereaderogpeppe, gaah indeed09:16
fwereadesorry bbs09:16
axwrogpeppe: https://codereview.appspot.com/1419704310:00
axwrenamed your writer, I hope you don't mind ;)10:00
rogpeppeaxw: it was an arbitrary name :-)10:00
rogpeppeaxw: although i think Wrap on its own is a bit lacking context. LineWrapWriter would probably be better10:01
axwgood point10:01
rogpeppeaxw: (as many writers "wrap" another writer)10:01
axwyup10:01
axwI shall change it10:01
rogpeppeaxw: also, it's not quite as general as the doc comment implies - it wraps lines at lineLength *bytes* not characters10:02
rogpeppeaxw: so it can split utf chars inappropriately10:02
axwyeah, true, I should specify bytes/ascii chars10:03
rogpeppeaxw: that's the reason i think it's not entirely appropriate for utils, as it's ok to use for wrapping base64, but not really in general10:03
* axw nods10:03
axwrogpeppe: I very nearly left it in there... can move back10:03
rogpeppeaxw: making it do proper utf8 handling would be not entirely trivial and need some additional buffering, so i think that's probably best10:04
axwrogpeppe: cool. btw, why did you add the additional bufio in there originally?10:05
rogpeppeaxw: because i didn't want to do lots of 1-byte writes10:05
rogpeppeaxw: it could slow things down quite a bit when transferring MBs10:06
axwrogpeppe: ok. I would think that's the concern of the user10:06
axwyeah10:06
axwok10:06
rogpeppeaxw: true; the user can always pass in a bufio.Writer10:07
rogpeppeaxw: which is probably a good thing anyway, as base64.Encoder does lots of small writes too10:07
axwrogpeppe: yeah, I'll create one in the sshstorage.run command.10:08
dimiternfwereade, live tests with the local provider pass nicely10:10
dimiternfwereade, now trying ec210:11
fwereadedimitern, try an upgrade from 1.14 as well on general principles :)10:11
dimiternfwereade, oh.. that might be a problem10:11
dimiternfwereade, not sure how to get 1.14 first10:11
fwereadedimitern, it's in ppa:juju/stable10:13
rogpeppe1axw: are you sure that legitimate base64 output can't finish with the letters "EOF" ?10:19
axwrogpeppe1: heh, good question. probably could mangle it so it is. /me fixes10:20
rogpeppe1axw: that's why i suggested '@EOF' originally10:20
axwah10:20
axwrogpeppe1: and my response about not understand that was thinking it was a special bash syntax10:21
axwthanks, I'll use that10:21
rogpeppe1axw: well, the quotes are significant10:21
rogpeppe1axw: if the string is quoted, the shell won't scan for potential variable and `` expansions10:21
axwrogpeppe1: yeah I thought the @ was doing something special in the context of a here-doc10:21
rogpeppe1axw: ah no :-)10:21
axwrogpeppe1: updated10:28
rogpeppe1axw: i posted a review10:28
axwoff for dinner now, adieu10:28
axwta, I'll take a look later10:28
rogpeppe1axw: i don't think you've re-proposed10:29
rogpeppe1axw: enjoy10:29
rogpeppe1can the x clipboard really not hold any more than 32K ?10:32
rogpeppe1hmm, must be bug elsewhere10:35
rvbafwereade: testing shows I was right (see the email I just sent).10:43
jamdimitern: rogpeppe1 standup ?10:46
jamhttps://plus.google.com/hangouts/_/cf9a1a494368b354ff8311d84b7e64aa52777ed010:46
fwereadervba, crap, so all the docs are wrong? *does* pyjuju do something special to handle it?10:48
rvbafwereade: something seems to be wrong with the docs indeed.  I didn't test with pyjuju, but I doubt it behaves differently.10:49
jamfwereade: it looks like not only might you shutdown all of your own instances, you might shutdown another users if you have perms to do so10:49
fwereadervba, yeah, I didn't spot any obvious differences in the implementations10:49
mgzgeh. g+ is dropping too many packets for me...10:54
mgzunderstanding robot is too hard... please internet11:02
* TheMue => lunch11:17
dimiternfwereade, so summary of the live upgrade test11:34
dimiternfwereade, I managed to upgrade, but I needed to do 3 manual steps: 1) copy the tools as discussed in control-bucket/tools; 2) create a new /var/lib/juju/tools/1.15.-precise-amd64/downloaded-tools.txt with the proper json format (without this the MA upgraded and all tasks run ok, except the lxc-provisioner stopped working); 3) replace the symlink in /var/lib/juju/tools/unit-mysql-0 to point to the 1.15.0.1 tools - now the UA works as well (11:37
dimiternafter 2) and 3) did killall -9 jujud, just in case)11:37
dimiternfwereade, and one final thing worth mentioning - destroy-environment called on 1.14 bootstrapped env, upgraded to 1.15, using the juju command from 1.15 produces this error: ERROR cannot read environment information: environment "amazon" not found (when I call the juju command from 1.14 it works)11:38
dimiternfwereade, so should I land it anyway?11:40
rogpeppe1fwereade: i found the mock charm store BTW. it still doesn't play well with InferRepository though.11:47
rogpeppe1fwereade, jam: https://codereview.appspot.com/1420004412:00
jamrogpeppe1: "broken config" is just a single quote char ?12:06
jamIsn't that invalid yaml?12:06
rogpeppe1jam: that's the point, yes12:06
rogpeppe1jam: it's a more reliable way of triggering an error12:07
jamrogpeppe1: while that is true, that seems (to me) to be exercising a very different code path12:07
jamone is that if we have well-formed but missing data12:07
jamand the other is malformed data12:07
rogpeppe1jam: that's not the code path this test is interested in testing, if i read the test correctly.12:08
fwereadejam, I think that's LGTM -- the only thing it's actually intended to test is that the arg parsing doesn't care about order of command vvs --log-file12:08
fwereadejam, I am a little sceptical about the value that test provides anyway12:08
rogpeppe1fwereade: yeah, i seriously considered trashing it12:08
jamrogpeppe1: so at least I would change the comment on "breakJuju" to say "with invalid configuration"12:09
fwereadejam, seems like an awfully awkward way to run something a bit like the real binary12:09
dimiternfwereade, have you seen my previous messages?12:09
jamfwereade: you mean TestRunMain ?12:09
jamit is very ackward, but used in quite a few places12:09
jamsince you do end up with a test binary12:09
jamthat you could then invoke12:09
jamand I guess means you don't have to "go build" before you "go test"12:09
jamI was a bit surprised we didn't do the "go build" route myself.12:10
fwereadejam, I can't think of any good reason not to test the build product12:10
fwereadejam, but the idea was that it should all be done in go test12:10
jamfwereade: because when you just run "go test" there isn't a 'juju' build product12:10
fwereadejam, ofc we *could* actually build the binary inside a go test test12:11
fwereadejam, in fact in some places we do IIRC12:11
fwereadejam, but that's kinda horrible as well12:11
rogpeppe1fwereade, jam: i'd be happier if these kinds of test were actually shell scripts or similar, outside the purview of go test.12:11
fwereaderogpeppe1, jam, +112:12
rogpeppe1fwereade: it seems to me that they don't add much value anyway - the amount of actual logic they're testing in general is just glue code and tiny12:12
fwereaderogpeppe1, sure, but it would also be nice to run at least one test on our actual build output12:14
rogpeppe1fwereade: "badrun" is very badly named12:14
rogpeppe1fwereade: i agree12:14
fwereaderogpeppe1, isn't it, I think it has mutated quite significantly over the years12:14
rogpeppe1fwereade: we should have more tests that work on the final juju binary - in particular live tests that use it to deploy charms, etc12:15
fwereaderogpeppe1, +10012:15
fwereaderogpeppe1, I think that a few of those would be pretty good replacements for some of the live tests tbh12:15
rogpeppe1fwereade: yeah12:15
rogpeppe1fwereade: we really really need a charm-level regression testing suite12:16
fwereaderogpeppe1, a bunch of standard charms that exerice our functoinality, that we deploy in those tests? yeah12:18
rogpeppe1fwereade: exactly12:18
rogpeppe1fwereade: i started doing it, but came up against the issue of how we determine success or failure (we need to actually talk to the charm)12:18
rogpeppe1fwereade: there are lots of possibilities and i got distracted while trying to decide on one :-)12:19
fwereaderogpeppe1, yeah, that's a beguiling problem, I immediately started looking into space and pondering12:20
rogpeppe1fwereade: :-)12:20
dimiternfwereade, ping12:23
fwereadedimitern, pong12:25
dimiternfwereade, ^^12:25
fwereadedimitern, ok, so that looks like "really rather broken" to me12:26
fwereadedimitern, "downloaded-tools.txt" is complete nonsense, I fear12:26
dimiternfwereade, it's hard to tell why it's needed12:26
fwereadedimitern, and do we have any idea why the upgrader didn't run on the unit agent?12:27
fwereadedimitern, it just looks like a not-properly-tested typo/thinko for downloaded-url.txt12:27
dimiternfwereade, it ran, but kept restarting with that issue "empty size or checksum" for tools12:27
fwereadedimitern, or maybe not12:28
dimiternfwereade, downloaded-url.txt is just a url in a text file, while the downloaded-tools.txt has the url, size, sha256, and binary version string in a json-serialized format12:28
fwereadedimitern, ohhhh right ok12:28
rogpeppe1jam: your new logMatches changes are just great. i was struggling to see what's what in http://paste.ubuntu.com/6179372/; i merged your branch and got this: http://paste.ubuntu.com/6179376/12:28
jamrogpeppe1: thanks, I think it is quite a bit nicer, if I had known I should have done it that way to start12:29
dimiternfwereade, that brings me back to the question12:29
fwereadedimitern, so we fucked the format to store a load of information that is not only unused but is literally worthless12:29
* fwereade sighs12:30
dimiternfwereade, should I land my branch despite the upgrade issues, which are related to tools and not to my changes?12:30
dimiternfwereade, yeah, pretty much istm12:30
rogpeppe1jam: one thing i realise though - it talks about "line 8" but there's actually no way of seeing what was on the lines in question.12:30
fwereadedimitern, ok so what you're saying is that once the actual tools are put in place the mongo-related implications of the change are fine12:31
dimiternfwereade, in fact in the 1.15.0.1 tools dir there is indeed a downloaded-url.txt only12:31
fwereadedimitern, ofc there is12:31
fwereadedimitern, what version downloaded it, do you think? :)12:31
dimiternfwereade, yes, the agents restart, and I can see the UA is using API only, and the MA on machine 1 is using only api12:31
fwereadedimitern, ok then, please land that12:32
dimiternfwereade, ah, right!12:32
dimiternfwereade, ok, landing then12:32
fwereadedimitern, rogpeppe1: what would it cost us to just rip out all that where-did-the-tools-come-from crap? if we care we can log it at upgrade time12:32
dimiternfwereade, not sure, have to check, but it seems the lxc-provisioner and upgrader currently log tool-related errors12:33
rogpeppe1fwereade: i guess we could do that. i *thought* it would be useful in the status, but if it's really causing problems...12:34
jamdimitern: this error: "/var/lib/juju/tools/1.15.0-precise-amd64/downloaded-tools.txt" looks suspicious because I'm pretty sure it should look in /var/lib/juju/tools/downloaded-tools.txt12:35
dimiternjam, there's no downloaded-tools.txt in /var/lib/juju/tools/12:35
dimiternjam, but if there is one in the subdirs it finds it12:36
fwereadejam, there had better not be one in there :)12:36
=== gary_poster|away is now known as gary_poster
jamfwereade: well it does say "$bin/downloaded-tools.txt"12:37
jamI would have thought it would split the tools all into one file, but I see it is doing ">" not ">>"12:37
fwereaderogpeppe1, jam: have we already released an API that demands we include that information? I think we have12:39
fwereadeawwfuck it12:39
jamfwereade: needs what infor?12:39
fwereadejam, all the stuff in a state.Tools which is completely irrelevant12:40
fwereadejam, url, hash, size, etc12:40
fwereadejam, I mean, I don't see how it's possibly useful to feed that info into juju from the agents12:40
fwereadejam, the agents *got* that info from juju12:40
fwereadejam, and I fear that SetAgentTools expects all that stuff now12:41
=== TheRealMue is now known as TheMue
fwereaderogpeppe1, jam, dimitern: do any of you recall seeing a panic in testing.TarGz?12:59
jamfwereade: I have not recently seen a panic there12:59
rogpeppe1fwereade: i don't think so12:59
fwereadejam, rogpeppe1: dammit, I'm sure I saw one once, and I think mattyw is having trouble with one at the moment13:00
rogpeppe1fwereade: i'd be interested to see a stack trace13:00
mattywrogpeppe1, I've got the full output of go test juju-core/.. if that's useful?13:01
rogpeppe1mattyw: paste away13:01
jamfwereade: back to the sha stuff, the only thing I can particularly remember is that Ian wanted to make sure the sha sum matched what we read in the simplestreams code. As you mention if we validate that it matches the expected value before we untar it, then we just use the expected value inside Juju and it doesn't help us to write it down again.13:01
mattywrogpeppe1, I've emailed you if that's ok, it'd be an enormous paste13:03
rogpeppe1mattyw: ok13:03
rogpeppe1mattyw: hmm, what version of Go are you running?13:04
axwfwereade: re "It's that old wrong-environ problem again", I thought thought the issue was that an environment might be stale, and you need to SetConfig with config from state to do the right thing13:05
mattywrogpeppe1, 1.113:05
axwfwereade: so, you could SetPrechecker with the stale env, then SetConfig later to make it right13:06
axw(before using the state object)13:06
rogpeppe1mattyw: could you try with 1.1.2, please? i think that fixed a few GC issues. also, could you pull tip too?13:06
mattywrogpeppe1, tip of core and go 1.1.2?13:07
rogpeppe1mattyw: yeah13:07
mattywrogpeppe1, will do13:08
rogpeppe1ain't it great when a test fails because DeepEquals returns false, but the info printed out for each value is identical?13:19
gary_posterhey fwereade.  when you have a chance, could you take a look at https://bugs.launchpad.net/juju-gui/+bug/1233462 and clarify expected/correct behavior please?  The CLI and GUI should be aligned on issues like this, I think.13:23
_mup_Bug #1233462: gui does not allow multiple relations between wordpress and ha proxy <juju-gui:Triaged> <https://launchpad.net/bugs/1233462>13:23
mattywrogpeppe1, thanks for your help, upgrading to go 1.1.2 seemed to fix it, although I get these failures on tip http://paste.ubuntu.com/6179576/13:23
rogpeppe1mattyw: i suspect those are current test-isolation issues13:24
mattywrogpeppe1, ok, I'm able to ignore them for my stuff anyway13:24
mattywrogpeppe1, thanks again for your help13:24
rogpeppe1mattyw: np13:24
mgzsinzui: you want initiating into the ways of sync-tools?13:27
sinzuimgz I do13:27
mgzso, confusing part #1: the landing bot and the cloud-wide tools account are the same one13:28
mgzafter that, it's dead easy13:28
mgzsource the bot creds, add a juju-env section something like:13:29
mgz  canonistack-juju-tools:13:29
mgz    type: openstack13:30
mgz    admin-secret: <whatever, doesn't get used>13:30
mgz    control-bucket: juju-dist13:30
mgzthen run `juju sync-tools -e canonistack-juju-tools`, being careful with which version of juju you're actually using, due to simplestreams stuff having changed of late13:31
mgzif you don't have the bot creds, I will gpg enc them to you13:31
mgzit's the account named "juju-tools-upload"13:32
mgzit's useful to `swift list juju-dist` to check what's actually there afterwards13:35
mgzalso it rhymes13:35
fwereadegary_poster, responded13:54
mgzsinzui: do you need the creds from me?13:57
hazmatfwereade, is this valid for a txn op..               "$not": "<_sre.SRE_Pattern object at 0x19276f8>" ?13:58
hazmatthat looks like an accidental serialization of a regex13:59
hazmatobject instead of pattern13:59
fwereadehazmat, it does rather, doesn't it13:59
mgzheh13:59
hazmatfwereade, line 14309 from the dump fwiw13:59
gary_postergreat, thank you fwereade14:00
gary_poster(and yes, fwereade, helpful. :-) )14:00
fwereadehazmat, hmm, bson.RegEx, eh? that smells a little funny14:01
hazmatgary_poster, that behavior is intended for the gui14:01
* hazmat vaguely remembers writing that code14:02
gary_posterhazmat, you'd argue that the CLI and GUI should have different behavior14:02
hazmatgary_poster, i'd argue 99% of charms are broken with a requires having multiple relations14:02
hazmatgary_poster, see my conversation with dave cheney in #juju-gui last night14:02
hazmatgary_poster, the gui should prevent people from shooting themselves and their services in the foot14:03
hazmatthats the whole point for the relation dimming guides, to give contextual help to a user14:03
gary_posterhazmat, IMO talk through it with fwereade.  CLI and GUI should be corresponding.  Need to be on call now, can return to convo later14:03
fwereadehazmat, I concur, we should respect relation limits14:04
hazmatfwereade, fair enough.. this was done in the absence of enforcement of those limits, and the reality that at the time only one extant charm had any support for multiple requirers, every other basically had undefined behavior for it14:05
hazmatand even then that one charm required explicit service config for the scenario to work14:05
mgzsinzui: emailed you the creds14:06
sinzuithank you!14:06
fwereadehazmat, yeah, I think the gui was right to restrict -- if there *is* a requires with a limit != 1, though, it should probably allow that one14:07
hazmatfwereade, fair enough, although my intent at the time was that if they really needed that sort of thing, they could use the cli for it.14:09
hazmatbecause frankly nothing supports it14:09
hazmatin terms of charms14:10
hazmathaproxy only does in the context of explicit service config, without that its entirely broken14:10
hazmatgary_poster, commented on the bug14:12
hazmatconsidering the complexity of fixing this and the zero gain in terms of real world usage, i'd rather kick this down the road for the gui. +1 on cli respecting limits and converging behavior with gui down the road.14:13
gary_posterack thx hazmat14:13
=== hatch_ is now known as hatch
* fwereade taking a break, bbs14:20
dimiternjam, ping14:24
dimiternor mgz ?14:24
dimiternh, nevermind14:26
rogpeppehmm, anyone got any tips for debugging DNS issues? i'm seeing a 16s turnaround on some DNS requests14:27
rogpeppewhich *really* slows down some of the non-isolated tests ....14:28
dimiternrogpeppe, you can use a local dns server perhaps?14:29
sinzuithank you again mgz, canonistack is sorted.14:30
rogpeppedimitern: yeah, i guess i could try that14:30
arosaleshazmat, re the affinity bug. I think it may be related to how msft sets an affinity group.14:31
arosaleshazmat, still a hypothesis. I ran into this blog http://michaelwasham.com/2012/08/07/http-error-message-the-location-or-affinity-group-east-us-specified-for-source-image/14:31
* arosales still investigating 14:31
rogpeppedimitern: hmm, tried that (i used these instructions http://askubuntu.com/questions/264827/how-do-i-activate-a-local-caching-nameserver), but this program (http://paste.ubuntu.com/6179816/) still reliably takes between 15 and 20s to run.14:40
dimiternrogpeppe, are you sure you're hitting your local dns?14:41
dimiternrogpeppe, try host -v store.juju.ubuntu.com14:41
rogpeppedimitern: ah, i was using nslookup to test stuff14:42
dimiternrogpeppe, host is way better in many ways14:43
rogpeppedimitern: hmm, the local name server returns in no time, but then it times out twice: http://paste.ubuntu.com/6179829/14:44
rogpeppedimitern: (that took about 15s to run)14:45
dimiternrogpeppe, I'm running dnsmasq locally and it's pretty fast, and caching14:47
rogpeppedimitern: it seems to be caching ok, but for some reason the lookup is ignoring the cache14:47
dimiternrogpeppe, take a look in your /etc/resolv.conf14:48
rogpeppedimitern: it just says "nameserver 127.0.1.1"14:48
dimiternrogpeppe, mine does as well and dnsmasq is listening on :5314:49
rogpeppedimitern: i wonder if it's an issue with the ubuntu DNS record - i tried a few things under ubuntu.com and they all took ages, but google.com was quick14:51
dimiternrogpeppe, they're quick here (ubuntu.com I mean)14:51
rogpeppedimitern: actually google.com tried contacting the actual google server too, it seems14:51
rogpeppedimitern: so maybe it's an issue with an ubuntu DNS server14:52
dimiternrogpeppe, could be, but it might be on your side as well14:53
rogpeppedimitern: what does host -v store.juju.ubuntu.com print for you?14:54
dimiternrogpeppe, http://paste.ubuntu.com/6179868/14:54
rogpeppedimitern: interesting - here's what i see http://paste.ubuntu.com/6179862/14:56
rogpeppedimitern: yours seems to be following the same logic, but mine times out the first time and is slow the second14:56
rogpeppedimitern: i did change my router/modem at the weekend, so it's probably related to that somehow, but i can't quite see how14:57
dimiternrogpeppe, this is what I get for ubuntu.com http://paste.ubuntu.com/6179878/14:57
dimiternrogpeppe, your router might be getting in the way as a preferred dns on the network and then not doing a good job and timing out?14:58
dimiternrogpeppe, or perhaps there's a override somewhere in the settings ?14:59
axwfwereade: ping14:59
fwereadeaxw, pong, I'm very sorry I haven't managed to review more of your branches today14:59
rogpeppedimitern: even if it was, why isn't my local dns cache working properly?14:59
axwfwereade: nps, I just have a question14:59
axw<axw> fwereade: so, you could SetPrechecker with the stale env, then SetConfig later to make it right14:59
axw<axw> (before using the state object)14:59
axwerr14:59
axwsorry, missed some context14:59
rogpeppedimitern: anyway, i'm spending too much time trying to fix this issue. thanks for the input.14:59
axwthat was preceded by:14:59
axw<axw> fwereade: re "It's that old wrong-environ problem again", I thought thought the issue was that an environment might be stale, and you need to SetConfig with config from state to do the right thing14:59
fwereadeaxw, I think it is, yes15:00
axwfwereade: so a PrecheckerSource would be unnecessary, no?15:00
fwereadeaxw, well, I was thinking more in the context of a task that kept a shared env up to date15:01
axwI envision the series of events like this: juju.Open gets Environ with stale config, and a state, and calls SetPrechecker. Later, someone updates the env's config with SetConfig15:01
fwereadeaxw, but then we need to track that specific environ around and update it at the right time -- and there's no guarantee we can create an environ at the point we're creating state, is there?15:02
fwereadeaxw, environs lack secrets until the first CLI connection15:03
fwereadeaxw, I was thinking of a model in which there was a task that waited for a valid environ in state and only then returned it15:03
axwfwereade: ok. and I was thinking that you could have an invalid Prechecker (just as you can have an invalid Environ - they're the same after all), and make it valid by updating the environ's config15:04
fwereadeaxw, how do you propose to create this invalid environ? ;p15:05
fwereadeaxw, it'd have to be nil, wouldn't it?15:05
* axw is confused15:06
* fwereade is too, a little, do you have a moment for a g+?15:06
axwfwereade: for a short while, going to bed shortly15:07
axwjust gotta go get set up, brb15:07
axwfwereade: https://plus.google.com/hangouts/_/eef843eef5b79f33bd5a7a2a4d50f20192103ac721?authuser=1&hl=en-GB15:09
=== hatch_ is now known as hatch
rogpeppedoes anyone else see provider/ec2 tests fail (TestStartInstanceWithEmptyNonceFails fails for me) ?15:32
rogpeppeon trunk15:32
rogpeppeit looks like another isolation issue to me, but i can't see a specific bug for it15:32
rogpeppemgz: ^15:32
mgzchecking15:33
* mgz switches to trunk15:33
mgzyeah, tht fails for me15:35
gary_posterIf, in an ec2 environment, juju claims that the environment is bootstrapped but it is not actually (http://pastebin.ubuntu.com/6180035/), what do I do?  this is trunk, as of yesterday and today.15:36
mgzprobably the test passed when poorly isolated15:36
rogpeppemgz: one mo - i'll disconnect from the network and we'll see15:36
mgzgary_poster: destroy-environment and start again?15:37
mgzgary_poster: the more manual option is to poke around in the file store and see what it has15:37
mgzusing some s3 tool or other15:37
gary_postermgz that worked thanks :-)15:37
rogpeppemgz: well, it fails with the same error when the netork is disconnected15:38
rogpeppemgz: i'm not sure how it got past the bot15:38
rogpeppewhat caused all these isolation-related issues to suddenly raise their head?15:39
mgzchanges to simplestreams15:40
rogpeppehmm15:40
* rogpeppe escapes to lunch15:40
rogpeppefwereade: preliminary proposal of the branch that's been in the offing for ages and ages: https://codereview.appspot.com/1420704616:16
rogpeppefwereade: all tests pass except the one that fails in trunk too16:17
rogpeppefwereade: (i don't know why that test passes on the 'bot)16:17
fwereaderogpeppe, gaah, last time I ran trunk everything was passing :/16:19
dimiternrogpeppe, are you sure it's not due to your specific router/dns setup?16:20
rogpeppedimitern: no :-)16:21
rogpeppedimitern: but it's a vanilla setup16:21
rogpeppedimitern: the DNS settings are automatically obtained from my ISP16:21
dimiternrogpeppe, I mean is the failing test timeouting on dns resolving?16:22
rogpeppedimitern: and... if the caching was working, why wouldn't the query return immediately it has got an answer?16:22
rogpeppedimitern: yes16:22
rogpeppedimitern: oh, no16:22
rogpeppedimitern: i don't think so16:22
rogpeppedimitern: mgz could reproduce the issue16:22
rogpeppedimitern: do provider/ec2 tests pass for you?16:23
dimiternrogpeppe, they did when I landed my branch last time16:23
rogpeppedimitern: they failed for me with the network disconnected too16:24
rogpeppedimitern: that might be a good way of reproducing the issue, if it is an isolation problem16:24
dimiternrogpeppe, yeah16:27
rogpeppedimitern: if you could bear to be without the internet for a minute or so, i'd appreciate it if you could try that16:28
dimiternrogpeppe, not right now - in a few minutes, I'm testing a bugfix16:29
rogpeppedimitern: np16:29
rogpeppedimitern: whenever16:29
dimiternrogpeppe, take a look at cmd/juju/destroyenvironment.go:4616:51
dimiternrogpeppe, why's that?16:51
rogpeppedimitern: the "if !assumeYes" line?16:52
dimiternrogpeppe, no, the if before that, with the _, err =16:53
rogpeppedimitern: hmm, i don't see that in my branch - gimme 5 minutes while my lbox propose runs and i'll have a look16:53
rogpeppedimitern: that line was a bit premature16:55
dimiternrogpeppe, it's spurious16:56
rogpeppedimitern: not really16:56
dimiternrogpeppe, why?16:56
rogpeppedimitern: if you haven't got info stored for an environment you won't be able to talk to that environment at all16:56
rogpeppedimitern: so that line gives a better error message to the user16:57
rogpeppedimitern: however...16:57
rogpeppedimitern: that line is now gone in https://codereview.appspot.com/14207046/16:57
rogpeppedimitern: (review appreciated BTW!)16:57
dimiternrogpeppe, I can't see it gone16:58
dimiternrogpeppe, and I was going to do that anyway16:58
rogpeppedimitern: actually it's gone in trunk already17:00
gary_posterhazmat, fwereade, added comment #7 to https://bugs.launchpad.net/juju-gui/+bug/1233462 fwiw.  I welcome corrections, but I think what I said/did will be mostly OK to both of you.  Thank you again for your feedback on this.17:00
_mup_Bug #1233462: gui does not allow multiple relations between wordpress and ha proxy <juju-gui:Triaged> <https://launchpad.net/bugs/1233462>17:00
dimiternrogpeppe, oh? that's good - it must be very recently17:01
gary_posterAlready made correction/clarification: "The GUI also ignores the "limit" value, but simply does not currently allow more *requires* relations than 1."17:02
rogpeppedimitern: yeah, it merged in the last hour or so17:02
fwereadegary_poster, that looks accurate and sane to me17:06
gary_posterthank you very much fwereade, cool17:06
natefinchI keep wanting to "correct" all the spots where I see containerised and other similar words using s where I'd use a z, and then I remember who I'm working for....17:17
sinzuinatefinch, that was done in Lp code, then we got a command from above. Canonical is British company and  and it encourages British spelling.17:33
natefinchsinzui: that's understandable. The language is called "English" after all, not "American" ;)17:35
sinzuiI went to high school in AU, University in US, and work for GB company. My spelling is permanently buggered17:36
sinzuirogpeppe,  dimitern: I may have gone mad. I used sync-tools --source --destination repeatedly from r1903 and make the tools. today (possibly after installing the official 1.15.0 package) I cannot get that command too work17:39
sinzuiSince I have the tools and metadata it created, and logs, I know it worked for many days17:39
rogpeppesinzui: i'm afraid i don't understand all the new "simple"streams stuff17:40
rogpeppenatefinch: i try to use american spelling in the source code17:41
sinzuiI noticed right away that I couldn't use the juju from the package, but I am sure juju from the tree continued to work....but not today17:41
rogpeppesinzui: i didn't know that canonical is a british company, although i knew its head office is in london17:41
sinzuirogpeppe, I think it corporate identity rather than legal identity.17:42
rogpeppesinzui: so... how does the command fail today?17:43
natefinchrogpeppe: I think I've only seen one or two things that stuck out at me as british... and honestly, when those things pop up, they're things I didn't know we differed on.  Not a big deal, for sure.17:43
sinzuirogpeppe, no, I reverted to r1903, which I used on Friday. The commands no longer work.17:44
rogpeppesinzui: you've done "go install ./..." presumably?17:44
sinzuiyes. --version is correct17:44
rogpeppesinzui: what errors do you get?17:45
rogpeppesinzui: "no longer work" is a hard place to start from :-)17:46
sinzuiyeah17:46
sinzuiI am surprised it is listing available tools when the --source --destination options are for building a tree that can be republished anywhere.17:48
rogpeppesinzui: i still haven't seen any error messages...17:56
sinzuirogpeppe, This is the command I run. It is from a script I have played more than dozen times over the weekend. sync-tools is run after the tgz files are created in new-tools/tools http://pastebin.ubuntu.com/6180604/18:00
rogpeppesinzui: i'd like to see that with --debug on too18:00
sinzuirogpeppe, http://pastebin.ubuntu.com/6180622/18:01
sinzuirogpeppe, "boing" is a new env I add. I wondered if the hp and aws envs were "tainted" because the tools were uploaded there.18:04
rogpeppesinzui: just to clarify: what do you expect this command to do?18:05
sinzuirogpeppe, copy the tgz files to new-tools/juju-dist/tools/releases generate the json and copy that to new-tools/juju-dist/streams/v1/18:06
rogpeppesinzui: without touching any external provider, right? this should all work locally on your machine.18:07
sinzuithat's right18:07
rogpeppesinzui: (even if you weren't using the local provider)18:07
rogpeppesinzui: in fact, the fact that you have to specify a provider for this command is kinda superfluous, i guess18:08
sinzuithat is also right. I use hp and aws in previous calls (to be certain the data was identical)18:08
sinzuiThis is the content of the hp/aws calls from a few days ago: http://pastebin.ubuntu.com/6180642/18:08
rogpeppesinzui: what does ls -lR /home/curtis/Work/new-tools print?18:09
sinzuirogpeppe, http://pastebin.ubuntu.com/6180652/18:10
rogpeppesinzui: i don't see anything in /home/curtis/Work/new-tools/tools/releases18:14
rogpeppesinzui: which is where synctools looks for tools, AFAICS18:14
sinzuirogpeppe, that is right! sync-tools --destination is to make releases/ and streams/v1/18:15
sinzuiI will make those dirs just to eliminate this scenario18:15
rogpeppesinzui: AFAICS the tools sync logic copies from $source/tools/releases18:18
sinzuirogpeppe, thank you very much! indeed it doe NOW....18:20
rogpeppesinzui: ah, cool18:21
sinzuirogpeppe, sync-tools is a plugin isn't it and it obeys the rules of PATH18:21
rogpeppesinzui: a lot of this stuff has changed18:21
sinzui?18:21
rogpeppesinzui: possibly18:21
* rogpeppe hates the frickin' plugin thing18:21
sinzuirogpeppe, I think the 1.14.1 rules were used when called GOPATH/bin/juju, and now I have 1.15.0 installed.18:22
* sinzui revises script18:22
rogpeppesinzui: it looks like the plugin logic respects $PATH, yes18:23
* rogpeppe is done for the day18:34
rogpeppeg'night all18:34
rogpeppesinzui: glad you got it working!18:35
sinzuigoodnight and thank you again rogpeppe18:35
jcsackettsinzui: do you have a moment to chat?18:37
sinzuijcsackett, do18:40
jcsackettsinzui: fantastic. i'll call you on g+.18:40
sinzuijcsackett, is this a trap. I entered the room, but you isn't there18:41
jcsackettsinzui, abentley: can one of you review https://code.launchpad.net/~jcsackett/charmworld/missing-qa-data-in-review-queue/+merge/18858418:56
abentleyjcsackett: Sure.18:56
jcsackettabentley: thanks!19:03
abentleyjcsackett: Should you consider series as well as charm name when checking for QA?19:05
jcsackettabentley: oh, good catch.19:19
jcsackettyes, i should.19:19
=== meetingology` is now known as meetingology
=== _mup__ is now known as _mup_
=== adam_g` is now known as adam_g
thumpermorning folks19:55
thumpersinzui: what's the status?19:56
thumpergary_poster: ping19:57
sinzuithumper, I am redeploying ALL streams because they are different when generated with 1.15 and 1.15 is installed. When I generated the streams on the weekend, I had 1.14.1 installed and I think its sync-tool plugin was used  for part of the streams :(19:58
thumper:-|19:58
sinzuithumper, fwereade: All tools are redeployed now. I will validate then restart the tests!19:58
gary_posterthumper, hey19:59
thumpersinzui: are you testing 1.15 deployments, or upgrades or both?19:59
thumpergary_poster: hey, was giving a demo last night, showing off the juju-gui19:59
thumpergary_poster: one key problem I had was the projector was 1024x76819:59
sinzuithumper, both19:59
thumpergary_poster: and lots of stuff was not visible19:59
thumpersinzui: ack20:00
gary_posterthumper, full ack :-(20:00
gary_posterknown problem20:00
thumpergary_poster: is there a plan to have a zoom out for the entire interface?20:00
thumperor perhaps this magic css fu I don't understand properly20:00
thumperthat changes more behaviour based on resolution20:00
gary_posterthumper, no, UX intends bigger design change to address20:01
gary_posterinspector grows to cnsume all of right hand side, and...other stuff they haven't worked out :-P20:01
thumpergary_poster: ok, would be nice if it scaled well for projector demos with crappy resolution20:01
thumpergary_poster: you could put that on the designers todo list :)20:02
gary_posterthumper, it definitely is.  this is an important one20:02
thumpergary_poster: cool, that's all20:02
thumpergary_poster: although people were very interested in bundles20:02
gary_posterack thanks thumper20:02
thumperand being able to save state from the gui20:02
thumpers/although/also/20:03
thumperI guess it reads ok either way20:03
gary_poster:-) thumper, cool.  release today in progress gives you UX to save state from gui (was only keypress before).  bundle work getting very close but last bits of hooking things up take extra time, as is often the case.  was hoping for this week, but next week looks more likely20:04
* thumper nods20:04
sinzuithumper, fwereade , azure is definitely walking! I will know in about 30 minutes if we can say it us running20:29
fwereadesinzui, awesome news20:29
thumperwalking or working?20:29
thumpersinzui: you bootstrapped ec2 ok?20:29
* thumper is having trouble with it20:29
sinzuiwalking. I can status just the state-server within 15 minutes of bootstrap. I could not do that yesterday20:30
sinzuithumper, I have not done ec2 yet. I am doing azure and hp20:33
thumpersinzui: I have bootstrap succeeding, but no instance coming up20:33
sinzuiI will switch to ec2 then20:33
thumperusually the management console is pretty on the ball with new instances20:34
thumperbut I'm not seeing anything20:34
thumperus-east-1 (the default)20:34
* thumper tries ap-southeast-120:34
* thumper tries ap-southeast-220:35
thumpernot 120:35
thumper2013-10-01 20:35:02 ERROR juju supercommand.go:282 cannot start bootstrap instance: cannot set up groups: cannot revoke security group: Source group ID missing. (MissingParameter)20:35
thumperhmm...20:35
thumperso much for aws having consistent apis20:35
sinzuiaws does appear to be slower doing a deploy20:37
sinzuithumper, azure depoy PASS http://juju-test-release-azure-zw9r097xn7.cloudapp.net/20:45
sinzuithumper aws deploy PASS http://ec2-23-22-68-40.compute-1.amazonaws.com/20:51
thumpersinzui: hmm, are you using --upload tools?20:56
sinzuiNo, I am not20:57
thumperah crap20:57
thumperI think I'm looking at the wrong user20:57
sinzuibeen there, done that this week20:58
thumperhaha20:58
thumperI was20:58
* thumper feels like a dumb ass20:59
sinzuithumper, HP deploy PASS http://15.185.254.245/20:59
sinzuiI can start the upgrade tests now. I think the messed up streams were the true cause of the HP upgrade failures.21:00
* thumper nods21:02
thumperok21:02
hazmat`does anyone know what the purpose of the settingsref collection is?  afaics its basically redundant info21:12
thumperhazmat`: sorry, no idea21:14
hazmat`no worries,  i'll ping fwereade tomorrow21:14
fwereadehazmat`, heyhey21:15
hazmat`fwereade, greetings, thought you might be done for the night.. just curious about the settingsref collection for the pymigration stuff.. namely what's the intent behind it21:16
fwereadehazmat`, IIRC it allows us to clean up service config settings when they're no longer used21:17
hazmat`afaics its basically a count of settings users, but it seems to always a key ref to a named service's settings with a unit count?21:17
hazmat`fwereade, how's it any different then unit count?21:18
hazmat`on the service doc21:18
fwereadehazmat`, so, for each given charm a service runs, it has a (potentially) different config21:18
fwereadehazmat`, the service always holds a ref to the service's current charm's version of the settings21:19
fwereadehazmat`, units hold refs to the version suitable for the version of the charm they are currently running21:19
fwereadehazmat`, when the refcount hits 0, we delete them21:19
fwereadehazmat`, if we didn't have a refcount it would be hard to know when they were no longer used21:20
hazmat`but its not mvcc on the service config.. ie no previous copies or versions are held. the keys are all the service ref21:20
hazmat`not versioned config refs21:20
fwereadehazmat`, we can't assert things like "no doc exists with $value in $field" in the txn library21:20
hazmat`fwereade, so the value should be unit_count+121:21
fwereadehazmat`, but we *do* hold older versions of the config, for use by those units that have not updated to a charm that is guaranteed to understand the current one21:21
fwereadehazmat`, steady state, in general, yeah, I think so21:21
fwereadehazmat`, service configs are keyed on service name + charm urlIIRC21:22
hazmat`fwereade,  cool i think thats answers my question.. but re older versions of config.. how can they be held when the keys conflict21:22
fwereadehazmat`, we've always got the charm against which they originally validated, and we use that to fill in defaults etc when presenting old configs to outdated units21:23
fwereadehazmat`, if charm config changes we basically just drop old fields, add new ones as default, and reset to default any we can't make head or tail of (type changes)21:24
hazmat`sure re defaults, but afaics you always have one actual service config, and a ref to the charm.. the older service config would have to be localdata on the unit.21:24
fwereadehazmat`, the older service config stays there in state until all the units have upgraded21:25
hazmat`fwereade, okay.. ah.. ic.. this only in the context of upgrades, where you have both charms versions to merge against the current setting, doesn't apply to config changes, and multiple versions of applied config in state (ie juju set)21:26
fwereadehazmat`, juju set only actually applies to the current one21:26
hazmat`yup.. so not really multiple versions of config21:26
hazmat`just synthesized for upgrades from multiple charms defaults21:27
fwereadehazmat`, a given set of settings may well only half-validate against an older charm so we leave them frozen until they're culled21:27
fwereadehazmat`, so yeah it's just a dumb cache21:27
hazmat`fwereade, so the settingsref purpose is primarily garbage collection against extant refs21:27
fwereadehazmat`, yeah21:27
hazmat`fwereade, cool, thanks21:27
fwereadehazmat`, anywhere you see a refcount in state the reason for it is basically isomorphic21:28
hazmat`fwereade, yeah.. txn guard behavior.. what's generally unclear is the actor / supervision tree for state21:28
hazmat`mostly around the gc of docs, possibly b/c in several cases there are multiple answers. ie. service doc owned by last unit agent or cli vs. machine doc owned by machine or provisioner21:30
hazmat`fwereade, thanks for the insights21:30
fwereadehazmat`, the lifecycle docs in doc/ should be helpful there21:31
fwereadehazmat`, lifecycles.txt:156 onwards21:32
fwereadehazmat`, it has probably rotted in one or two places but it should still be largely accurate21:33
fwereadehazmat`, in particular I did not think to update it when we fixed the "unit destruction depends on unit agents" bug21:34
thumperfwereade: can I get you to run the ec2 tests for trunk?21:35
thumperfwereade: it could be that saucy is causing this test to fail21:35
fwereadehazmat`, in fact death-and-destruction.txt might be even closer21:35
hazmat`fwereade, cool, i'll check them out21:35
fwereadethumper, is there a particular one? I'm a bit up to my elbows in provider again here21:36
thumperlocalLiveSuite.TestStartInstanceWithEmptyNonceFails21:37
thumpersame failure for openstack21:37
fwereadethumper, both passing for me21:41
* thumper sighs21:41
fwereadethumper, paste me the failures?21:41
thumperfwereade: http://pastebin.ubuntu.com/6181433/21:41
thumperfwereade: wrote to tools, but tried to read from different location?21:42
thumperdon't seem like a distro specific issue there21:43
thumperha it isn't a tools problem but image problem21:44
fwereadethumper, still, it's surprising they're the only ones failing21:46
thumperyeah21:46
fwereadethumper, although, hmm, it is uploading version.Current there21:47
thumperyeah, but that's the tools21:47
thumpernot the image21:47
thumperit is complaining with the image search21:47
fwereadethumper, Iwould not be too surprised to see we didn't include test image metadata forsaucy though21:47
thumperyeah, do you know where the test metadata is?21:48
fwereadethumper, and specifying version.Current will force saucy where perhaps nothing else does21:48
* thumper nods21:48
thumperfwereade: shall I try with "quantal", which is what other tests do?21:48
fwereadethumper, that sounds sensible, yeah21:49
fwereadethumper, heh, ec2 has a load in export_test21:50
fwereadethumper, no mention of sauct21:50
fwereadeor even saucy21:50
* thumper nods21:51
thumperI've modified the test to specify "quantal"21:51
thumperlets see if it passes21:51
thumperthat looks like it fixed it21:54
* thumper proposes as a drive by in the other branch21:54
thumpergah, fixed ec2 but openstack broke21:55
* thumper looks at image differences21:55
thumperoh ffs21:58
thumpertoo many non-constrained test variables21:58
thumperarch should be set too21:59
sinzuiHP upgrade FAIL. Like before the state sever completed, but the units did not.. I have capture the log22:13
thumperwow, lbox confused that merge22:30
thumperfwereade: if you are still around https://codereview.appspot.com/14243043/22:33
fwereadethumper, should we not be explicitly testing --system ratherthan just doing that shift-out-of-the-way lark in checkargs?22:37
thumperfwereade: probably22:38
thumperfwereade: do you know where the $(JUJU_HOME)/environments dir and associated .jenv files are created?22:39
thumperfwereade: if you bootstrap the local provider with sudo as you need to, you can't do anything else because it is created 600 by root22:39
thumperwhich includes status22:40
thumperI assigned the bug to rog, but he hasn't done anything with it22:40
thumperso local provider is still broken22:40
fwereadethumper, it's all in environs/configstore, not sure offhand exactly where called from22:41
fwereadeenvirons.Prepare, probably22:41
thumperhmm...22:41
* thumper will look after the gym22:42
fwereadeenjoy22:42
thumpersinzui: please add to the todo list of live tests: local provider22:42
sinzuiI will22:47
thumpersinzui: things fixed on trunk should target 1.15.1?22:49
* thumper -> gym22:49
=== thumper is now known as thumper-afk
sinzuiazure upgrade PASS23:08
dpb1Hi all -- is this a known issue on a precise bootstrap node with the maas provider? # start juju-db23:12
dpb1juju-db start/running, process 447323:12
dpb1root@qnc48:/var/log/upstart# cat juju-db.log23:12
dpb1error command line: unknown option sslOnNormalPorts23:12
dpb1use --help for help23:12
dpb1seems like wrong version of mono or something23:14
dpb1*mongo23:14
sinzuiaws upgrade PASS23:33

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