/srv/irclogs.ubuntu.com/2015/07/23/#juju-dev.txt

mgzmenn0: bet you can reproduce if you try to do ssh-agent forwarding and try to bootstrap juju using a remote machine00:03
menn0mgz: ok i'll try that00:04
mgzmenn0: look at the configuration for the job00:05
menn0mgz: i did notice that it took a long time for the bootstrap command to think it could connect when I could already connect using ssh myself in another terminal00:05
menn0mgz: maybe openssh on vivid has changed in terms of timeouts or retries00:06
menn0wallyworld, mgz: I wonder if we should always be passing "-F /dev/null" to ssh to take the user's .ssh config out of the equation?00:10
menn0I guess that might cause other problems when people have config that is required for ssh to work for them.00:10
mgzright, we've always subtly depended on some bits of ssh config00:10
mgzreally I think we should explictly take some bits and otherwise have completely isolated env to run ssh in00:11
menn0that sounds sensible00:16
menn0mgz: but first i'd like to be able to repro the issue so we're not guessing00:16
mgzmenn0: so, I think we just want to run the underlying workspace-run command, using the real vivid-slave, as that job is00:17
mgzmenn0: bzr branch lp:workspace-runner00:17
mgz...how is this new code actually harder to run manually than the old way >_<00:17
katcowwitzel3: do i not have the latest code? error: missing WORDPRESS_DB_HOST and MYSQL_PORT_3306_TCP environment variables00:18
katco  Did you forget to --link some_mysql_container:mysql or set an external db00:18
katco  with -e WORDPRESS_DB_HOST=hostname:port?00:18
katco 00:18
* menn0 looks00:21
sinzuimgz: sorry, family wants me. All we need to do is copy one of the jobs again and force it to download the wily juju to the vivid machine00:22
menn0sinzui, mgz: although that would be useful to try, I suspect it's less about the juju version and more about the ssh config and openssh version of the test host00:23
menn0I can't repro the issue from my vivid host, bootstrapping a trusty env on ec200:24
sinzuimenn0: Host 10.* 192.168.*00:24
sinzui  StrictHostKeyChecking no00:24
sinzui  UserKnownHostsFile /dev/null00:24
sinzui  User ubuntu00:24
sinzui  IdentityFile /var/lib/jenkins/cloud-city/staging-juju-rsa00:24
sinzui^ all the config00:24
menn0sinzui: no global config?00:25
sinzuimenn0: its what ships with vivid00:25
menn0ok00:26
menn0good to know00:26
sinzuiHost *00:26
sinzui    SendEnv LANG LC_*00:26
sinzui    HashKnownHosts yes00:26
sinzui    GSSAPIAuthentication yes00:26
sinzui    GSSAPIDelegateCredentials no00:26
menn0sinzui: i'll try with that config locally in case it's relevant00:26
menn0mgz: so what does workspace-runner do?00:27
menn0mgz: never mind, saw the readme00:27
menn0:)00:27
sinzuimenn0: vivid-slave is unique in that it doesn't have a jenkins on it, instead we use the workspace running to execute the commands via ssh. Jenkins also uses the same ssh connection string (because we knew that worked)00:28
menn0sinzui: ok.00:31
sinzuimenn0: would you likes to visit the machine?00:32
menn0sinzui: I wonder if the whole running juju commands over ssh setup is the root cause here. not that you shouldn't be able to but that might be what's triggering the different behaviour for the vivid tests.00:33
menn0sinzui: yes please00:33
mgzmenn0: okay, here's what I'm trying00:34
mgzrunning workspace-run directly, as that job would be doing, with a few test things filled in00:35
mgzfirst, ssh config for me, note key from cloud-city00:35
sinzuimenn0: try ubuntu@vivid-slave.vapour.ws00:36
mgzhttp://paste.ubuntu.com/1192315400:36
sinzuimgz: Why are you up. I am already burned out00:36
mgzthen config json file for the runner command like so http://paste.ubuntu.com/1192317800:36
mgzthen running this command in the workspace runner directory, changing cfg.json and s3cfg paths as needed http://paste.ubuntu.com/1192316300:37
mgzthat's running deploy-job and stuck on ssh currently00:37
mgzI bet if I do basically the same bootstrap that the runner is from inside vivid-slave with my creds fiddled, it would not hang00:38
mgzsinzui: it's hot. also, I have to do the drying up before going to bed and I'm putting it off.00:38
mgzmenn0: that make sense at all?00:39
menn0mgz: yep, makes sense00:39
menn0mgz: i was just waiting to see if another bootstrap attempt was going to work. Was using the ssh config that sinzui pasted in.00:40
menn0mgz: it did work. i'll try your instructions00:40
menn0sinzui: I can get to vivid-slave. thanks.00:42
menn0mgz: workspace-runner is doing it's think now00:44
menn0thing00:44
mgzso, on vivid-slave, I can ssh to both the 52. address that the workspace runner is stuck connecting to, *if* I add -i param with the key from the local cloud-city dir00:44
menn0mgz: could that be the problem then?00:48
menn0mgz: the ssh config file Host section that includes the key is only for "10.* 192.168.*"00:48
mgzmenn0: let me check what jenkins master has exactly for this00:49
sinzuimgz: it certainly doesn't00:50
mgzjenkins master has way more, ... seems reasonable to try making the vivid-slave config hosts bits on host * and maybe adding agent fowarding as well00:54
menn0mgz: do you want me to try that00:55
menn0?00:55
menn0mgz: using workerspace-runner I was able to repro the 10min timeout00:56
mgzmenn0: trying this change on vivid-slave http://paste.ubuntu.com/1192321400:57
mgznote I have not touched the identity stuff, if it's id related I expect it to still hang00:58
menn0mgz: looks good00:58
menn0mgz: I'm going to bet it's the identity stuff00:58
menn0mgz: but it's good to pin it down00:58
menn0mgz: if this is the problem we need to change juju to report the ssh failures it's seeing (and swallowing) during bootstrap00:59
mgzif this fails, will make it use the defined key locally on the slave00:59
mgzagent-forwarding can work, but can also not.00:59
mgzokay, that failed, but failed fast00:59
menn0mgz: what was the error?01:00
mgz"TLS handshake timeout" refreshing addresses, get https://ec2.us-east-1.amazonaws.com?...01:00
menn0mgz: hmmm, that's not related to what we're looking at01:01
menn0mgz: that's an error talking to the API01:01
menn0(Amazon's API)01:01
mgznope, probably just bad handling of intermittent https01:01
mgzjuju shouldn't fail there01:01
menn0mgz: no it shouldn't01:02
mgzshould just let the retry loop continue01:02
menn0mgz: we should file a bug about that01:02
menn0mgz: but also try again with the current ssh config01:02
mgznow... that didn't actually do a destroy-enviroment01:02
mgzokay, gets done on before starting next run, we do handle htat01:04
mgzgoing again, end of last run: http://paste.ubuntu.com/1192323101:05
menn0mgz: want me to file the bug for the TLS issue?01:08
mgzmenn0: please do01:11
mgzokay, okay that timed out.01:15
mgzwhat's somewhat annyoing is juju doesn't log what key it thinks it's using01:15
mgzvivid-slave *has* the cloud-city key copied into ~/.ssh/id_rsa01:16
mgzso I presume that... but I guess it's then not using the same key to try and connect?01:16
menn0mgz: the cloud-city key and the id_rsa key are not the same. i just diffed them.01:19
mgzwell, that'll be it then01:20
menn0mgz: i've just added debug logging to the SSH connection attempt code used by bootstrap so that at least we can see why the attempts are failing01:21
menn0mgz: i'll get that merged today01:21
menn0mgz: maybe symlink the key? (and remove mention of it from the ssh config file to avoid confusion?)01:22
menn0although ... ssh can be picky about the perms on the key files so that might be tricky01:22
mgzhow did I manage to get in... I guess it must be creating with the cloud-city key but then trying to connect with whatever the hell this key in ~/.ssh is01:24
mgzmenn0: ln -s just made my current run get in and start installing stuff01:27
menn0mgz: \o/01:28
mgzI'm going to invalid off this bug and make you a nice new small one on our ssh output being a pain to debug01:28
menn0mgz: assign that new one to me b/c I already have a fix for it01:29
sinzuiOur current blocker then is https://bugs.launchpad.net/juju-core/+bug/147735501:29
mupBug #1477355: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1477355>01:29
menn0mgz: one last thing: when you ran into that TLS handshake issue, Juju didn't clean up after itself, is that right?01:29
mgzmenn0: right, and neither did our scripts, but I *think* that's as designed now? somewhere I think we're setting the leave-failed-bootstrap-around thing01:30
menn0oh ok01:31
menn0i'll mention it as a possible issue on the bug at least01:31
menn0mgz: here's bug 147735701:33
mupBug #1477357: EC2 API TLS handshake failure aborts bootstrap <juju-core:New> <https://launchpad.net/bugs/1477357>01:33
mgzmenn0: bug 147735801:36
mupBug #1477358: No output from ssh problems during bootstrap <bootstrap> <usability> <juju-core:Triaged by menno.smits> <https://launchpad.net/bugs/1477358>01:36
wallyworldmenn0: sinzui: axw is going to fix that new blocker above01:38
mupBug #1477157 changed: Broken windows dependencies <blocker> <ci> <regression> <windows> <juju-core:Fix Released by mattyw> <https://launchpad.net/bugs/1477157>01:43
mupBug #1477293 changed: Bootstrap fails to connect on vivid/go 1.3 <bootstrap> <ci> <network> <juju-core:Invalid> <juju-core 1.24:Invalid> <https://launchpad.net/bugs/1477293>01:43
mupBug #1477355 opened: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1477355>01:43
mupBug #1477357 opened: EC2 API TLS handshake failure aborts bootstrap <juju-core:New> <https://launchpad.net/bugs/1477357>01:43
mupBug #1477358 opened: No output from ssh problems during bootstrap <bootstrap> <usability> <juju-core:Triaged by menno.smits> <https://launchpad.net/bugs/1477358>01:43
menn0mgz: cheers01:47
axwwallyworld: https://github.com/juju/juju/pull/286701:48
axwplease01:48
wallyworldlooking01:48
mgzaxw: do you need to verify that branch actually passes tests on windows, or are you sure anyway?01:50
wallyworldaxw: we don't need a linux build directive, right? the compilter is smart enough to know what to do?01:51
axwmgz: I'm 99% sure, enough that it would be a productivity killer to set up a VM to test in windows, rather than just watch CI01:51
axwwallyworld: correct01:51
wallyworldmgz: yeah, i think the pr will fix the issue01:52
axwwallyworld: it's 2013 because that's just moved code01:55
wallyworldah, doh, sorry01:55
mgzaxw: 99% is high enough for me to not volunteer either. you saw the LoopUtilSuite failures at the bottom of the page as well as the /proc/1/cgroup ones?01:55
axwmgz: doh, no I did not. I'll fix that separately.01:56
axwactually, the bot didn't see my PR yet01:56
axwI'll update it01:56
* wallyworld should have noticed too01:56
mgzseperate branch and fixes-1477255 to land both is fine.01:56
mgzs/2/3/01:57
axwwallyworld: PTAL, I added another commit02:11
wallyworldaxw: will do as soon as team meeting finishes :-)02:21
axwoh crap02:21
wallyworldthumper: didn't want to hold up the meeting with our inane small talk02:41
wallyworldthat's for our 1:1 tomorrow02:41
thumper:)02:41
thumperoh yeah, can't make that02:41
wallyworld\o/02:41
thumperwallyworld: wanna do it now?02:41
wallyworldsure02:41
mupBug #1474195 changed: juju 1.24 memory leakage <cpec> <deployer> <performance> <regression> <juju-core:Fix Released by menno.smits> <juju-core 1.24:Fix Released by menno.smits> <https://launchpad.net/bugs/1474195>03:19
menn0wallyworld, axw: http://reviews.vapour.ws/r/2248/diff/#03:23
axwmenn0: looking03:24
axwmenn0: shipit03:26
menn0axw: cheers03:27
menn0i'm going to get that into 1.24 as well given that it's tiny but potentially quite useful03:28
mupBug #1474195 opened: juju 1.24 memory leakage <cpec> <deployer> <performance> <regression> <juju-core:Fix Released by menno.smits> <juju-core 1.24:Fix Released by menno.smits> <https://launchpad.net/bugs/1474195>03:31
wwitzel3katco: you would need to pull either my branch or eric's branch to get the envvars fixes03:34
wwitzel3katco: neither of them have landed on the feature branch yet03:34
mupBug #1474195 changed: juju 1.24 memory leakage <cpec> <deployer> <performance> <regression> <juju-core:Fix Released by menno.smits> <juju-core 1.24:Fix Released by menno.smits> <https://launchpad.net/bugs/1474195>03:34
natefinchniemeyer: are you around?03:54
niemeyernatefinch:Depends.. :-)03:55
natefinchniemeyer: quick question that I'm pretty sure I know the answer to.  Is there any way to force goyaml to write out strings with surrounding quotes, presuming the quotes are not strictly necessary?03:56
niemeyernatefinch: Nope.. Not right now03:57
natefinchniemeyer: ok, I was pretty sure.  Thanks.03:58
niemeyernatefinch: np03:58
axwwaigani_: do we not need to upgrade the last-login/conn info? it's not really important, right?04:04
wwitzel3katco: so I put the wordpress image up in s3 for now and updated the charm to pull it down from there and load it04:37
wwitzel3katco: it pulls fairly quick from an EC instance04:37
waigani_axw: yeah, that is what I was thinking. But fair call, I'll double check with thumper04:41
thumperwallyworld: if this is about changing the last login / connection time, then yes, I would prefer an upgrade step05:06
wallyworldthumper: waigani_  perhaps?05:06
thumpersorry wallyworld05:06
wallyworld:-)05:06
thumpermeant waigani_05:06
wwitzel3katco: just did an end to end with the wpm charm pulling the image tar from S3 and it worked great05:28
jamfwereade: standup?09:01
TheMuedooferlad: did you pinged me here on irc? somehow notification failed09:11
dooferladTheMue: I pinged you yesterday, but got on with other fixes. No worries.09:11
TheMuedooferlad: ah, ok, will take a look now09:13
TheMuedooferlad: so, done.09:29
fwereadehttps://github.com/juju/juju/wiki/MongoDB-and-Consistency expanded a little09:29
fwereadecomments, corrections, critiques actively sought09:30
bogdanteleagafwereade: http://reviews.vapour.ws/r/2252/09:31
bogdanteleagafwereade: I added azure as well since I was gonna start with it today and I realized it might have the same problem09:32
mupBug #1477464 opened: juju does not support custom signed image metadata <juju-core:New> <https://launchpad.net/bugs/1477464>09:32
fwereadebogdanteleaga, the thing I want to be certain of is that we will reject unsigned metadata that purports to come from streams.c.c09:34
fwereadebogdanteleaga, but I'm afraid I don't have the bandwidth to think about this properly today -- so wallyworld is surely going to be a better reviewer than me09:35
dooferladTheMue: thanks!09:36
TheMuedooferlad: yw09:36
frankbanhi code devs, when do you expect trunk to be unlocked?10:07
fwereadeaxw, wallyworld: do either of you know why we have such weird restrictions on sets of status data?12:04
fwereadeaxw, wallyworld: specific messages only allowed for allocating12:04
fwereadeaxw, wallyworld: extra data forbidden here and there12:04
* dooferlad is back on line again. First a server problem (power button broke off its wires so couldn't turn back on) then the ISP flakes out. Yay.13:14
mupBug #1477293 opened: Bootstrap fails to connect on vivid/go 1.3 <bootstrap> <ci> <network> <juju-core:Triaged> <juju-core 1.24:Triaged> <https://launchpad.net/bugs/1477293>13:18
xwwtmgz: Can I delay us for 5 min?13:56
mgzxwwt: no problem, poke me when you're free13:57
mupBug #1477293 changed: Bootstrap fails to connect on vivid/go 1.3 <bootstrap> <ci> <network> <regression> <juju-core:Triaged> <juju-core 1.24:Triaged> <https://launchpad.net/bugs/1477293>13:57
xwwtmgz: ty13:57
xwwtmgz: sorry, I am back now. If you still have time to meet, let me know.14:17
mgzxwwt: lets go14:17
xwwtsinzui: I was able to finally get into the call14:34
wwitzel3ericsnow: ping14:49
ericsnowwwitzel3: hey14:49
wwitzel3ericsnow: currently, when running the launch command, the register call internally errors and complains about at least one bad arg in bulk api call14:50
ericsnowwwitzel3: k14:50
wwitzel3ericsnow: so checking launch for a non-zero exit and setting status is getting hung up there14:50
ericsnowwwitzel3: is there any indication on why that bulk call is having a problem?14:52
wwitzel3ericsnow: that one of the args in the bulk call is bad ;P14:52
ericsnowwwitzel3: just what I though :)14:53
ericsnowthought14:53
ericsnowwwitzel3: sounds like a bug to me14:53
wwitzel3ericsnow: error: &params.Error{"", "at least one bulk arg has an error"}14:54
ericsnowwwitzel3: also, why is the plugin succeeding even though it failed to start?14:54
wwitzel3ericsnow: it didn't fail to start14:54
wwitzel3ericsnow: it fails to register14:54
wwitzel3ericsnow: this started happening after the flush fix went i14:55
wwitzel3n14:55
ericsnowwwitzel3: I thought the point was that status is "Running" even though it failed to start14:55
ericsnowwwitzel3: ah, flush14:55
wwitzel3ericsnow: no, the launch command is returning a non-zero exit, because register fails, but the container is successfully run14:56
ericsnowwwitzel3: in the case of the bulk call, the specific problem will be in the Error field of one or more of the individual results14:56
ericsnowwwitzel3: k14:56
mupBug #1474291 opened: juju called unexpected config-change hooks after read tcp 127.0.0.1:37017: i/o timeout <hooks> <openstack> <sts> <uosci> <juju-core:New> <ceilometer (Juju Charms Collection):New> <https://launchpad.net/bugs/1474291>14:57
jw4bodie_: happy birthday :)15:25
aisraelI'm not sure who's working on storage, but I'm wondering if a storage-list command is planned, for running within a hook/action context?16:09
fwereadeaisrael, I would *think* so; axw would know for sure16:10
fwereadeaisrael, he won't be awake for... 6 or 7 hours I think?16:11
aisraelfwereade: Ok, thanks! I'll follow up with him before I eod.16:11
alexisbaisrael, axw would love feedback, so please do send mail or ping him when he is online16:16
alexisbaisrael, wallyworld can also help16:16
aisraelalexisb: ack, will do. I've been building a charm to put storage through its places, particularly as it applies to benchmarking. I'm sure I'll have some feedback to give.16:17
alexisbawesome16:17
wwitzel3ericsnow: wrapping up some touches on the charm now, did you get a chance to look at the register/apiserver bulk thing?16:56
ericsnowwwitzel3: sorry, didn't realize16:57
mupBug #1477464 changed: juju does not support custom signed image metadata <metadata> <juju-core:Triaged> <https://launchpad.net/bugs/1477464>17:15
mupBug #1320312 opened: fallback to unsigned stream metadata may have security issues <improvement> <metadata> <security> <simplestreams> <juju-core:Triaged> <https://launchpad.net/bugs/1320312>17:15
natefinchThat feeling when you realize the conversion you're doing you've already written 2 weeks ago.17:43
mupBug #1477709 opened: default config lacks state-port <config> <juju-core:Triaged> <https://launchpad.net/bugs/1477709>18:18
lazyPowerwwitzel3: ping18:26
wwitzel3lazyPower: pong18:26
lazyPowerwwitzel3: have you seen this before? http://paste.ubuntu.com/11926451/18:26
lazyPowerhappy to file a bug, just trying to figure out what happened so its not a pebkac issue living in the tracker.18:27
wwitzel3lazyPower: doesn't matter if it, the juju command should never panic and barf in the console for a user ;)18:27
wwitzel3lazyPower: so it is a bug, for sure18:27
lazyPowerfair enough18:27
wwitzel3lazyPower: looks like a result of the google environment missing a config value18:28
wwitzel3lazyPower: it should probably print something like .. "missing <config-value>"18:28
wwitzel3;)18:28
natefinchrule #1 of software - never show a stack trace to the user18:30
natefinchand especially true of Go where panics are almost always due to a programmer error.18:31
lazyPowerare the docs right, its project-id and not project_id? Seems odd to have one config option that doesn't conform18:31
lazyPowerhttps://bugs.launchpad.net/juju-core/+bug/147771218:32
mupBug #1477712: GCE provider dumps stacktrace when missing a config option/value <juju-core:New> <https://launchpad.net/bugs/1477712>18:32
lazyPowerbug for reference18:32
wwitzel3lazyPower: yep, project-id, auth-file18:33
wwitzel3lazyPower: OR project-id, private-key, client-email, client-id18:34
lazyPowerok note: when supplying the json file, no stacktrace was emitted, it behaved18:34
lazyPowerit seems to be related to embedding the data in the environments.yaml vs supplying the auth-file18:35
wwitzel3lazyPower: can you add that in the ticket real quick18:35
lazyPowerah and if its dashes, the docs are wrong18:35
wwitzel3then the docs are wrong, it is for sure dashes18:35
lazyPowerack, i'll tear down and try again with dashes and see if it chokes again18:36
lazyPowerand fix the docs while i'm in here18:36
lazyPowerthanks wwitzel318:37
wwitzel3np, thank you18:37
wwitzel3you are a gentleman and a scholar18:37
mupBug #1477712 opened: GCE provider dumps stacktrace when missing a config option/value <juju-core:New> <https://launchpad.net/bugs/1477712>18:42
katconatefinch: sorry meeting running over, we'll probably cancel?19:13
natefinchkatco: that's fine. I still have a bunch of work to do anyway19:14
lazyPowerwwitzel3: took me a minute to circle back, but that was it. convert from underscores to dashes and the panic goes away.19:22
katcowwitzel3: hey can you hop in moonstone rq?19:29
wwitzel3katco: ping20:23
katcowwitzel3: pong20:30
wwitzel3katco: hey, was stuff food in my face, still want to hangout?20:31
katcowwitzel3: nah the moment hath past20:31
wwitzel3katco: k, sorry20:31
katcowwitzel3: wasn't anything too important20:31
katcowwitzel3: no worries at all20:31
mupBug #1431286 changed: juju bootstrap fails when http_proxy is set in environments.yaml <bootstrap> <openstack-provider> <proxy> <ubuntu-openstack> <juju-core:Invalid> <https://launchpad.net/bugs/1431286>20:34
thumpermorning folks20:47
thumperwwitzel3: hey there20:47
wwitzel3thumper: hey20:47
thumperwwitzel3: LXD now supports cloud images as of 0.1420:48
thumperwwitzel3: I'll be chatting with stgraber next week about any other bits we need20:48
perrito666oh, thumper, that is my cue to leave20:48
* thumper tips hat20:49
wwitzel3thumper: that is great20:49
thumperwwitzel3: so Friday work to resume after annecy20:49
wwitzel3thumper: ok, I'll be sure to touch base with you on your Friday standup after Annecy20:49
=== natefinch is now known as natefinch-afk
sinzuiaxw: Sorry your fix for the wiindows test is incomplete. I updated the https://bugs.launchpad.net/juju-core/+bug/1477355 with the error windows now sees22:44
mupBug #1477355: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1477355>22:44
fwereade_wallyworld, perrito666: please both of you give this CL some close attention when you can: http://reviews.vapour.ws/r/2255/22:54
wallyworldfwereade_: sure22:54
perrito666aye22:54
wallyworldfwereade_: btw, i saw this morning i had missed some messages last night - the reason for only allowing status data sometimes etc - NFI, the semantics were in place before the workload status changes, they were simply preserved with the new work22:55
fwereade_wallyworld, awesome22:56
fwereade_wallyworld, I remember them being developed, I see no reason to keep them, if you don't either then awesome :)22:57
wallyworldi can't see any reason ottomh22:57
wallyworldfwereade_: "no longer mixes txn and non-txn writes to statushistory collection"22:58
wallyworldhasn't perrito666  already done that?22:58
fwereade_wallyworld, it includes perrito666's backport22:59
wallyworldok22:59
fwereade_wallyworld, added when I thought I'd finish earlier, and he hadn't done it yet22:59
fwereade_wallyworld, I can suck up the merge if his lands22:59
wallyworldnp, ta just reading the mp description22:59
fwereade_wallyworld, and it's a *shitty* diff :(23:00
fwereade_wallyworld, you will probably get more out of cloning and grepping for Status in state23:00
wallyworldfwereade_: the nowToTheSecond() stuff - that was cargo culted from elsewhere. i believe mongo has timestamp issues23:00
wallyworldissues with precision in vs precision out23:01
perrito666fwereade_: if you added the same change I think it would be dumb to merge my backport23:01
fwereade_wallyworld, that's why you convert to nanoseconds and store an int64 ;p23:01
fwereade_perrito666, fair point :)23:01
wallyworldfwereade_: yuk23:01
fwereade_wallyworld, better than silently discardinng precision imo23:01
wallyworlddepends on the use case23:01
fwereade_wallyworld, I think "don't discard precision until you have to" is a pretty solid principle23:02
wallyworldmost dbs i've worked with handle timestampts propery23:02
wallyworldnfi why mongo doesn't23:02
fwereade_wallyworld, it keeps ms accuracy I think?23:02
wallyworld"have to" - do we really need to know a machine status changed at 12:31:22.37474747323:03
perrito666I would have expected it to store with more precission 0padding23:03
fwereade_wallyworld, I would also suggest that that is a better source of ordering than the sequence thing23:03
wallyworldfwereade_: it may be m2, not sure, but i seem to recall (maybe incorrectly) there was an issue reading back out?23:03
fwereade_wallyworld, which is one extra db write/read-result, on the same doc, every time we write status history23:04
fwereade_wallyworld, there is a certain amount of whiny editorialising in the comments23:04
wallyworldfwereade_: it's not so much ordering but also the culling of old records, i can't recall the details now23:04
fwereade_wallyworld, I have Opinions about that too ;)23:04
wallyworldi'm sure you do :-)23:05
sinzuiwallyworld: maybe you want to try a quick followup branch to address a commplication in the window's fix https://bugs.launchpad.net/juju-core/+bug/1477355. I can pause CI for a few hours to ensure we test master again.23:05
mupBug #1477355: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1477355>23:05
wallyworldsinzui: yeah saw that :-( i'll get axw to fix asap23:06
axwbah23:06
sinzuiwallyworld: I am going to force CI to make it pause for up to 5 hours. We can manually enable build-revision if e get a fix in sooner23:07
wallyworldok, tyvm23:07
wallyworldfwereade_: why was all the status validation (including for old stuff like machine status) removed from helper functions in status.go?23:10
fwereade_wallyworld, it moved to the methods on the entities themselves23:10
wallyworldhmmm23:10
fwereade_wallyworld, which now call down to a common implementation23:10
fwereade_wallyworld, we can fight this out in annecy -- but I think you are very wrong in your view that the business rules need to be deeper embedded in state23:11
wallyworldi would have preferred the validation to be kept in a separate method23:11
wallyworldlike we do for configs etc23:11
wallyworldi don't think that23:11
wallyworldat all23:12
wallyworldstate is for persistence23:12
wallyworldthe model and validation is separate23:12
wallyworldthe old implementation had the validation deep in state23:12
fwereade_wallyworld, I am glad then, you seemed to be suggesting that earlier23:12
wallyworldi am not defending that23:12
wallyworldno23:12
fwereade_wallyworld, this has it slightly less deep23:12
wallyworld+1 to that23:12
wwitzel3katco: pushed up the latest charm that works against the latest feature-proc-mgmt branch23:13
wallyworldi do think we are in violent agreement, just some tinking on the details23:13
fwereade_wallyworld, with a view to pulling it out to the facades, because this is a situation where there's no need to weave business rules in with persistence23:13
wallyworldfwereade_: but yeah, let's get into this next week23:13
wwitzel3katco: I had to remove the current retval check from process-launch because I still haven't fixed the issue with register23:13
katcowwitzel3: k23:13
axwwallyworld: http://reviews.vapour.ws/r/2256/23:13
katcowwitzel3: i'll try it out asap23:13
wwitzel3katco: but it is all there if you wanted to do another deployment and have the updated status-history23:13
wallyworldaxw: looking23:14
axwwallyworld: confirmed it builds in windows, using go 1.5 cross compiling23:14
wallyworldaxw: lgtm23:14
wallyworldsinzui: fix on the way23:14
sinzuifaboo23:14
fwereade_wallyworld, and it was also a bit of a reaction to the N types and N methods and N funcs all just doing the same incorrect serialization prep plus a bit of validation, far from where the data entered the package23:15
wallyworldfwereade_: sadly that tends to be *everywhere*23:15
wallyworldour code has sort of devolved as it has grown organically23:16
wallyworldespeciallywhen the api layer was added23:16
fwereade_wallyworld, yeah, people have to look after it as they go23:17
fwereade_wallyworld, but I'm not sure what you mean about validation done deep in state23:18
fwereade_wallyworld, do you mean consistency concerns? lots of them for sure23:18
wallyworldfwereade_: sorry, had to join meeting23:18
fwereade_wallyworld, but the tolerable pattern is ExportedMethod() { Validation(); TransactionLoop() }23:19
fwereade_dammit late again23:21
* fwereade_ bed23:21
sinzuithank you axw. I see the merge into master23:38
axwsinzui: great, now for the real test ;)23:39

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