/srv/irclogs.ubuntu.com/2015/10/28/#juju-dev.txt

thumpermenn0: https://github.com/juju/retry/pull/201:10
menn0thumper: looking01:11
thumpercheers01:11
thumperwallyworld: do you know if the ci bot is even looking at master?01:11
thumperseems that the bug was fixed by cmars some time ago01:11
wallyworldthumper: they can only target one branch at a time, maybe 1.25 has been getting priority01:12
thumperprobably...01:12
* thumper sighs01:12
thumperFARK!!!01:12
thumperpeergrouper test01:12
thumperdamnit01:12
thumperhate it!01:13
davecheneythumper: it _never_ passes for me01:16
thumperit mostly fails for me too01:16
thumpersaying that, it just passed01:16
thumperif I run it by itself01:16
thumpersecond time it failed01:16
menn0thumper: review done. I ended up deleting and changing a lot of my initial comments so ignore the notification emails and go with what's on the PR01:31
menn0thumper: summary is I think MaxWait is a strange parameter to have. MaxDuration seems more intuitive to me.01:31
menn0thumper: I'd want to be able to say, "keep trying for up to 10 mins", not "keep trying while the sum of the waits between attempts is less than 10 mins"01:32
menn0thumper: if Func doesn't take long they work out to be about the same but I bet that sometimes Func can take a while making it hard to figure out exactly how long a series of attempts might take01:33
=== Spads_ is now known as Spads
thumpermenn0: yeah... I did wonder about that bit too02:52
thumpermenn0: whether or not to take into consideration the time taken to call Func02:52
thumpermenn0: although... it makes testing harder :)02:53
thumpermenn0: because we need something to advance the clock...02:54
menn0thumper: if time is recorded when retry.Call is first called then it's easy to know how long everything has taken so far02:54
thumpermenn0: however with the mock clock, it is um... different02:54
menn0the test Clock can do that right?02:54
thumperhmm...02:54
thumperwe can make it do that02:54
thumperjust by keeping track of now02:54
thumperand advancing now every time we are asked to sleep :)02:55
thumpermenn0: here is a mind fcukingly boring review: https://github.com/juju/juju/pull/360502:59
thumperugh...03:02
thumpermaster CI failed due to deploying a local charm failing03:03
thumperWTF?03:03
menn0thumper: was otp, looking now03:21
menn0thumper: review done... super exciting that one03:25
thumper:)03:25
mupBug #1510787 opened: juju upgrade-charm errors when it shouldn't <juju-core:Triaged> <https://launchpad.net/bugs/1510787>04:52
=== ashipika1 is now known as ashipika
mupBug #1509747 opened: Intermittent lxc failures on wily, juju-template-restart.service race condition <bug-squad> <cloud-installer> <lxc> <wily> <juju-core:Confirmed> <systemd (Ubuntu):Confirmed for pitti> <https://launchpad.net/bugs/1509747>08:22
mupBug #1509747 changed: Intermittent lxc failures on wily, juju-template-restart.service race condition <bug-squad> <cloud-installer> <lxc> <wily> <juju-core:Confirmed> <systemd (Ubuntu):Confirmed for pitti> <https://launchpad.net/bugs/1509747>08:25
mupBug #1509747 opened: Intermittent lxc failures on wily, juju-template-restart.service race condition <bug-squad> <cloud-installer> <lxc> <wily> <juju-core:Confirmed> <systemd (Ubuntu):Confirmed for pitti> <https://launchpad.net/bugs/1509747>08:34
mupBug #1509747 changed: Intermittent lxc failures on wily, juju-template-restart.service race condition <bug-squad> <cloud-installer> <lxc> <wily> <juju-core:Confirmed> <systemd (Ubuntu):Confirmed for pitti> <https://launchpad.net/bugs/1509747>08:37
mupBug #1509747 opened: Intermittent lxc failures on wily, juju-template-restart.service race condition <bug-squad> <cloud-installer> <lxc> <wily> <juju-core:Confirmed> <systemd (Ubuntu):Confirmed for pitti> <https://launchpad.net/bugs/1509747>08:43
voidspacedimitern: ping09:29
voidspacedimitern: do you know how I can reproduce a situation where "ignore-machine-addresses" is *required*?09:29
voidspacedimitern: (i.e. reproduce the bug it fixes)09:29
dooferladfrobware: ping09:32
frobwaredooferlad, omw09:32
dimiternvoidspace, I can think of an example09:37
dimiternvoidspace, how about: bootstrap, juju ssh 0, add a virtual NIC with an address like 10.0.0.2, watch the logs to see it gets picked up and set among the API host ports09:38
dimiternvoidspace, it won't work just by installing the lxc package outside of juju, as we're detecting the presence of /etc/default/lxc-net and parsing it to find the LXC bridge device name, then filter any addresses on it09:39
voidspacedimitern: ok, I'll try that09:40
dimiternvoidspace, however, you can try: sudo apt-get install lxc -y after bootstrapping, then rm /etc/default/lxc-net, and reboot the node09:40
voidspacedimitern: our proposed fix from yesterday won't work - it's what we're already doing!09:40
dimitern(or just reboot jujud)09:40
voidspacedimitern: I think the fix might have to be that we prefer a *fallback address* from the provider list in favour of an exact scope match from machine09:41
voidspacedimitern: better would be to filter the addresses we send from the machine, so we don't send unusable addresses09:41
dimiternvoidspace, we do that for lxcbr0 addresses, if we can detect them09:42
voidspaceright09:42
voidspacebetter, we should ignore machine addresses by default and understand the circumstances where we actually need them09:43
voidspace(and use them only where we need them)09:43
* dimitern is thinking whether a fallback match from the provider addresses can always be preferred to an exact machine address match 09:43
voidspacedimitern: we can topic it in standup again09:43
dimiternvoidspace, ok09:43
* voidspace is going to get coffee09:44
dimiternvoidspace, hey, do you remember that change to "devices new" API that needed type=container in the arguments in order to show up in the UI?09:53
voidspacedimitern: I remember, but that isn't quite right09:56
voidspacedimitern: they have removed devices with a parent from the ui and last I saw they hadn't got round to putting them back09:56
voidspacedimitern: they're going to put them on the node detail pages09:56
voidspacedimitern: they decided not to use "type=container" afaik09:56
voidspacedimitern: so we don't need to do anything09:56
voidspacedimitern: but *currently* devices with a parent don't show in the ui at all09:57
voidspacewhich sucks09:57
dimiternvoidspace, right, ok - as I couldn't find a reference to the type=container argument in maas src (1.8 or trunk)09:57
voidspacedimitern: if you find the maas bug (I can't recall it) they changed the title to remove the reference to type=container09:58
voidspacedimitern: they changed the title to "remove devices with a parent from the devices page"09:58
voidspacedimitern: and they have a new, not-yet-fixed bug, to add them to the node details page09:58
voidspacewallyworld: ping09:59
dimiternvoidspace, I see, well - as long as the device is registered and maas can clean it up with its parent, I don't care so much it's not visible in the UI09:59
voidspacedimitern: I think it's a shame10:00
voidspacedimitern: I liked the visibility10:00
voidspacebut ah well10:00
dimiternvoidspace, it is a shame, but not quite ours ;)10:00
dimiternTheMue, jam, standup?10:02
jambrt10:02
=== akhavr1 is now known as akhavr
voidspacedooferlad: I assume you checked those USB ethernet adaptors work with Ubuntu... ?10:37
dooferladvoidspace: reports say yes.10:37
voidspacedooferlad: cool, thanks10:37
voidspacedooferlad: and *not* the 4x SATA SSD - one disk is sufficient?10:39
dooferladvoidspace: we have been told to just go msata and the charm will be updated to use one disk10:39
voidspacedooferlad: ok10:40
voidspacedooferlad: those msata disks look funky10:40
dooferladvoidspace: overnighting a disk later if needed is a tradeoff we seem to be OK with.10:40
voidspacecool10:40
dooferladvoidspace: just plugged in one of those USB3 adapters. Shows up as enx00e060001127 on my desktop in the output of ifconfig10:40
voidspacedooferlad: great10:41
mupBug #1510875 opened: unable to interrupt 'juju boostrap' on MAAS before the node is running <bootstrap> <juju-core:Triaged> <https://launchpad.net/bugs/1510875>10:47
mupBug #1510875 changed: unable to interrupt 'juju boostrap' on MAAS before the node is running <bootstrap> <juju-core:Triaged> <https://launchpad.net/bugs/1510875>10:50
mupBug #1510875 opened: unable to interrupt 'juju boostrap' on MAAS before the node is running <bootstrap> <juju-core:Triaged> <https://launchpad.net/bugs/1510875>10:56
voidspacedooferlad: and those nucs will be fine with my existing PDU11:01
frobwarevoidspace, AMT based NUCs, correct?11:02
voidspacefrobware: non-AMT I believe11:03
dooferladfrobware: they are AMT11:03
voidspacehah11:03
voidspacefrobware: believe dooferlad and not me...11:03
frobwarevoidspace, ok, just checking as if they're AMT based they can be shared...11:03
frobwarevoidspace, with other rigs should priorities change, et al.11:04
dimiternfrobware, hw ordered; doc updated with actual prices (with exp. delivery to BG it turned out a bit more than 100 GBP cheaper!)11:05
frobwaredimitern, great11:05
dimiternI mean, not due to the delivery, just price changes I guess11:05
frobwaredimitern, dooferlad, voidspace: I suspect there's some surge pricing for those components going on in some amazon spreadsheet... :)11:06
dooferladfrobware: Amazon ran out of NUCs11:06
dimitern:D11:06
dooferladfrobware: so now they are £327 instead of £22011:06
frobwaredooferlad, wow11:06
dooferladfrobware: now sold from Kikatek for that delightful mark up11:07
dimiterndooferlad, what I ordered is a bare bones kit - no ram, ssd11:07
frobwaredimitern, which is pretty much the default, no?11:07
dooferladdimitern: yes, that is what I got11:07
dimiternfrobware, it is as offered from intel, but some vendors spice it up11:08
dooferladhttp://www.intel.com/content/www/us/en/nuc/nuc-kit-dc53427hye-board-d53427rke.html11:08
voidspacedammit, I had some in my basket from amazon11:12
voidspacebut too late to hit the button11:12
voidspaceso I should probably cancel that order - unless I order the NUCs elsewhere at the higher price11:12
voidspaceor just wait for amazon to get new stock11:12
dooferladvoidspace: amazon stock is due in weeks, right?11:13
voidspacedooferlad: allegedly11:13
voidspacedooferlad: I'm happy to wait, so long as they actually arrive11:13
frobwarevoidspace, I'm hoping we can make some progress with vMAAS and a smaller bundle to begin with11:14
voidspacefrobware: yep, that would be good11:17
=== akhavr1 is now known as akhavr
=== akhavr1 is now known as akhavr
mupBug #1510132 changed: redefinition of ‘noMethods$MarshalYAML$hash’ <blocker> <ci> <ppc64el> <regression> <testing> <juju-core:Fix Released by cmars> <https://launchpad.net/bugs/1510132>13:59
mupBug #1510944 opened: Only state-server upgrades from 1.20 <intermittent-failure> <upgrade-juju> <juju-core:Triaged> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1510944>13:59
sinzuicherylj: there is a regression in 1.22 https://bugs.launchpad.net/juju-core/+bug/151095214:09
mupBug #1510952: Upgrades broken in 1.22 tip <blocker> <ci> <regression> <upgrade-juju> <juju-core:Incomplete> <juju-core 1.22:Triaged> <https://launchpad.net/bugs/1510952>14:09
cheryljsinzui: thanks for the heads up14:23
cheryljsinzui: has that test run on 1.24 yet?14:24
sinzuicherylj: no, it hasn't14:25
sinzuiIt will test next I think14:25
cheryljok, thanks14:26
mupBug #1510951 opened: Upgrades broken in 1.22 tip <blocker> <ci> <regression> <upgrade-juju> <juju-core:Triaged> <https://launchpad.net/bugs/1510951>14:32
mupBug #1510952 opened: Upgrades broken in 1.22 tip <blocker> <ci> <regression> <upgrade-juju> <juju-core:Incomplete> <juju-core 1.22:Triaged> <https://launchpad.net/bugs/1510952>14:33
natefinchfwereade: I added setting of unit statuses in the last changes to the unit assigner review: http://reviews.vapour.ws/r/2814/14:40
fwereadenatefinch, awesome, thanks14:42
natefincher, in the last two changes, that is.14:42
alexisbdimitern, ping15:02
dimiternalexisb, oh, sorry - omw15:02
* fwereade needs to stop early, will be back this evening to talk to NZ15:05
frobwaredooferlad, having just spoken with cherylj we should look at 1.24 first for #151065115:16
mupBug #1510651: Agents are "lost" after terminating a state server in an HA env <bug-squad> <ensure-availability> <juju-core:Triaged by dooferlad> <https://launchpad.net/bugs/1510651>15:16
dooferladfrobware: thanks, spotted the bug update15:16
=== akhavr1 is now known as akhavr
natefinchwwitzel3: I know you're there, I can hear you typing16:42
natefinchericsnow: you around?16:56
ericsnownatefinch: yep16:56
natefinchericsnow: the lxd remote config value - I presume that should be an IP address or domain name?16:57
ericsnownatefinch: yep16:57
ericsnownatefinch: I'll make that more clear16:57
cheryljperrito666: got a sec?16:58
natefinchericsnow: I'm adding an isLocal() function to the environ, since we're checking that in a couple places17:01
ericsnownatefinch: k17:01
natefinchericsnow: (the logic is simple, but I don't want remote() == "" getting tossed around the codebase everywhere17:01
ericsnownatefinch: fine with me17:01
ericsnownatefinch: method on environConfig?17:01
natefinchericsnow: on the environ. I don't want to have to know to look at the config to determine if it's local.  There's some law about not doing foo.bar.baz()... forget now what it's called.  Just expose it at the higher level.  The config itself doesn't need to know about local or not, I don't think.17:03
ericsnownatefinch: you're doing foo.bar.<something> either way and the config is what identifies the remote as local or not17:05
mupBug #1507771 changed: Juju deploy fails when template container cannot be started <cdo-qa> <lxc> <maas> <juju-core:Invalid> <https://launchpad.net/bugs/1507771>17:06
natefinchericsnow: if you're calling it on the environ, then only environ needs to know that it's getting information from the config.  Everywher else just calls the function on the environ.   And the environ is the thing that is interpreting the config.  The config is just holding the data.  Adding isLocal to the config is putting environ-level logic in the data bag that is the config17:07
ericsnownatefinch: k17:08
ericsnownatefinch: not a big deal to me either way :)17:08
ericsnownatefinch: the method is useful regardless17:08
natefinchericsnow: agreed :)17:09
natefinchericsnow: fwiw, I started with it on the config and then decided it was probably more appropriate on the environ... but yeah, it's not a huge deal either way17:10
mupBug #1507771 opened: Juju deploy fails when template container cannot be started <cdo-qa> <lxc> <maas> <juju-core:Invalid> <https://launchpad.net/bugs/1507771>17:12
mupBug #1507771 changed: Juju deploy fails when template container cannot be started <cdo-qa> <lxc> <maas> <juju-core:Invalid> <https://launchpad.net/bugs/1507771>17:15
natefinchericsnow: your dependency injection makes my goto definition useless :/17:30
ericsnownatefinch: you're using a goto?17:30
natefinchericsnow: yeah, godef17:31
natefinchericsnow: which will just go to the definition of the interface.. there's no real way around it17:31
natefinch(I think the go oracle has a way to find implementors of an interface, but I haven't been able to get that working)17:31
ericsnownatefinch: ah17:32
ericsnownatefinch: yeah, bummer17:32
natefinchericsnow: the downside of interfaces everwhere... figuring out what code is actually getting called is hard17:32
ericsnowkatco: you have any ideas on a name to use instead of "clientServerMethods"?17:40
perrito666cherylj: I do now17:50
cheryljperrito666: just wanted to follow up on bug 150786717:51
mupBug #1507867: juju upgrade failures <canonical-bootstack> <upgrade-juju> <juju-core:Triaged by mfoord> <https://launchpad.net/bugs/1507867>17:51
cheryljit looks like there were two pieces:  the ignore machine address for containers, and the mongo issues17:51
cheryljI see mfoord took the machine addresses / containers part17:51
cheryljare you still working the mongo side?17:51
cheryljor were you going to hand that off to sapphire?17:51
perrito666indeed, on the mongo issues we are stil waiting some logs that might shed light on the mather sadly the resources of bootstck are  a bit scarce right now and they cannot run the test yet, I intended to do the handoff once these logs where in place but I might as well do it now17:52
cheryljperrito666: should we open up a new bug to track just the mongo stuff?17:53
perrito666cherylj: that would be advisable looking again at the current one it is becoming a bit of a mix17:53
cheryljperrito666: okay, I will create one and try to extract the meaningful mongo bits17:54
* perrito666 is wondering why he came to work to the only coffee shop without internet in town17:55
katcoericsnow: well, 3 of them have to do with certificates, so there's a cert struct/interface in there for sure18:21
katcoericsnow: the wait and config... perhaps belong in 2 separate interfaces?18:22
ericsnowkatco: clientServerMethods is just there to help organize the methods better (so the Client methods aren't split across several files)18:25
ericsnowkatco: in my mind the name communicates that pretty well18:26
katcoericsnow: well, first, grouping them into a struct doesn't preclue them being split across files :)18:27
katcoericsnow: what do you mean by, "organize the methods"?18:28
ericsnowkatco: my point is that they were methods of Client before I moved them under their own struct (which Client now embeds)18:28
ericsnowkatco: grouping the different Client methods18:28
ericsnowkatco: and splitting them across multiple files18:28
katcoericsnow: ok. so i think i'm just asking that you take that to its logical conclusion and group them into types that make sense18:29
katcoericsnow: "server" methods is too generic18:29
ericsnowkatco: I was following the grouping I was already using (see conn_raw.go)18:29
katcoericsnow: i think you're grouping in terms of implementation, and it probably makes more sense to group in terms of what the group of methods do18:31
katcoericsnow: you even have comments grouping them18:32
ericsnowkatco: right18:33
ericsnowkatco: ah, so your concern is with "Server" rather than with the whole name?18:43
katcoericsnow: well, the client should take implementations of interface it needs18:44
katcoericsnow: so no, the whole thing18:44
katcoericsnow: the fact that it's for the client is implicit because the client is embedding the types18:45
ericsnowkatco: all the client needs is the raw *lxd.Client (as returned by newRawClient())18:46
ericsnowkatco: I can change it back so the clientServerMethods methods are methods of Client instead if you like18:46
ericsnowkatco: that may be less confusing18:47
ericsnowkatco: (though it splits Client methods across multiple files)18:47
katcoericsnow: no i think what you've done is a good thing, you're doing IoC18:47
katcoericsnow: i'm just saying split things out to be a little more fine-grained18:47
ericsnowkatco: but it's not meant to be IOC18:48
katcoericsnow: well it is :) and it's a good thing18:48
ericsnowkatco: IOC here would be providing the raw client as an interface (or multiple)18:48
katcoericsnow: that's exactly what i'm saying18:49
ericsnowkatco: right; that's orthogonal to the clientServerMethods type18:50
ericsnowkatco: I wasn't planning on doing any IOC yet with the raw client18:50
katcoericsnow: you've extracted out the functionality, but haven't encapsulated it in a way that makes sense18:51
ericsnowkatco: my point is that I haven't extracted out any  functionality; it was already there as-is18:51
katcoericsnow: you extracted it out into another type, right?18:52
ericsnowkatco: the only thing I did was move the Client methods in a given file into their own type so that I wouldn't have Client methods spread across mutliple files18:52
katcoericsnow: that is extracting the functionality out, isn't it?18:52
katcoericsnow: it's fine for now. if you just want to collect them in the same file, leave it on client and put them all in a file together18:58
ericsnowkatco: hmm, one goal is to avoid massive files like that though19:00
katcoericsnow: no i mean, same type, new file19:00
ericsnowkatco: that's the way I had it in the first place :)19:00
ericsnowkatco: but having a type split across multiple files is a pain point19:01
katcoericsnow: that's better than a new type that isn't encapsulating properly :)19:01
katcoericsnow: it is?19:01
ericsnowkatco: it has been for me19:02
natefinchkatco, ericsnow: I definitely highly dislike having a single type split across files19:11
natefinchkatco, ericsnow: it makes it harder to understand the type as a whole, and it means you have to go hunting through files to find the method you're interested in.19:13
cheryljperrito666: it looks like there was another bug spun off to track the ignore-machine-addresses with containers.  Let's keep bug 1507867 for the mongo issues.19:20
mupBug #1507867: juju upgrade failures <canonical-bootstack> <upgrade-juju> <juju-core:Triaged by mfoord> <https://launchpad.net/bugs/1507867>19:20
perrito666sounds fair19:20
cheryljperrito666: I'm going to put in an update that we are waiting on logs from bootstack and assign the bug to you19:20
cheryljonce you have a chance to talk with someone from sapphire to do a hand off, please update the bug assignee19:21
perrito666ok, Ill do a handoff as soon as we get these19:21
cheryljawesome, thanks!19:21
perrito666everything is awesome19:21
* perrito666 sings19:21
cheryljeverything is cool when you're part of a team?19:21
alexisbwwitzel3, ping19:40
mupBug #1511090 opened: MAAS documentation on jujucharms.com incorrectly advised disable network management <juju-core:New> <https://launchpad.net/bugs/1511090>19:47
wwitzel3alexisb: pong19:57
alexisbheya wwitzel3 I was going to ask you to reach out to adam, but you did19:59
alexisbwwitzel3, also do you have documentation regarding deploying openstack on lxd provider?  or is that someone else?19:59
alexisbI heard it now exists19:59
wwitzel3alexisb: we have an email chain between James Page and myself, but we didn't have any official docs yet since it is a lot tweaking still.20:01
alexisbwwitzel3, ack20:05
alexisbthanks!20:05
ericsnownatefinch: ptal: http://reviews.vapour.ws/r/2927/20:05
natefinchericsnow: looking20:10
ericsnownatefinch: ta20:11
fwereadethumper, waigani, just joined onyx-standup20:29
mupBug #1511103 opened: relation-get error: permission denied <juju-core:New> <https://launchpad.net/bugs/1511103>20:42
mupBug #1511103 changed: relation-get error: permission denied <juju-core:New> <https://launchpad.net/bugs/1511103>20:48
mupBug #1511103 opened: relation-get error: permission denied <juju-core:New> <https://launchpad.net/bugs/1511103>20:54
=== Icey is now known as IceyEC
=== IceyEC is now known as Icey
mupBug #1511135 opened: storage: add bundle support <juju-core:Triaged> <https://launchpad.net/bugs/1511135>22:24
mupBug #1511135 changed: storage: add bundle support <juju-core:Triaged> <https://launchpad.net/bugs/1511135>22:27
=== menn0_ is now known as menn0
mupBug #1511135 opened: storage: add bundle support <juju-core:Triaged> <https://launchpad.net/bugs/1511135>22:33
mupBug #1511138 opened: Bootstrap with the vSphere provider fails to log into the virtual machine <bootstrap> <cloud-init> <vsphere> <juju-core:Triaged> <https://launchpad.net/bugs/1511138>22:36
mupBug #1511138 changed: Bootstrap with the vSphere provider fails to log into the virtual machine <bootstrap> <cloud-init> <vsphere> <juju-core:Triaged> <https://launchpad.net/bugs/1511138>22:39
mupBug #1511138 opened: Bootstrap with the vSphere provider fails to log into the virtual machine <bootstrap> <cloud-init> <vsphere> <juju-core:Triaged> <https://launchpad.net/bugs/1511138>22:54
ericsnowcmars: so, you like my latest LXD branch, huh? :)23:20
ericsnowcmars: wwitzel3 has one up that fixes the remaining bugs you noted: http://reviews.vapour.ws/r/3015/23:21
cmarsericsnow, wwitzel3 you guys rock23:21
ericsnowcmars: hey, it's a fun one to work on :)23:21
wwitzel3indeed23:58

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