/srv/irclogs.ubuntu.com/2014/12/01/#juju-dev.txt

thumperdavecheney: command doesn't depend on version.Version00:03
thumperI was thinking about adding some automatic deprecation checks00:03
thumperbased on version00:03
thumperbut I don't want to introduce the dependency00:04
thumperso I'll just go for 'deprecated bool'00:04
thumperoh...00:04
thumperyou suggestion had me thinking...00:04
* thumper will ponder for a bit00:05
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
davecheneythumper: wanna do the 1 on 1 now00:14
thumperdavecheney: sure00:14
davecheneyno reason to delay00:14
davecheneyi'll see you in the hangout00:14
thumperkk00:15
=== kadams54 is now known as kadams54-away
thumperwaigani: one to one?02:07
waiganithumper: ah, I'm in the wrong chan02:08
waiganithumper: my google cal is crashing for me - can you paste me the link please?02:09
=== kadams54 is now known as kadams54-away
menn0thumper, waigani: auto multi-env filtering: http://reviews.vapour.ws/r/551/diff/03:14
thumpermenn0: awesome, looking now03:52
thumpermenn0: hey, the diff fits on one page \o/03:53
davecheney+103:55
menn0cool :)03:56
waiganithumper, menn0, davecheney: we have tests! http://reviews.vapour.ws/r/474/04:06
davecheneytype ListMode bool04:13
davecheneyvar ( FullKeys     ListMode = true Fingerprints ListMode = false04:13
davecheneyseriously04:13
davecheneythis is an api parameter04:13
davecheneyit has two states04:13
davecheneyFullKeys or Fingerprints04:13
davecheneyit is not possible to add a new state04:13
davecheneyand when the gui calls it04:14
davecheneyit has to say { Mode: true }04:14
davecheneyWhat the F04:14
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
waiganimenn0: http://reviews.vapour.ws/r/551/04:53
waiganimenn0: just realised I didn't click 'publish'04:58
axwwallyworld_: I'm working this afternoon, as I've got a school assembly to go to on Thursday morning and a school workshop on Friday morning. let me know if you need anything...06:08
wallyworld_axw: will do, thanks06:09
wallyworld_i'm going to ping andres later to set up a meeting for this week06:09
davecheney2/win1107:53
wallyworld_axw: thanks for reviewing the gwacl mp, i just went to do it and it had been done \o/08:19
axwwallyworld_: no worries08:22
wallyworld_dimitern: thanks for looking at those networking bugs09:21
dimiternwallyworld_, np, I can do more if we had the lshw dump09:23
wallyworld_yeah, hopefully he can provide it09:25
jam1voidspace: standup ?10:03
voidspaceoops10:03
voidspacejam1: omw10:03
hazmataxw, the lshw /block dev question on the list brings up an interesting question.. if i do have say extra physical block devs on one unit but not others, would i see them? ie. storage spec is at a service level. thanks for the review and catch on azure regions10:05
hazmataxw, hmm.. the microsoft guy pointed out a new api which does a limited form of the static map we're doing currently for azure http://msdn.microsoft.com/en-us/library/azure/gg441293.aspx10:08
hazmatfwiw10:08
hazmatjam, ping10:47
hazmatdimitern, out of curiosity what is the logic for juju-br0 selection?10:57
* hazmat is looking at the lshw output10:57
dimiternhazmat, the first network device or the one with network:0 index in the lshw xml dump10:58
hazmatdimitern, aha.. default 0 behavior perhaps.. eth2 is mellanox with id="network"10:59
dimiternhazmat, can I see the dump?11:00
hazmatdimitern, its in the bug11:00
hazmatdimitern, https://bugs.launchpad.net/juju-core/+bug/1395908/+attachment/4267056/+files/1395908.tar.gz11:01
mupBug #1395908: LXC containers in pending state due to juju-br0 misconfiguration <lxc> <oil> <juju-core:Triaged> <https://launchpad.net/bugs/1395908>11:01
dimiternhazmat, these are just logs, no lshw xml output11:02
hazmathmm11:05
hazmatdimitern, right bug, wrong attachment.. https://bugs.launchpad.net/juju-core/+bug/1395908/+attachment/4271935/+files/lshw.tar.gz11:06
mupBug #1395908: LXC containers in pending state due to juju-br0 misconfiguration <lxc> <oil> <juju-core:Triaged> <https://launchpad.net/bugs/1395908>11:06
dimiternhazmat, ah, I see the issue - the logic should skip network devices marked with disabled="true"11:09
wallyworld_hazmat: you free for the meeting about zone constraints later in your day?11:39
hazmatwallyworld_, yeah.. just rearrange the cal a bit for it11:39
hazmater..i just rearranged11:39
wallyworld_hazmat: thanks, hard to find a time to suit aus, eng and us11:39
hazmatwallyworld_, np. thanks for setting it up.11:40
wallyworld_sure11:40
voidspacedimitern: do you think IP address must have a Refresh method? We don't need it currently. (We did need it for Subnet.)11:49
dimiternvoidspace, no need for Refresh11:50
dimiternvoidspace, there won't be a life field; the only change that can happen is to set the state to "unavailable" or "allocated"11:52
voidspacedimitern: yep, thanks11:52
dimiternvoidspace, but those transitions can be handled internally with proper asserts11:52
voidspacedimitern: so UpdateState should take an IPAddress (rather than a string value) and assert that the state has not changed in the transaction that sets the new state?11:54
dimiternvoidspace, yeah, so if that assert fails, we can reload the doc from state and retry11:54
* fwereade_ lunch, walk11:54
dimiternvoidspace, I'd suggest using SetStatus or SetState rather than UpdateState (for consistency with other state objects)11:55
voidspacedimitern: if we're just going to retry, why not just set the new state directly11:55
voidspacedimitern: (yes on name)11:55
voidspacedimitern: all we need to assert is that the ip address still exists11:55
voidspacedimitern: I would only check state if we're going to fail because of stale data11:56
dimiternvoidspace, we need to retry in principle, because we assume stale data11:57
voidspacedimitern: if we're only setting a new state - and we will force that to succeed by retrying - why assert the old state matches?11:57
voidspacedimitern: we don't care if it matches, we're setting the new state *anyway*11:57
dimiternvoidspace,  if the address state goes only forward (like life) we need to ensure we won't set a state which is impossible11:58
voidspacedimitern: can it only go forward?11:58
voidspacedimitern: I guess it should only go from "" to "allocated" or "unavailable"11:58
voidspacedimitern: but in which case we shouldn't retry, but fail11:58
dimiternvoidspace, shouldn't we allow Unknown -> Allocated|Unavailable  only?11:59
voidspacedimitern: right - so we *shouldn't* retry then, we should fail11:59
voidspaceand assert that State is Unknown11:59
dimiternvoidspace, let's think how it'll go11:59
voidspacewe pick a new address - initially created with State Unknown12:00
voidspacethen we attempt to allocate and it goes to Allocated or Unavailable12:00
dimiternvoidspace, new address -> set to unknown (i.e. "reserve" a doc for it until we decide the final state for that address)12:00
voidspacedimitern: until we start using this model for "other addresses"12:00
dimiternvoidspace, existing unknown address -> set to allocated or unavailable, but fail if it's already set12:00
voidspaceinitially that's the only use case12:00
dimiternvoidspace, *or* don't fail if the state is already the one we want to set12:00
voidspaceah, ok - so the assert is State == Unknown || NewState12:01
dimiternvoidspace, yeah, I think so12:01
voidspacedimitern: do you know of an existing assert that is similar, so I can see how to implement that?12:01
voidspaceI can just grep through state to see though12:02
dimiternvoidspace, it's easy - you can combine assert12:02
dimiternvoidspace, just a sec12:02
dimiternvoidspace, unknownOrSame := bson.D{{"state", bson.D{{"$nin", []string{"unknown", newState}}}}}12:05
voidspacedimitern: thanks!12:05
dimitern$nin=not in list12:05
dimiternvoidspace, np12:05
voidspacedimitern: so that asserts that the state *is* one of the listed ones?12:06
dimiternvoidspace, yes -- we have a cached view of the data, and as long as this holds we're good, otherwise (assert fails) reload and redo12:07
dimitern(if it makes sense to)12:07
voidspacecool, thanks12:07
voidspace"not in list" is an odd name for an assert that does the opposite (assert that the specified field *is* one of the ones in the list)12:07
dimiternvoidspace, ah, sorry :)12:08
dimiternvoidspace, you're right - it should've been "$in"12:08
voidspacedimitern: :-)12:08
voidspacedimitern: and SetState should be an IPAddress method rather than State.SetIPAddressState ?12:10
voidspacewe will always have an IPAddress when we need to use it, so it makes sense - I'd just assumed a State method though12:10
voidspace(for no good reason it seems)12:10
dimiternvoidspace, yes, that's the usual case12:10
dimiternvoidspace, well - we create an "unknown" address, then update it to allocated or unavailable12:11
voidspacedimitern: yep12:11
=== kadams54 is now known as kadams54-away
axwhazmat: well, I had intended for storage specification to be at the unit level (specifiable at service level, which would cascade/merge down)13:25
axwhazmat: as for the Azure API, doesn't look like it has much useful info in it13:25
axwI mean, useful to us...13:26
* axw goes afk again13:26
hazmataxw, g'night13:27
perrito666brb13:42
abentleysinzui: Industrial testing on AWS has been failing because there's no subnet for AZ us-east-1e: https://pastebin.canonical.com/121381/14:01
mattywhas anyone seen fwereade_ ?14:59
fwereade_mattyw, I'm around, did I miss a ping?14:59
mattywfwereade_, you might have done - but I'll forgive it15:00
natefinchperrito666: standup?15:05
perrito666ngetting there trying to find my headphones15:06
voidspacedimitern: should we require IP address type to be provided in the IPAddressInfo (argument to AddIPAddress)15:35
voidspacedimitern: or should we infer it from the actual address provided?15:35
voidspacedimitern: I'm inclined to infer it and remove it from IPAddressInfo15:36
dimiternvoidspace, hmm.. why not take a network.Address instead?15:36
voidspacedimitern: ah, fair point15:37
dimiternvoidspace, it has all the needed fields already, we just need to convert it from network.Address into a doc15:37
voidspacedimitern: ok, better do some reqorking15:37
voidspacedimitern: yep, good point15:37
voidspacedimitern: should I still validate the IP address?15:37
voidspacedimitern: I guess not15:37
voidspacedimitern: the only thing that prevents is *creating* an address in anything but an Unknown state15:38
voidspacedimitern: but if we ever have that use case it's easy to just call SetState after creation15:38
dimiternvoidspace, I think we should validate it15:39
voidspacedimitern: ok15:39
dimiternvoidspace, before storing it in state at least15:39
voidspacedimitern: yep15:39
dimiternvoidspace, in the network package there are some validation methods I think you can use15:39
voidspacedimitern: net.ParseIP is easy enough15:39
voidspaceI don't think I need anything more than that, but I can take a look15:40
dimiternvoidspace, ok - I've just looked and there are no special validation methods for network.Address15:41
voidspacedimitern: I couldn't find any either... :-)15:45
sinzuinatefinch, Can you get people to look into bug 1397376 and bug 1397995?15:46
mupBug #1397376: maas provider: 1.21b3 removes ip from api-endpoints <api> <cloud-installer> <landscape> <maas-provider> <juju-core:Triaged> <juju-core 1.21:Triaged> <https://launchpad.net/bugs/1397376>15:46
mupBug #1397995: 1.21b3: juju status isn't filtering by service <landscape> <regression> <status> <juju-core:Triaged> <juju-core 1.21:Triaged> <https://launchpad.net/bugs/1397995>15:46
sinzuinatefinch, bug 1396981 is also critical, but needs discussion about scope. I am going to update the bug with my understanding of the issue15:47
mupBug #1396981: Upgrade fails with tools sha mismatch because product json is renamed <ci> <regression> <upgrade-juju> <juju-core:Triaged by wallyworld> <https://launchpad.net/bugs/1396981>15:47
* perrito666 notices that google tells him that is going to upgrade his calendar ... nothing changes15:53
natefinchsinzui: ok15:54
natefinchfwereade_: I was thinking, since I just used the skeleton provider to create the outline for the gce provider, maybe I should just copy it to make a real skeleton provider..... since I had to do a lot of work to get the skeleton provider to compile.15:56
fwereade_natefinch, +100015:57
fwereade_natefinch, it seriously sucks that I got distracted and never merged that15:57
fwereade_natefinch, getting it into the source tree would prevent it from being such a horrible hassle again15:57
natefinchfwereade_: that's what I was thinking.  I'll make a separate branch for it, shouldn't be too much work15:58
fwereade_natefinch, tyvm15:58
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
alexisbfwereade_, sorry, will be there shortly16:07
fwereade_alexisb, np16:07
voidspacedimitern: ooh, if we take a network.Address it doesn't allow us to set a MachineId, SubnetId or InterfaceId16:14
voidspacedimitern: shall I provide setters for those?16:14
voidspacedimitern: especially subnet id we want16:14
dimiternvoidspace, hmm.. we can also take them as args16:15
voidspacedimitern: for SubnetId that makes sense16:15
voidspacedimitern: as we will always (initially) want it16:15
voidspacedimitern: MachineId and InterfaceId that will be a nuisance as we will rarely want to set them initially16:15
dimiternvoidspace, yeah, and the rest (esp. machine id) won't be known at first16:15
voidspacedimitern: shall I add setter methods for those two?16:15
dimiternvoidspace, let's have setters yeah16:16
voidspacedimitern: cool16:16
dimiternvoidspace, cheers16:16
voidspacedimitern: hmmm... Dave Cheney said that we shouldn't add new dependencies to state16:19
voidspacedimitern: this PR adds network16:19
voidspacedimitern: I assume that "low-level" dependencies like that are permitted16:19
dimiternvoidspace, good point16:19
dimiternvoidspace, but I think we already import network in state16:19
voidspacedimitern: nope, it's showing in the diff16:20
dimiternvoidspace, we do in some tests and in network.go16:20
dimiternvoidspace, and in address.go16:21
voidspaceah...16:21
voidspacedimitern: right, so it's not actually a new dependency16:21
voidspacedimitern: I was just looking state/state.go16:21
voidspace:-)16:21
dimiternvoidspace, :) whew..16:21
dimiternvoidspace, well, for one this sort of dependency makes sense to me16:22
voidspaceit's not a structural dependency which is the real problem16:22
voidspaceand state has to deal with networking concepts16:22
dimiternexactly16:22
=== kadams54 is now known as kadams54-away
alexisbnatefinch, IBM interlock17:01
=== kadams54-away is now known as kadams54
alexisbjam, on and ready when you are17:34
voidspaceg'night all18:48
perrito666gnight18:49
voidspaceo/18:50
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
sinzuiperrito666, natefinch , do either of you have time to review http://reviews.vapour.ws/r/554/diff/#19:40
perrito666sinzui: done, nate is most likely not here19:42
sinzuithank you perrito66619:42
perrito666yw19:42
thumpermorning folks19:47
perrito666thumper: hi19:47
thumpersinzui: got a minute?19:50
thumpersinzui: I'd like to discuss https://bugs.launchpad.net/juju-core/+bug/139737619:51
mupBug #1397376: maas provider: 1.21b3 removes ip from api-endpoints <api> <cloud-installer> <landscape> <maas-provider> <juju-core:Triaged> <juju-core 1.21:Triaged> <https://launchpad.net/bugs/1397376>19:51
sinzuihi thumper, I do19:58
thumpersinzui: standup is about to start, can we talk after that?19:59
sinzuiyep19:59
thumpercool19:59
sinzuihazmat, are you preparing the branch to inc the gwacl dep in juju-core master? Should I get the other developers on it.20:14
thumpersinzui: https://plus.google.com/hangouts/_/canonical.com/bug-139737620:20
bachey marcoceppi, we talked a while back about you releasing a new version of amulet.  can you schedule that for soonish?20:31
davecheneymwhudson: short version, there may be an announcement about the 1.5 cycle today20:32
davecheneybut people are distracted with fixing 1.4 for release20:32
mwhudsondavecheney: cool, thanks for chasing20:32
davecheneyregarding spinning wheels on arm64 deveopment20:33
davecheneyi understand20:33
davecheneyi'm in the same boat20:33
=== kadams54 is now known as kadams54-away
thumperkatco: you around?20:38
katcothumper: yup, what's up?20:38
thumperkatco: seen https://bugs.launchpad.net/juju-core/+bug/1397995 ?20:38
mupBug #1397995: 1.21b3: juju status isn't filtering by service <landscape> <regression> <status> <juju-core:Triaged> <juju-core 1.21:Triaged> <https://launchpad.net/bugs/1397995>20:38
thumperkatco: thought of you because of your recent status changes20:38
katcothumper: yeah i saw that; likely it's related20:38
katcothumper: it looks like there was some kind of interplay between versions, but i just skimmed.20:39
thumperkatco: can you look actively at it?20:39
thumperkatco: it is blocking 1.21 release20:39
katcothumper: sure, just wrapping up latest set of review changes for leadership20:39
thumperkk20:39
thumperthanks20:39
katcothumper: thanks for pinging20:39
=== kadams54-away is now known as kadams54
wallyworld_katco: hi, can we delay by 15 minutes? i'm in another meeting21:15
katcowallyworld_: sure thing21:15
wallyworld_ty21:15
=== perrito6` is now known as perrito666
=== psivaa_ is now known as psivaa
=== kadams54 is now known as kadams54-away
wallyworld_katco: hi, i'm finally free21:42
katcowallyworld_: ok, hopping on21:43
=== kadams54-away is now known as kadams54
thumpermwhudson: want to catch up now or soonish?21:55
mwhudsonthumper: would about 20 mins work?21:55
thumpersure21:55
mwhudsoncool21:55
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
mwhudsonthumper: long 20 mins sorry, ready now22:30
thumpermwhudson: our 1:1 hangout?22:30
mwhudsonthumper: sure, trying to find it now :)22:30
mwhudsonok, there22:30
=== kadams54 is now known as kadams54-away
wallyworld_hazmat: you've got bug 1389422 as in progress on 1.22. i'm just updating 1.21 branch to pull in your new gwacl branch. i can do the same for 1.22 if you want23:59
mupBug #1389422: azure instance-types and regions missing <azure-provider> <constraints> <Go Windows Azure Client Library:Fix Committed by hazmat> <juju-core:In Progress by hazmat> <juju-core 1.20:Triaged> <juju-core 1.21:In Progress by wallyworld> <https://launchpad.net/bugs/1389422>23:59

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