[00:01] yeah, i was profiling the linker and it stabs you in the face really [00:02] it's all work that the 1.4 compilers never did [00:02] indeed [00:02] and in my testing, that acconts for 3x slowdown [00:03] GOGC=off makes things about 40% faster in my tests i think [00:03] varies a bit with case, of course [00:03] yup [00:03] not sure what a good sort of gc is for this sort of thing really [00:03] none, it's a pathlogical case [00:04] gc only works for allocations you intend to free [00:04] preferably shortly [00:04] yeah [00:04] i suspect the biggest problem to GOGC=off or using off heap memory will be political [00:04] generational would help a bit, but all the new Nodes get old->young pointers immediately [00:04] which kinda screws over the generational hypothesis [00:05] generational collectors are good for avoiding heap fragmentation [00:05] apart from that, they actaully don't help [00:05] as anything which uses a lot of memory, by defintition has big data structures which are long lived [00:05] think reddis, memcache, casandra [00:05] they help if you generate piles of short lived garbage [00:05] all of those get promotoed, or are reachable from the promoted set [00:05] e.g. if you are writing python [00:06] they are good for request/response servers [00:06] * mwhudson spots some java experience [00:06] where they genrate a lot of allocations relative to the incoming connection, then free them at the end [00:06] mwhudson: i'll show you the place that Java touched me, later [00:10] welp, keith is intersted at least [00:10] i don't really care about the solution [00:10] only they engage with the idea that the gc is not helping the compiler [00:39] menn0: thumper http://paste.ubuntu.com/11234864/ [00:39] uh oh [00:39] this is our old friend [00:39] * menn0 looks [00:40] davecheney: where are you seeing that? [00:40] failure on ppc64 [00:40] .../jujud/agent [00:54] davecheney: is it consistent? === natefinch-afk is now known as natefinch [01:39] menn0: yup [01:40] i smell a data race [01:41] anastasiamac, wallyworld: I need to run off in about 10 minutes, pepper is booked in for a hair cut [01:41] :) [01:52] davecheney: turns out being in a hangout makes compiles even sloweer [01:55] hangouts DEFINITELY slow down compilation (and everything else) [01:55] menn0: go test -race .../jujud/agent [01:55] OK: 80 passed, 1 skipped [01:55] PASS [01:55] Found 13 data race(s) [01:56] since it's a prime number, they cancel out, right? [02:00] natefinch: so, should I add more races, or take some away ? [02:00] davecheney: no no, if you fix one, it won't be prime, and they won't cancel out anymore [02:00] * natefinch is sure that's a thing. [02:01] github.com/juju/juju/apiserver.(*changeCertConn).Read() [02:01] :37 +0xa3 [02:01] did someone recently add support to the apiserver to change certificates on the fly ? [02:01] davecheney: on the upside, coverage of jujud/agent is better than I thought, 78.5% - which means we're only probably missing ~3 data races not covered in tests [02:02] natefinch: superb [02:09] davecheney: wallyworld added the cert swapping thing [02:09] it's needed to support upgrade IIRC [02:09] s [02:09] recently = 1.22 [02:09] it's needed to support secure connections to state servers from cloud nodes [02:11] excellent [02:11] it's not clear if those races are just in the tests [02:11] * davecheney throws table at mocking functions at test time [02:12] but it's certainly a big problem [02:12] data race == program is unknowable [02:12] that could explain the runtime crashes we see [02:17] https://bugs.launchpad.net/juju-core/+bug/1456851 [02:17] Bug #1456851: cmd/jujud/agent: multiple data races detected === kadams54 is now known as kadams54-away [02:42] Bug #1222413 changed: openstack provider Instances suppresses errors [02:42] Bug #1450129 changed: vsphere provider is missing firewaller, networking implementations [02:42] Bug #1450701 changed: Juju CLI compatibility option [02:42] Bug #1451283 changed: deployer sometimes fails with a unit status not found error [02:42] Bug #1452114 changed: Unnecessary errors emitted during init system discovery [02:42] Bug #1452535 changed: default storage constraints are not quite correct [02:42] Bug #1453801 changed: /var/spool/rsyslog grows without bound [02:42] Bug #1454043 changed: InstancePoller compares wrong Address list and always requests updated state Addresses [02:42] [02:42] Bug #1454676 changed: failed to retrieve the template to clone - 500 Internal Server error - error creating container juju-trusty-lxc-template - [02:42] Bug #1454829 changed: 1.20.x client cannot communicate with 1.22.x env Committed by wallyworld> [02:42] Bug #1456851 was opened: cmd/jujud/agent: multiple data races detected [02:44] thumper: ok to merge this? https://github.com/juju/txn/pull/10 [02:44] no landing bot it seems [02:44] thumper: i have permission to merge, just want someone else to agree [02:46] thumper: um, we have a serious problem [02:46] the cert change listner basically doesn't work [02:47] and cannot be fixed in its current form [02:53] thumper: menn0 https://bugs.launchpad.net/juju-core/+bug/1456857 [02:53] Bug #1456857: apiserver: updateCert has data race, corrupts certificate information [02:54] wallyworld: ^^^ [03:12] Bug #1415176 changed: debug-hooks exit 1 , doesn't mark hook as failed [03:12] Bug #1420057 changed: agents see "too many open files" errors after many failed API attempts by dave-cheney> [03:12] Bug #1429790 changed: debug-hooks not working with manually provisioned machines [03:12] Bug #1437266 changed: Bootstrap node occasionally panicing with "not a valid unit name" [03:12] Bug #1441206 changed: Container destruction doesn't mark IP addresses as Dead [03:12] Bug #1441913 changed: juju upgrade-juju failed to configure mongodb replicasets [03:12] Bug #1442012 changed: persist iptables rules / routes for addressable containers across host reboots [03:12] Bug #1444861 changed: Juju 1.23-beta4 introduces ssh key bug when used w/ DHX [03:12] Bug #1446264 changed: joyent machines get stuck in provisioning [03:12] Bug #1449301 changed: storage: storage cannot be destroyed [03:12] Bug #1449390 changed: storage: charms must wait for storage to be attached before running "install" hook [03:12] Bug #1449822 changed: storage: storage-detached should be storage-detaching [03:12] Bug #1450118 changed: vsphere provider should use OVA instead of OVF from cloud images. [03:12] Bug #1451674 changed: Broken DB field ordering when upgrading to Juju compiled with Go 1.3+ [03:12] Bug #1452113 changed: log files are lost when agents are restarted under systemd [03:12] Bug #1452207 changed: worker/uniter: charm does not install properly if storage isn't provisioned before uniter starts [03:12] Bug #1452511 changed: jujud does not restart after upgrade-juju on systemd hosts [03:12] Bug #1454481 changed: juju log spams ERROR juju.worker.diskmanager lsblk.go:111 error checking if "sr0" is in use: open /dev/sr0: no medium found [03:12] Bug #1454599 changed: firewaller gets an exception if a machine is not provisioned Committed by hduran-8> [03:12] Bug #1454870 changed: Client last login time writes should not use mgo.txn [03:12] Bug #1456857 was opened: apiserver: updateCertificate has data race, corrupts certificate information [03:12] spammy mup [03:13] menn0: my guess is no bot [03:13] menn0: so just merge it (assuming all tests pass :-) [03:19] thumper: yep they do [03:30] protip: whenever you use PatchValue, you're probably creating a data race [03:30] please don't use PatchValue [03:34] davecheney: what do you mean doesn't work? if it didn't work, lxc image caching would not work [03:35] data race != doesn't work [03:35] hey, emergency for demo [03:35] getting this error [03:35] WARNING failed to load charm at "/home/ubuntu/charms/trusty/rally": YAML error: line 20: did not find expected key [03:35] kind of cryptic error [03:36] what version of juju? what is charm yaml? [03:37] 1.24-beta3 [03:37] https://github.com/juju-solutions/rally [03:39] marcoceppi: sadly the error is from inside the yaml lib and it has been provided with no context :-( [03:40] marcoceppi: looks like action yaml [03:40] wallyworld: yeah, missing " [03:41] wallyworld: thanks@ [03:41] never have seen that error before [03:41] np [03:41] and proof didn't pick it up [03:41] something to fix :-) [03:42] Bug #1454466 was opened: Deployment times out waiting for relation convergence - neutron-gateway in installing state [03:46] waigani_: you around? [03:47] natefinch: yep [03:47] waigani_: #1 - thanks for fixing my dumb windows bug in the log rotation tests [03:47] natefinch: np :) [03:48] waigani_: #2 - since you wrote a script to run CI, maybe you can help me get my CI script running.... what should "job_name" be? my new test is log_rotation.py - does that mean the job name should be log_rotation? or log_rotation.py or something else entirely? [03:49] natefinch: from what I can see, job_name is just used to name the environment [03:49] natefinch: so the CI guys can keep track of what envs are for what jobs I'm guessing [03:50] ahh ok.. do you know if there's a way to run just my one test, and not all of CI? [03:50] natefinch: what's your one test? [03:51] menn0: I had a couple quick thoughts about your scanner patch, are you around? [03:51] natefinch: is your script up somewhere I can have a squizz? [03:51] jam: yep I'm here [03:52] waigani_: I wrote a python script following the pattern set by some of the other tests, like assess_bootstrap.py [03:52] waigani_: here's the code: https://gist.github.com/natefinch/e377eacd6b2316b2a884 [03:52] menn0: so one thing I was thinking about is that since we have to read the whole DB it really is a bit too often to do it every 2hrs (i think). so I was trying to think of ways to make it more logical [03:52] menn0: one that I thought could be really good is to track how many txns are in the collection and only prune when they grow by a certain amount [03:52] like say 2x [03:53] menn0: as this is really "don't let TXNs grow without bound and take up 99.99% of the total DB size" [03:53] but since there is one TXN for every other doc, it is fair to expect TXN to be as much as 50% of the total DB size. [03:53] ideally we would record the size of the collection after the last pruning [03:53] waigani_: it requires a new test charm that exists here for now: https://github.com/natefinch/fill-logs [03:53] and then only once it has bloated do the next GC [03:54] as a poor man's approximation we could track that info in memory [03:54] waigani_: just needs to be manually copied into repository (again, just for now) [03:54] (always GC on the first inspection, track the final size of the DB, and then only GC again once the count() is 2x the original count()) [03:54] or whatever is the cheapest thing to measure. [03:55] We could do db.txn.stats() but I'm not sure if that shrinks after a big prune [03:55] jam: hmmm ok [03:55] waigani_: ah crap, the script requires modifications to the ci-tools that aren't pushed yet [03:55] jam: i'm pretty sure the stats tell you the allocated size and the in-use size [03:55] natefinch: so, when it's ready, the test charm should probably live here: lp:juju-ci-tools/repository [03:56] menn0: so db.collection.stats() if it accurately tracks what pages are in use would probably be a very cheap chekck [03:56] check [03:56] waigani_: yep, got that. But I need to be able to test it to know if it's ready :) Actually, I've done a lot of manual testing on the charm, so pretty sure it's fine. [03:56] menn0: db.txn.count() *could* be cheap depending on how mongo tracks documents. [03:56] jam: count is very cheap [03:56] jam: it's tracked separately [03:56] menn0: I think in mongo 3 because of MVCC it changes to be not so cheap [03:57] waigani_: deploy_job is giving me ImportError: No module named boto .... where do I get boto, pip? [03:57] jam: that makes sense [03:57] natefinch: sure. With the JES stuff, I took the approach of writing a new job - using deploy_job.py as a template [03:57] menn0: anyway, if count is cheap today we can go with it [03:57] waigani_: oh interesting [03:57] as we're a fair bit off, perhaps a code comment to evaluate if this stays cheap. [03:57] * menn0 nods [03:57] * natefinch grumbles that this whole "write a CI test" thing would be a hell of a lot easier if there were documentation about how to do it. [03:58] natefinch: so I've got deploy_jes_job.py - which builds ontop of deploy_job.py [03:58] jam: well the pruning change - mostly as you reviewed it - is merging for 1.22 as we speak :) [03:58] jam: but i can iterate [03:58] natefinch: so maybe you could do something similar? [03:59] jam: basically what you're after is: only prune if there's actual useful gains to be made [03:59] so that we're not loading the whole DB unecessarily [03:59] menn0: k. so my thoughts are generally that we want to have *some* GC so that things don't grow without bound, but obviously we can functionally cope with a fair amount of garbage, and we don't want to saturate our system just checking for garbage that isn't there. [03:59] menn0: right [03:59] menn0: the fact that our current GC is really expensive because we aren't doing incremental [04:00] menn0: I was going to say we could just drop the poll time to 1/day or 1/week even [04:00] but doing it when we expect to be able to clean things seems a better path [04:00] waigani_: yeah, I can look into that [04:01] I love the way every time something goes wrong with a python script I get a huge useless stack trace [04:01] jam: so to recap: track the count of the txns collection after each prune, and only try to prune if the count grows to 2x the previous value [04:02] jam: (and prune the first time if there's no count recorded) [04:03] natefinch: as opposed to a panic in go? the stack trace is useful for diagnosis :-) [04:03] so, the CI script gives me "ImportError: No module named boto" pip install boto givees me "ImportError: cannot import name IncompleteRead" ... my kingdom for a statically linked binary that just f'ing works. [04:03] menn0: right. IMO ideally we would save the count after the last GC so that we don't always GC on startup [04:03] but we can live with that [04:03] wallyworld: a stack trace from pip is useless to the end user [04:03] (i.e. me) [04:03] it's just ugly [04:04] so are go panics [04:04] menn0: also, I wanted to make sure that you don't GC immediately on startup (while load is the greatest on the machine), but I'm pretty sure you don't [04:04] wallyworld: your code shouldn't panic unless there's something hugely drastically wrong [04:04] menn0: can you make sure there is a test that you don't GC immediately ? [04:04] jam: the first prune doesn't happen until 2hrs after startup anyway [04:04] wallyworld: like, programmer error, generally [04:04] wallyworld: python scripts throw exceptions if you look at them the wrong way [04:04] natefinch: same with python - the programmer is just lazy not to deal with the error [04:04] jam: and if the count-at-last-prune is kept in the DB then it'll only happen when we want it to [04:04] wallyworld: then almost every python programmer ever is lazy [04:05] menn0: so in a healthy system (once we've fixed the address updater bug), I don't think we'll generate much garbage. [04:05] menn0: like, I would expect it to take us weeks to actually grow to 2x [04:05] natefinch: and go programmers aren't? [04:05] jam: agreed [04:05] menn0: I'd probably like INFO level logs that a GC is actually started (since we wouldn't be GC every 2 hrs) [04:05] menn0: the only reason not to record it in the DB is that we don't have a great place to put the info. [04:06] jam: there is a log at debug but I can bump it [04:06] wallyworld: sure they are. But the default in go is not to show a huge useless ugly stack trace to your users. [04:06] jam: I might add a txns.prune collection or something [04:06] wallyworld: regardless.... do you know how to fix this problem? I presume the proper way to get boto is through pip, and yet my pip seems sad. [04:06] jam: or better yet txns.gc [04:06] natefinch: same with python if you wrap main in a try catch, all of 3 lines of code [04:07] natefinch: as far as running one test, looking at assess_bootstrap.py you can execute that directly [04:07] menn0: so I think an actually informative single-line message every 2 hrs would be ok. "checked for pruning transactions, found 1M current vs 0.5M old" [04:07] jam: with just a single doc [04:07] natefinch: python assess_bootstrap.py $(which juju) local [04:07] natefinch: i've not sed boto sorry [04:07] used [04:07] natefinch: that works for me - it's currently bootstrapping on my local machine [04:07] menn0: so if we're going to create a table, I think recording the results of actual GC runs would also be useful [04:07] for being able to track "how fast am I growing garbage, how often is GC actually running, etc" [04:07] waigani_: ah, ok. I tried to ask mgz and sinzui that... but I think I confused them by not wanting to run everything [04:07] menn0: *not* recording every 2hrs, but recording the actual successful runs. [04:08] menn0: thoughts? [04:08] waigani_: do you know how to get boto? [04:08] jam: yeah I guess that would be nice [04:08] jam: although that collection would grow without bounds :) [04:08] menn0: so we *could* just put that info into logs and then get it from log scraping [04:09] menn0: but with log rotation you are likely to never have enough history to be useful. [04:09] jam: yeah... i'm not sure it'll be that valuable in the db [04:09] menn0: it does, hence the "only record successful runs" [04:09] menn0: I would also be ok with capping the amount of history if we are worried about it [04:09] natefinch: I must have already had that, I didn't hit that err. Have you tried pip? [04:09] say 1000 successful GC runs should be big enough for anyone :) [04:10] waigani_: yeah, my pip is broken, too. Google/stackoverflow says easy_install -U pip .... which is hilarious [04:10] jam: until it's not :) [04:10] menn0: hence why I used that phrasing [04:10] jam: but seriously... that's not a major concern [04:10] haha [04:10] menn0: so some of it is protecting us against the unknown [04:10] knowing that X grows without bound and we may have an env that runs for 10 years [04:11] menn0: also multi-environment state servers magnify this sort of problem. [04:11] menn0: that's actually one of the bigger reasons to not read-the-world every 2 hrs [04:11] menn0: as you start removing the constraint that the DB is small. [04:11] jam: yep - agreed [04:11] https://twitter.com/gardaud/status/357638468572151808 [04:12] natefinch: how do you get easy_install "apt-get install easy_install" :) [04:12] (not actually true) [04:12] jam: right? :) I forget how I got easy_install... I'm sure I got it just to install pip [04:14] natefinch: I believe easy_install is a single python file so many people 'wget' it [04:14] natefinch: in proper security fashion: wget https://bootstrap.pypa.io/ez_setup.py -O - | python [04:14] https://pypi.python.org/pypi/setuptools [04:15] natefinch: I guess at least now they have you download it over HTTPS it used to be raw HTTP I believe. [04:15] jam: well, at least that [04:15] natefinch: though they also give you the "--no-check-certificate" and "--insecure" version of installation just to make sure you can root yourself to the world. [04:17] menn0: does it seem reasonable to do the "only GC if big enough" ? I don't want to spend huge amounts of time on it, but it seemed a pretty cheap win [04:17] jam: i think it's worth doing [04:18] jam: i'd feel a lot less worried about this going out if that was in place [04:20] jam: aside from the potential i/o load i was concerned about what this would do to mongodb cached pages. it could hurt performance for a while. [04:20] (after each prune) [04:28] menn0: did gustavo ever comment on the pruning changes to mgo/txn ? [04:28] menn0: IIRC we also had some patches to PruneMissing that would also GC the txn-queues [04:28] rogpeppe I think had done that. [04:28] anyway /me needs to go run some errands. be back later [04:29] jam: unfortunately i haven't been able to get a response from gustavo so far [04:30] jam: i have a PR with that fixes PurgeMissing for the "huge txn-queues" situation (and various drive-by fixes) [04:30] jam: and he hasn't looked at the pruning fixes [04:55] axw_: reviewed, i've been adding todo cards to the backlog, some of which your branch now obsoletes. there's a few still to add. one i highlighted as high priority is an api compatability issue if we ship 1.24 with it [04:56] wallyworld: thanks. I will take a look after I address your comments === axw_ is now known as axw [04:56] axw_: ok, np, i'm relocating so will be afk for a bit [04:57] okey dokey [05:14] ahh, python... http://cdn.meme.am/instances/500x/62360284.jpg === urulama__ is now known as urulama [05:26] if python were compiled, I'd be in bed by now :/ [05:29] sonofa .... juju action evidently does not take the -e flag [05:30] er, environment, not provider [07:26] mgz: hiya [08:45] mgz, ping [09:02] hmm, got no camera and sound, will restart browser [09:03] aaargh, fan spins up and browser blocks :( [09:28] Bug #1456957 was opened: rsyslog worker should not add machines that are not ready yet [10:26] dooferlad: is that you http://www.reddit.com/r/golang/comments/36lf6o/golang_and_openid/ ? [10:26] TheMue: no [10:26] dooferlad: sadly so far no good answer there [10:49] Bug #1456989 was opened: cloud-init 0.6.3 on precise generates invalid apt-get install command line [11:14] dimitern: hey [11:14] mgz, hey, I've filed the bug above ^^ which might be causing some CI failures wrt precise [11:16] dimitern: interesting - for real deployment right, not unit tests? [11:16] mgz, yes [11:16] mgz, also I wanted to ask about that PR you reverted yesterday re init discovery [11:17] 1.24/master have been fine on CI since the centos change - and we do have precise testing charms [11:17] dimitern: see the last 1.23 run for full breakge [11:18] I only reverted on 1.24 for the release, so 1.23 and master runs will still be borked [11:18] mgz, I'm running into an issue where I get http://paste.ubuntu.com/11243099/ [11:18] http://reports.vapour.ws/releases/2666 [11:18] dimitern: yup, that's the deployment breakage [11:18] mgz, so far only on 1.24 - and seems related to https://github.com/juju/juju/pull/2359 [11:19] mgz, what's interesting is that the same code is also on master (https://github.com/juju/juju/pull/2358), but I'm not seeing the same issue [11:19] dimitern: I don't see that *after* the revert [11:19] mgz, the "[[: not found" error? [11:19] dimitern: fun, we probably need a master through CI then [11:20] dimitern: the breakage at all, the last 1.24 run was clean (ish - precise unit tests still failed, known flakiness) [11:20] mgz, yeah, I'm currently trying to file a bug for that, but I'm having a bit of trouble pinning it down exactly [11:21] dimitern: one reason I just did the revert... I should have filed a bug after though [11:21] mgz, it seems that when I reproduce the issue, replacing [[ and ]] with [ and ] in that init discovery script solves the errors [11:21] I wonder if this is a shebang issue [11:22] mgz, and the reason is simple - http://paste.ubuntu.com/11243163/ [11:22] I *thought* we were careful to use bash for everything though [11:22] mgz, the script is rendered with a #!/usr/bin/env bash shebang [11:22] mgz, however runcmd in cloud-init starts with a #!/bin/sh shebang [11:23] you see where this is getting.. [11:23] mehe, okay, well, that's the bug then [11:24] the repercussions are potentially enormous - any runcmd script that requires bash in cloud-init user-data has to be pre-rendered somewhere and executed, rather than included inline like $(...) [11:24] we can also just not use bashism [11:25] damn right :) [11:56] mgz, FYI - bug 1456989 [11:56] Bug #1456989: cloud-init 0.6.3 on precise generates invalid apt-get install command line [11:56] dimitern: I saw, thanks [11:57] mgz, no, sorry not that one [11:57] so, my inclination is to go ahead and back the chane out on 1.23 and master as well [11:57] I saw mup say it in another channel :) [11:57] bug 1457011 [11:57] Bug #1457011: init system discovery script fails with: [[: not found [11:57] mgz, that one yes [12:01] Bug #1457011 was opened: init system discovery script fails with: [[: not found [12:31] Bug #1457022 was opened: state server panic: "rescanned document misses transaction in queue" 1.22:In Progress by fwereade> [12:52] perrito666, https://github.com/juju/charm/pull/129 [12:56] mattyw: you are loosing communication skills :p [12:56] ah, you want me to merge that :p [12:57] perrito666, just letting you know it's been updated :) [12:57] perrito666, I've pinged you about others that I think can be closed [12:58] mattyw: yes, sorry notifications of github get lost on the sea of notifications [12:58] * perrito666 sees no other pings from mattyw [12:58] perrito666, I prefer calling them github "notifications" [13:00] mattyw: I call them spam [13:01] Bug #1457031 was opened: Juju cannot deploy to any substrate [13:01] mattyw: done [13:04] well look at that, this call is full [13:06] perrito666: yes, just tried it too [13:06] odd [13:07] perrito666: have been in another meeting so far and now cannot jump into this one [13:07] seems that google is not that smart into letting you know if you invite more people than possible [13:08] and there isnt a way to be just an expectator [13:10] Bug #1457031 changed: Juju cannot deploy to any substrate [13:11] ohhh, what now [13:13] perrito666: see canonical #juju, they trey something with bundling lines [13:16] Bug #1457031 was opened: Juju cannot deploy to any substrate [13:28] fyi perrito666's internet has gone down [13:40] katco, ericsnow, wwitzel3: sorry, can we push our meeting back 30 mins please? [13:42] fwereade: certainly [13:46] Bug #1457022 changed: state server panic: "rescanned document misses transaction in queue" by fwereade> [13:57] python peeps... is there some static analysis tool that'll tell me when I've typoed function names etc? You know, the stuff you get for free from a compiler? [13:57] natefinch: pyflakes [13:57] flake8 [13:57] tests? [13:57] natefinch: yeah, that one's better ^^ [13:58] natefinch: as a bonus, flake8 can do McCabe cyclical complexity metrics [13:58] wwitzel3: +1 :) [13:58] wwitzel3: I was waiting for that one... but I'm *writing* tests... where do the tests end? [13:58] how do I test the tests? [13:58] of the tests [13:58] natefinch: it's tests all the way down [13:58] evidently [13:58] Bug #1457022 was opened: state server panic: "rescanned document misses transaction in queue" by fwereade> [13:59] if I have to do sudo pip install, does that mean that I've screwed up my environment? [14:00] or is that correct? [14:00] natefinch: not, it just means you haven't explicitly isolated your environment and you are installing packages in to the system Python [14:00] if I don't sudo, I get some massive traceback [14:01] Bug #1457022 changed: state server panic: "rescanned document misses transaction in queue" by fwereade> [14:02] yey, internet is sort of back [14:06] natefinch, pip is supposed to be run inside a virtualenv [14:06] natefinch, that might be the problem [14:09] * dimitern waves at voidspace [14:09] I really don't care enough to mess with virtualenv [14:09] and off course, you look for something about vi in google and it returns answers about rick_h_ very often [14:10] btw rick_h_ your screencast about bundle jugler is down [14:10] natefinch: you will be sorry whenever you try to do something else and your system python is al screwed [14:11] perrito666: I'll just complain about how much python sucks and make you fix it ;) [14:11] s/make you/ask you nicely to/ [14:12] you cannot do that anymore, now wallyworld does [14:12] :p [14:12] what? [14:12] :D [14:12] python is awesome, way better than Go [14:12] it feels like it's friday [14:12] ouch [14:12] wallyworld: I don't need 3 different package installer / environment handlers to run simple go code [14:13] me either [14:13] * TheMue fetches some cakes and coke and then watches the fight [14:13] easy_install, pip, virtualenv [14:13] you don't have to have all those [14:13] nope, just the first two - the last is not a package manager [14:13] i never have [14:14] except people complain that I don't have it, implying that to do it the "right way" I should be using it. [14:14] you can always use tarballs, like in the good old slackware days [14:14] at least python has such things available [14:14] wallyworld: go doesn't have them because you don't need them [14:14] lol [14:15] yeah, just pull everything from tip, what could possibly go wrong [14:15] who needs package management [14:15] or config management [14:15] or versioning [14:15] wallyworld: to be fair, go's solution to that is linking [14:16] wallyworld: it just hasn't landed yet [14:16] don't get me started on static linking [14:16] wallyworld: what do you mean by config management? [14:16] katco: nanan, invalid point, if it is not there its not there [14:16] perrito666: it's there, just not in a release yet :) [14:16] just wait until 1.5 is out [14:16] and you can still statically link bad code without proper versioning [14:17] * perrito666 has dealt with academics too much to accept the answer "theoretically this is the solution, we just need to wait until the computer able to run it exists" [14:17] not only that - you would be able to do it on ppc64 and arm64 as well :D [14:17] * wallyworld is too tired to argue anymore, need sleep [14:18] tc wallyworld [14:18] next time we can discuss over drinks :-) [14:18] :) [14:18] just when it began to get funny [14:19] TheMue: it's past 12am here :-) you can pick up the discussion and preach how good erlang is :-) [14:20] i'm outta here :D [14:20] wallyworld: good idea, or pony (but it's very young) [14:20] wallyworld: thanks for this great idea [14:20] the fastest way to a ruin a perfect language is to program something in it [14:20] so *, I'm open [14:20] lol [14:21] did I evenr mentioned Smalltalk? [14:21] *duck* [14:22] I <3 Smalltalk, my first real programming job was Smalltalk. [14:22] * TheMue hugs wwitzel3 [14:23] mm, I think I lost the chance to insert the classic C is the only real language [14:23] and get the classic answer [14:23] C is ASM for weaks [14:23] i'm enjoying learning common lisp. it's a neat language [14:29] I've once done Scheme and liked it. Always wanted to do Common Lisp too. [14:29] wasnt that a kathy perry song? [14:29] "I did Scheme and I liked it." [14:30] TheMue: if you do, do yourself a favor and get quicklisp first: https://www.quicklisp.org/beta/ [14:30] katco: will try to remember [14:30] TheMue: CL has some cruft from the spec being ratified in the 80's, but it's actually a very practical language [14:30] lots of libraries [14:30] katco: currently I'm looking into pony http://www.ponylang.org/ [14:31] yeah i saw your tweet and took a peek at it [14:31] katco: that's an actor base languag, very clean [14:31] hmm, loosing chars. "based language" [14:31] ericsnow: hey sorry for the time change. standup time [14:32] katco: trying...hangouts is misbehaving for me [14:32] ericsnow: ah okl [14:46] Bug #1457068 was opened: bootstrap failed, no tools available [14:51] fwereade: we're ready to argue! [14:51] ;) [14:51] https://plus.google.com/hangouts/_/canonical.com/moonstone?authuser=1 [15:05] fwereade: there? [15:37] evilnickveitch: you around? [15:38] Bug #1457089 was opened: reboot request in charm hook context is silently ignored in the case of actions [15:42] natefinch, yup [15:44] evilnickveitch: nevermind, my question was answered by this bug: https://github.com/juju/docs/issues/405 Add "1.23" docs and update "devel" to 1.24. [15:44] ok, cool === redelmann is now known as rudi|ding|dnd === rudi|ding|dnd is now known as rudi|deploying|d === rudi|deploying|d is now known as rudi|deploying [15:51] wwitzel3, ericsnow: is there documentation for GCE that should be going into jujucharms.com/docs? [15:51] natefinch: just what's in the release notes [15:51] ericsnow: we need to convert that into a markdown document to put up on the webpage [15:53] katco: ^^ [15:53] katco: sorry, the lack of docs is my fault, since it happened on my watch. [15:56] natefinch: thx for the ping, i'll add it to the backlog [16:05] ericsnow: wwitzel3: fwereade: such good conversation/work. i feel good about this direction. [16:14] katco: me too [16:16] jam: we never got a chance to meet with all the back-to-back meetings [16:27] juju cannot be installed because of a possible issue with python-pygment package. [16:29] mattyw: ping [16:29] perrito666: :( [16:29] ericsnow, pong [16:29] mattyw: could you take another look at http://reviews.vapour.ws/r/1733/? [16:30] mattyw: also http://reviews.vapour.ws/r/1728/ [16:30] ericsnow, would be my pleasure [16:30] mattyw: thanks! [16:32] wwitzel3: I'm going to take lunch early so I'll be back in about 1.5 hours [16:33] ericsnow, you mention an upcoming proper fix in the pr. when you say in that comment it just needs to be none windows, for now, do you mean until that fix? [16:33] mattyw: correct [16:33] ericsnow: sounds good [16:34] ericsnow, can you mention the bug number in that comment, and say it will change when a fix for that bug lands? [16:34] mattyw: sure [16:34] ericsnow, I'll take another quick look after that but basically LGTM [16:35] mattyw: thanks again [16:43] ericsnow: are you looking into bug 1457031? [16:43] Bug #1457031: Juju cannot deploy to any substrate [16:43] wwitzel3: has anyone reached out to natefinch to help with those CI tests? [16:43] katco: I can after I finish stuffing my face with food [16:44] wwitzel3: your priorities are correct sir! ;) [16:44] food sounds like a good idea, I'll do that too [16:45] katco: I will after lunch [16:49] ericsnow, reviewed [16:50] ericsnow: cheers [16:51] evilnickveitch, ping? [16:56] * perrito666 tries for week 3 to obtain a more decent internet provider.... the one I tried today cannot give me details over the internet they asked me to make a phone call... [16:56] Bug #1457122 was opened: local data dir handling for init services should be handled independently [16:56] Bug #1457124 was opened: Panic: FilterSuite.TearDownTest [17:00] mattyw, pong === rudi|deploying is now known as redelmann [17:30] natefinch: ping [17:31] wwitzel3: let's jump on moonstone [17:31] natefinch: sounds good [17:49] wwitzel3: let me know if you have any questions or need help getting the environment set up [17:49] natefinch: yeah, I closed the hangout because it was sucking CPI [17:49] CPU [17:49] wwitzel3: basically the test just deploys my charm, runs the "add 300 megs of data to the unit agent log" action, and then runs the "return the size of all unit agent logs" action... and verifies the output [17:49] wwitzel3: totally understand [17:50] natefinch: so what should I be passing as an env? [17:51] natefinch: also JUJU_REPOSITORY , I assume that is pointing to your charm? [17:55] wwitzel3: so, I just run from the juju-ci-tools directory. You need to checkout lp:juju-ci-tools/repository under the juju-ci-tools directory [17:55] then JUJU_REPOSITORY=./repository works [17:55] wwitzel3: you need to copy the charm dir under ./repository/trusty [17:56] er the fill-logs charm dir that is [17:56] and env is the name of an environment in your environments.yaml that you would like to deploy to [17:57] natefinch: got it, ok, running it now [17:57] natefinch: and what is the issue that needs resolving, it isn't clear from the LP ticket [17:58] wwitzel3: this is just a CI test for log rotation that I'm writing... right now it's timing out while running one of the actions... probably just not waiting long enough for the action to finish === kadams54 is now known as kadams54-away [18:03] wwitzel3: there's action_fetch and action_do that I added in jujupy.py which could potentially have problems as well... though they seem to be fine. [18:03] wwitzel3: just pushed a fix to the juju-ci-tools branch I'm working on [18:05] wwitzel3: ha, now it just passes entierly [18:05] natefinch: nice :) [18:07] natefinch: I'm getting a regex issue atm, but haven't tried your latest fix [18:07] wwitzel3: huh, I thought I fixed all the regex issues [18:08] natefinch: Exception: Rotated unit log name '/var/log/juju/unit-fill-logs-0.log' does not match pattern '/var/log/juju/unit-fill-logs-0-(.+?)\.log'. [18:09] wwitzel3: oh yeah, that was what I fixed [18:09] haha sorry [18:09] natefinch: ok, cool, running it now [18:09] natefinch: if I get a successful run then LGTM [18:10] natefinch: and I did .. no failures here [18:10] I have to add the machine log rotation checks, but that'll be mostly copy and paste [18:10] (and modify the regexes etc [18:11] and/or abstract out the differences [18:12] wwitzel3: anyway, I can finish that up, Thanks for verifying [18:13] \ [18:13] wwitzel3: yeah, the meetings today took up our normal slots. are you around now? [18:14] jam: yep [18:14] natefinch: cool, np [18:15] natefinch: let me know if you need me to do any more verifying [18:15] jam: https://plus.google.com/hangouts/_/canonical.com/moonstone?authuser=0 === kadams54 is now known as kadams54-away [18:50] wwitzel3: back [18:50] wwitzel3: I have a couple bugs to look at really quickly [18:56] ericsnow: in moontsone talking to jam about the spec [18:56] wwitzel3: k [19:59] I just heard this from a sales person at my ISP "We will need to replace your modem for one larger so the 50M we will provide you fit" (it is not awkwardly translated, in spanish the person actually spoke about volume) [20:00] * perrito666 was forced to buy the biggest residential connection available to get 7M upload [20:01] heh [20:01] sorry [20:01] I think the CI test I just wrote actually found a bug in lumberjack [20:03] quite by accident, but still.. handy [20:23] https://github.com/natefinch/lumberjack/issues/12 [20:23] well, guess I know what I'm working on tonight [20:23] Going to go make dinner, will be back in ~4.5 hours [20:23] (when the kids are asleep) === natefinch is now known as natefinch-afk [20:32] Bug #1457205 was opened: Subordinate charm Action data not reported by API === kadams54 is now known as kadams54-away [21:01] wwitzel3: hey where did you and natefinch-afk leave the CI tests? === kadams54-away is now known as kadams54 === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [21:33] menn0: cherylj: is your work for a. txn fixes, and b. file handle leaks committed to 1.22? [21:33] i see a txn fix merged to 1.22 [21:34] wallyworld: see #juju@can [21:34] wallyworld: yes I committed a fix for the txns issue which is good enough [21:34] wallyworld: as it was merging jam started talked to me about some improvements [21:34] menn0: ok, i'll mark the bug as fix committed, ty [21:34] for 1.22 at least [21:35] wallyworld: no hang on :) [21:35] ok [21:35] wallyworld: i've almost got the improvements ready [21:35] rightio, we are waiting on another fix anyway [21:35] wallyworld: i think it's worth getting those in to 1.22 as well [21:35] ack [21:36] it significantly lowers the performance hit of the pruning change [21:36] wallyworld: are we aiming for the next 1.22 release today-ish? [21:36] menn0: i don't think so [21:37] menn0: sorta - we are waiting for william's fix so it will likely be a bit later than just 1 day [21:38] wallyworld, katco: cool. well this is my top priority regardless. I'll definitely be done with this today. (for 1.22 at least if not all the branches) [21:38] ty :-) [21:38] menn0: you are, as always, awesome :D [21:41] Bug #1457218 was opened: failing windows unit tests [21:59] could I have someone look at the patches I have up for review (for critical bugs): http://reviews.vapour.ws/r/1737/ and http://reviews.vapour.ws/r/1738/ [21:59] I could also use a review on http://reviews.vapour.ws/r/1728/ [22:35] Bug #1457225 was opened: Upgrading from 1.20.9 to 1.23.3 works, but error: runner.go:219 exited "machiner": machine-0 failed to set status started: cannot set status of machine "0": not found or not alive [22:39] why, why oh god why is it so hard to write a proper unit test :( [22:47] Bug #1457225 changed: Upgrading from 1.20.9 to 1.23.3 works, but error: runner.go:219 exited "machiner": machine-0 failed to set status started: cannot set status of machine "0": not found or not alive [22:56] Bug #1457225 was opened: Upgrading from 1.20.9 to 1.23.3 works, but error: runner.go:219 exited "machiner": machine-0 failed to set status started: cannot set status of machine "0": not found or not alive === kadams54 is now known as kadams54-away [23:39] Can I get a review for the file handle leak bug 1454687: http://reviews.vapour.ws/r/1740/ [23:39] Bug #1454687: add NX 842 hw compression patches [23:39] oops, wrong bug [23:39] bug 1454697 [23:39] Bug #1454697: jujud leaking file handles