/srv/irclogs.ubuntu.com/2017/06/02/#juju-dev.txt

anastasiamacaxw: ping00:26
wallyworldbabbageclunk: bug 1688635 fwiw00:28
mupBug #1688635: 'max-logs-age' panic on bootstrap with lxd provider <juju:In Progress by 2-xtian> <https://launchpad.net/bugs/1688635>00:28
=== mup_ is now known as mup
babbageclunkwallyworld: ok, thanks00:36
wallyworldbabbageclunk: i may have a slightly different solution, just looking into it now00:36
babbageclunkwallyworld: cool, let me know how it goes.00:37
wallyworldbabbageclunk: yep, i will do a fix elsewhere00:42
babbageclunkwallyworld: ah, ok - so I don't need to think about config at all then?00:43
wallyworldno00:43
wallyworldbabbageclunk: was a 3 or 4 line fix, just writing a test00:45
babbageclunkawse00:46
thumperbabbageclunk: https://github.com/juju/juju/compare/develop...howbazaar:separate-log-dbs?expand=1 updated, I'm heading out for lunch, will test more when I get home.00:48
wallyworldthumper: was a simple fix, just had to change how restore constructed controller config. Using New() fills in any defaults https://github.com/juju/juju/pull/744201:08
wallyworldor babbageclunk ^^^^ if thumper has run away01:09
thumperbabbageclunk: my brach had a bug02:30
thumperwill update02:30
babbageclunkthumper: ok - luckily I haven't looked at it yet!02:30
babbageclunkthumper: just sorting out tests for pruning.02:30
thumperbabbageclunk: I'm testing the upgrade test now02:54
thumpermanually02:54
babbageclunkthumper: cool.02:54
babbageclunkthumper: do you know whether there's a way to pass a yaml file to model-default or model-config (the way you can to --config or --model-default at bootstrap time)?02:55
thumperno sorry02:55
babbageclunksee veebers it's thumper's fault02:56
veebersbabbageclunk: hah :-)02:56
babbageclunkthumper: also a question from veebers that I don't know the answer to: do you do the model-default sub command on the controller or the model itself?02:59
babbageclunkthumper: and: does setting model defaults after a  model has been created update the config on that created model?03:00
babbageclunkI also would like to know the answers to these Qs03:00
thumpermodel-defaults are set at bootstrap time03:00
thumpernot sure if they can be set after that...03:01
babbageclunkthumper: there's a model-defaults command that works just like model-config except presumably it sets defaults. But I don't really understand what it does if it's not working on the controller.03:02
thumperit probably is working just on the controller'03:02
thumperalso, if you have a model and update the defaults03:03
thumperI'm not sure if the defaults are re-propagated, wallyworld probably does though03:03
wallyworldsay wot03:03
wallyworldmodel defaults are used when add models03:03
wallyworldadding03:04
wallyworldthe new model config is seeded from the defaults03:04
babbageclunkwallyworld: yeah, but the model-defaults command can take a model - what's that about?03:05
veeberswallyworld: so if I bootstrap and have a default model, then set the model-defaults, that default model won't have the defaults?03:05
veeberswallyworld: but if I add a model after that, the new model will?03:05
wallyworldbabbageclunk: what do you mean "can take a model"? it's a controller command IIANM03:06
wallyworldveebers: correct, the model defaults are not inherited but copied03:06
wallyworldveebers: once a model is added, that's it03:07
wallyworldit has its own config03:07
veeberswallyworld: ok thanks.03:07
babbageclunkwallyworld: Ah, you're right! But the examples include a -m version. Which was blowing my tiny mind, 'specially on a Friday afternoon.03:07
babbageclunkI'mm'a push a fix for that.03:07
veebersbabbageclunk, wallyworld I think that means I have a way forward with the log-forwarding test, gonna try now03:08
wallyworldbabbageclunk: whomever wrote those examples should be shot. hope it wasn't me03:08
* babbageclunk runs a git praise03:08
wallyworldwhew03:08
wallyworldnot me!03:08
babbageclunkYou're safe for now!03:09
thumperhmm...03:11
thumpermy testing rendered my controller non-responsive03:11
babbageclunkwallyworld: also, what does it mean to specify a cloud/region for that command?03:12
wallyworldbabbageclunk: different cloud regions can have different defaults, eg proxy03:13
wallyworldor apt mirror03:13
babbageclunkwallyworld: but how can a controller have different clouds or regions? Oh, is this a jaas thing?03:13
wallyworldfor a model, if there's no clud region default, it will lookto use a model default sans region03:14
wallyworldwe now support models in differnet region in a sinle controller03:14
wallyworldthe underlying cloud has to be the same for wach model03:14
babbageclunkwallyworld: oh right, ok - that makes sense. thanks!03:14
wallyworldnp03:15
babbageclunkthumper: that sounds bad03:15
thumperyeah, investigating03:15
thumper /var/lib/juju/db/collection-69--8034483712429095609.wt: handle-write: pwrite: failed to write 4096 bytes at offset 4849664: No space left on device03:15
thumperwhich is weird, because there is space now...03:16
babbageclunkthumper: and we're only talking ~300M of data right?03:17
thumperah03:17
thumpermy zfs system is full03:17
babbageclunkdoh03:17
thumperI had some old machines lying around03:17
thumpernot sure where they are from03:17
* thumper cleans up03:18
* babbageclunk fights the urge to talk about atm machines and pin numbers.03:18
veeberswallyworld, babbageclunk: should I be concerned if I see this: WARN  juju.cmd.juju.model defaultscommand.go:592 key "syslog-ca-cert" is not defined in the known model configuration: possible misspelling03:19
wallyworldwe shouldn't see that. it's likely noise but should not be printed03:20
* thumper starts again03:20
wallyworldif everything works, it's worth a bug03:21
babbageclunkwallyworld: maybe I need to add it somewhere? Odd though - I didn't change the config settings.03:23
* thumper taps fingers waiting03:23
wallyworldbabbageclunk: there is a check that what the user types belongs to the config schema; not sure off hand why that attr didn't pass muster03:24
babbageclunkthumper: are your latest changes in your branch? I'll start pulling them optimistically.03:24
thumperbabbageclunk: let me push03:24
thumperbabbageclunk: there now03:25
babbageclunkthumper: thanks03:27
thumperoh yeah...03:32
thumpermachine sluggish now03:32
thumperload over 10, CPU over 70% of every core03:33
thumper1323 M of log collection data03:33
thumperpruning cuts in every 5 minutes03:34
thumperso I'll wait for that then run the upgrade03:34
babbageclunkthumper: Removing version - how far should I go? Take it off params.LogStreamRecord too? I think that's ok, api-versioning-wise - logstream's only used from workers in the controller.03:36
thumperbabbageclunk: I think so03:36
babbageclunkthumper: book03:37
veebersbabbageclunk, wallyworld: Hmm, that didn't work. Have you confirmed this manually? I might be missing some step03:37
wallyworldi haven't tested, xtian has03:37
babbageclunkveebers: I haven't tested that though, only at bootstrap time. I'll try it now, hang on.03:38
veebersbabbageclunk: ah, I might not be setting logforward-enabled on the model03:38
veebersbabbageclunk: only on the controller03:39
babbageclunkveebers: that should do it - that has to be enabled for each model.03:39
veebersbabbageclunk: let me try again03:39
babbageclunkveebers: although if it's enabled in defaults then it will be for new models.03:39
veebersbabbageclunk: right, need to check that's what I need in the test or if the timing of the start of forwarding is important03:40
thumperhmm...03:43
thumperwhy isn't log pruning happening03:43
babbageclunkthumper: hmm, version's needed by logforwarding - it goes into the origin for juju in the syslog - I guess I can still rip it out and just have the forwarder add version as it writes to the syslog.03:44
axwwallyworld thumper: https://private-fileshare.canonical.com/~axw/lp1677434-jujud.tar.xz <- contains the presence and status history fixes on top of 2.1, with version set to 2.1.203:45
thumperaxw: I think they are on 2.1.303:45
thumperhmm...03:45
thumperwell they should be as that is the security release'03:46
axwthumper: the bug says 2.1.203:46
babbageclunkthumper: is your system a bastardised one with your split logs collections? pruning might be a bit bung.03:46
thumperhuh03:46
thumperyou are right03:46
thumperbabbageclunk: no, 2.1.203:46
thumperwhat was the log size? I thought it was 300 meg03:47
* babbageclunk shrugs then03:47
babbageclunkthumper: ripping version out is getting a bit intense, I'm going to park it for now and hopefully do it later.03:48
axwthumper: if it turns out they're running a newer version, they can drop a FORCE-VERSION file into the same dir as jujud03:48
thumperbabbageclunk: ack03:48
thumperaxw: ack03:48
thumperoh fuck03:50
thumperdefault max is 4 gig03:50
* thumper isn't going to fill that03:50
thumperhmm...03:50
* thumper looks again03:50
thumperugh... should be ok03:51
* thumper makes more logs03:51
veebersbabbageclunk: on closer inspection, some log forwarding was always working, it's just the added model that's not. I'm checking now04:00
veebersah, possible that it needs to be enable specifically04:00
thumperok... over 4G of logs04:00
thumperthis should be a good test for upgrade step04:00
babbageclunkveebers: ok, that sounds good.04:09
thumperbabbageclunk: took 7 minutes04:14
thumperbut it successfully split the logs into 504:14
thumperand that was for 4G of logs04:14
thumperwhich is the default max of 2.1.204:14
thumpernow for other interesting bits04:15
thumperon 4.4G of logs indexes were 89M04:15
thumpernow with the split04:15
thumperwe have...04:15
* thumper queries and adds up04:15
thumpermeh...04:19
thumperdoesn't seem to be that much different in size to be honest04:19
thumperbut faster to clean up04:19
babbageclunkthumper: Hmm, is there any way we can make it resilient to crashing half-finished? Find the max id in any of the child collections and start from there, maybe?04:20
thumperbabbageclunk: for the upgrade?04:20
babbageclunkthumper: yup04:20
thumperbabbageclunk: if it crashes half way through it hasn't "upgraded" so agent.conf isn't updated04:20
thumpernext time it starts, it will run the upgrade steps again04:21
thumperwhich will just continue04:21
babbageclunkright, but will we get double-ups in the child log tables?04:21
* thumper thinks...04:21
thumperyes04:21
thumperbut the'll get pruned04:21
thumperif it does crash...04:21
thumperminor problem with dupes04:22
thumperfor a while04:22
thumperthe "correct" way would be to remove each doc as it is moved04:22
thumperwill probably double the time for the upgrade04:22
thumperbut more resiliant to failure04:22
babbageclunkthumper: but I think finding the latest id in any of the child collections would work too, wouldn't it? Or at least restrict double ups to the time it was up to at the crash.04:23
thumperare object ids strictly sortable?04:24
babbageclunkthumper: no, I don't think so in the general case, unless you know they were only generated in one machine04:25
thumperbabbageclunk: actually, perhaps we should batch removals?04:29
thumperbabbageclunk: it would minimise restart dupes04:29
thumperbut also limit the doubling of logs during migration04:30
thumperbabbageclunk: thoughts?04:30
babbageclunkthumper: yeah, sounds sensible to me.04:30
thumperbabbageclunk: as I'm slightly concerned about disk usage during upgrade04:30
thumperperhaps bulk insert too04:30
* thumper considers04:31
babbageclunkthumper: ooh, nice.04:31
thumperinsert takes (docs... interface{})04:32
veebersbabbageclunk: sweet, looks like I have a fix for the test, it was a lot more simple than I first thought04:34
babbageclunkveebers: awesome04:35
thumperbabbageclunk: ah fark...04:37
babbageclunk?04:38
thumperbabbageclunk: harder to do batch inserts04:38
thumperdue to different collections04:38
thumpercan do batch delete04:38
babbageclunkprobably the easier option would be to grab a batch, group them by model, insert each model-batch, then delete the batch from source.04:39
babbageclunknon-optimal since it's doing smaller inserts, but still better.04:40
thumperbabbageclunk: I've gone for single inserts, batch deletes04:44
thumperhappy medium for effort / reward04:44
babbageclunkthumper: fair enough.04:44
thumperbabbageclunk: http://paste.ubuntu.com/24744827/04:45
babbageclunkthumper: are you going to do another perf test to see how much the batch deletes cost?04:46
thumperbabbageclunk: have you grabbed the upgrade steps yet?04:46
thumperit is more the disk usage during upgrade04:46
thumperperformance will be slightly worse04:46
thumperno04:46
babbageclunkthumper: nope - been fixing test failures.04:46
thumperwasn't going to do another test04:46
* thumper pushes change04:47
babbageclunkthumper: any chance it'll be lots worse?04:47
thumpernot lots04:47
thumpera little04:47
babbageclunkI you could do the test on a much smaller sample to get a feel for how much worse.04:48
babbageclunkoops -I04:49
thumperoh alright then04:49
babbageclunk:)04:49
babbageclunkanyway, I'm getting the changes and putting them into my tree.04:49
* thumper creates 4G of logs05:13
veebersbabbageclunk, wallyworld: hey thanks for talking me through the log-forwarding stuff, turns out this is the fix: https://github.com/juju/juju/pull/7445 (a lot simpler than I first thought)05:16
veebers:-P05:16
wallyworldveebers: told you it was essential transparent :-)05:17
wallyworldjust a tweak to enablement05:17
veebersindeed, sorry for the noise wallyworld (in my defense I did learn some stuff)05:17
wallyworldveebers: hey, no problem! always good to question how things are05:18
wallyworldthat's how we discover our mistakes and improve05:18
babbageclunkveebers: nice one.05:18
wallyworldby our i mean dev05:18
veebers^_^05:18
wallyworldeasy for dev to make assumptions because we are close to it all the time05:18
veebersThere is also a fix for the model migration test (well a general fix, migration test\s are the most affected)05:19
wallyworldyay, so CI should look pretty sweeeeeet05:19
wallyworldthumper: you forgot my PR :-(05:20
thumperyes I did05:20
thumpersorry, too busy testing and working with babbageclunk05:21
wallyworldno worries, understand05:22
wallyworldaxw: could you take a look, it's only 4 lines https://github.com/juju/juju/pull/744205:23
wallyworldthanks thumper05:24
veeberswallyworld, thumper, babbageclunk: I'm off o/ I'll check in tomorrow to make sure those test fixes where landed etc. and re-run any tests that might need it05:28
babbageclunkveebers: thanks!05:28
wallyworldveebers: thanks for all the help! so close to getting a bles snow05:28
babbageclunkthe best kind of snow05:29
veebersno worries. Yeah those test results are looking heaps better!05:29
wallyworldstupid typo05:29
veebersI think I like "bles now" better than a bless05:29
wallyworldstill a race or two to fix05:29
wallyworldbabbageclunk: i have a branch with the new split consume working. just need to do a couple of more tests. will propose for review next week05:30
babbageclunkwallyworld: oh cool"05:31
babbageclunk!05:31
wallyworldso close to multi-controller cmr but we probs won't productise it05:31
wallyworldfoundations will server other purposes though05:32
wallyworld*serve05:32
thumperbabbageclunk: um...05:34
babbageclunk?05:34
thumperbabbageclunk: my code is broken05:34
babbageclunk:(05:34
* thumper enfixes05:34
babbageclunkOk, as long as the changes are just in the split func and tests it's pretty easy for me to update.05:35
thumperbabbageclunk: have you copied stuff yet?05:36
babbageclunkyup05:36
babbageclunkjust been fixing tests then pushing.05:37
thumperhttp://paste.ubuntu.com/24745126/05:37
* thumper thinks how to copy this to the dead machine05:38
babbageclunkta05:38
babbageclunkthumper: oh, easy fix.05:39
thumperoh FFS05:41
thumperbabbageclunk: we need to handle dupe inserts05:41
thumperin the upgrade step05:41
thumperin the case of restart05:41
thumper2017-06-02 05:39:58 ERROR juju.upgrade upgrade.go:149 upgrade step "split log collections" failed: failed to insert log record: E11000 duplicate key error collection: logs.logs.c4bfb84a-fa78-4def-8b7e-e5bb0b3d15b1 index: _id_ dup key: { : ObjectId('5930ef6656401a20508455dc') }05:41
thumperbut I need to leave05:41
thumperrachel will kill me otherwise05:42
thumperbabbageclunk: so an error from the insert that is a dupe should be ignored05:42
* thumper out05:43
babbageclunkwallyworld: could you take a gander at https://github.com/juju/juju/pull/7441? I still need to make the fix thumper alluded to there.05:59
wallyworldok05:59
babbageclunkBut if I don't stop now to help with dinner then I also will be killed.05:59
babbageclunkthe kids have been especially trying today.06:00
babbageclunkquick, hide!06:00
wallyworldbabbageclunk: see what you think of my comments06:21
rogpeppejam: since you were involved before, you might want to take a look at https://github.com/juju/juju/pull/743806:24
axwballoons: I think the windows test machine might be dead? http://juju-ci.vapour.ws:8080/job/github-merge-juju/11077/artifact/artifacts/windows.log/*view*/09:53
wpkaxw: it picked a great day to die11:00
arosalesjam: Thanks for the comment in https://bugs.launchpad.net/juju/+bug/167743413:12
mupBug #1677434: listing models is slow <adrastea> <amd64> <arm64> <canonical-bootstack> <ppc64el> <uosci> <usability> <juju:Triaged> <https://launchpad.net/bugs/1677434>13:12
arosalesjam: is there a recommended way to bet cpuprofile with the 2.1 agents?13:13
arosaless/bet/get/13:13
balloonsaxw, I'll look13:30
balloonsaxw, your merge is re-running13:48
=== ejat is now known as fenris
=== fenris is now known as ejat

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