/srv/irclogs.ubuntu.com/2015/01/19/#juju-dev.txt

* thumper sighs00:04
thumpertests failed because other people landed code...00:04
* thumper merges and updates00:04
axwwallyworld__: actually, before tmpfs it would be more useful to have "loop"02:19
axwwallyworld__: so we have the fallback case covered02:20
wallyworld__axw: yes, i was hoping we'd churn out tmpfs, loop more or less together02:23
wallyworld__but loop first, i agree02:23
=== kadams54 is now known as kadams54-away
menn0thumper, wallyworld__ : holy crap there's lots of crazy duplication of test helpers in state03:36
thumper:)03:36
menn0thumper, wallyworld__ : fixing a bunch of it now03:36
thumpercheers03:36
wallyworld__\o/03:36
menn0thumper, wallyworld__ : it's tricky because some tests in state are internal, but I see a path to making a lot of it better03:37
axwwallyworld__: http://reviews.vapour.ws/r/757/03:48
wallyworld__looking03:48
=== kadams54-away is now known as kadams54
thumpermenn0: I'm getting there with the tests but I have one leaving a dirty socket around04:15
thumpera mongo connection04:15
thumperit is definitely the test where we have a different connection from state04:15
thumperbut I can see that my resource cleanup is getting called04:15
thumperso not sure where04:15
thumperif you are good with it, perhaps we could go through it in the morning to see WTF is going on?04:16
menn0thumper: happy to04:23
thumpermenn0: good, I think I've looked at it too long this afternoon, pushing up current04:28
menn0thumper: this state testing refactoring is going really well btw04:29
menn0thumper: tons of lines being removed04:29
thumpercool04:29
thumpernight folks04:32
axwwallyworld__: mind seeing my comments before I land?04:33
wallyworld__axw: yah, looking now04:34
wallyworld__axw: commented, not sure if you wsnt to discuss04:44
axwwallyworld__: LVM is at a higher level. there's nothing stopping you from creating a volume group across different providers. I'm not sure if we should be using quite the same machinery for them. how do you tell it which device(s) to operate on?04:47
axwwallyworld__: I could well see an LVM storage provider that creates "disks" as logical volumes for you, but I think the relationship between the LV and the disks in its volume group is outside this model04:51
axwwallyworld: not sure where you saw up to...04:54
axwwallyworld: LVM is at a higher level. there's nothing stopping you from creating a volume group across different providers. I'm not sure if we should be using quite the same machinery for them. how do you tell it which device(s) to operate on?04:54
axwwallyworld: I could well see an LVM storage provider that creates "disks" as logical volumes for you, but I think the relationship between the LV and the disks in its volume group is outside this model04:54
wallyworldaxw: sigh, freenode hates me, keeps kicking me off :-(04:55
wallyworldaxw: instead of LV, what about loopback? i guess the point for me is that the provisioner etc sees a block device and it's outside of its interest how that is provider, physical disk or otherwise04:57
wallyworldaxw: afk, bbiab04:58
axwwallyworld: the name Disk is probably just a poor one. what I mean is "block device that the provider manages", as opposed to "block device that a machine sees"04:59
axwwallyworld: let me know when you're back05:29
axw-_-05:30
wallyworldaxw: yeah, that's how i think of it too. Disk though gives the opposite connotation. gad i hate naming things05:34
axwwallyworld: it's really "volume" and "attachment", but that doesn't marry with discovered devices05:37
wallyworldshould or could we go with Volume instead of Disk for what we have currently? that would still work with discovered devices i think?05:42
wallyworldi *think* that may remove the current ambiguity?05:43
wallyworldanastasiamac: it's clear these a mix of approaches wrt api param naming :-( let's go with what you have so we can get it landed05:44
axwwallyworld: I'm fine with calling it Volume, though I don't see much of a difference05:46
axwexcept that it might be a little clearer that it's not necessarily a physical or dedicated disk05:48
wallyworldaxw: perhaps i'm being too pedantic wrt naming. or confused. or both. I think of Disk as a physical device, whereas Volume is an abstraction that better applies to various device types loopback vs VG vs disk etc05:48
wallyworldyes05:48
wallyworldthat's where i'm coming from05:49
axwwallyworld: fair enough. I'll change it. I'll need to update juju/names too, but I'll do that later05:49
axwwallyworld: PTAL06:05
wallyworldsure06:06
wallyworldaxw: thanks, i think the naming is clearer now. well to me it is :-)06:09
axwwallyworld: cool06:09
menn0wallyworld: you might like this: http://reviews.vapour.ws/r/759/06:09
wallyworldlooking06:10
wallyworldoooh refactoring06:10
axwwallyworld: in case you missed it, I added a TODO to rename the results of {Create,Describe}Volumes to return something other than BlockDevice, since it will want to convey information that isn't pertinent to the machine level06:10
axwsuch as detachability, persistence, etc.06:10
menn0wallyworld: see what happens when you make a single review comment about extracting some test helpers out06:10
wallyworldaxw: yep, sounds good06:10
menn0wallyworld: I then went and noticed all the awful duplication and felt the need to fix it06:10
wallyworldmenn0: \o/ thank you06:10
wallyworldaxw: short term goal is to get collaboration possible, i think this branch enables that06:11
menn0wallyworld: dealing with kids now so no rush06:12
axwwallyworld: yep. I will land and get back to juju deploy06:12
wallyworldmenn0: ok, will finish a few things and then look, really appreciate the work to do this06:12
wallyworldaxw: we still need some glue to plug it all in, but at least the storage sources for eg loopback can be written and tested06:13
dimiternmorning all06:50
anastasiamacdimitern: morning :D07:01
dimiternanastasiamac, o/07:02
dimiternanastasiamac, nice new facade btw :)07:04
menn0wallyworld_: thanks for the review. i'll add that comment and then get it in.07:08
wallyworld_awesome07:08
anastasiamacdimitern: thnx :)07:25
wallyworld__axw: got a few minutes? hangout in our 1:1?07:27
axwwallyworld__: sure07:27
jam1morning dimitern07:32
dimiternjam1, morning, sorry - omw :)07:32
jam1just grabbing a coffee, but I joined the hangout07:32
=== jam2 is now known as jam1
axwwallyworld__: are you there still?08:04
axwcan't hear you on hangouts...08:04
=== mthaddon` is now known as mthaddon
TheMuedimitern: so, system is started09:10
dimiternTheMue, great! i'll be in the hangout shortly09:11
TheMuedimitern: fine09:11
voidspacedimitern: I'll be back in 5 minutes as well10:24
dimiternvoidspace, ok10:27
voidspacedimitern: and back...10:30
dimiternvoidspace, I've reviewed your subnets PR btw11:03
=== urulama_ is now known as urulama
voidspacedimitern: you've suggested using a string set, which I would *love*12:14
voidspacedimitern: which packge is that from12:14
voidspacedimitern: import "set" does not work...12:14
dimiternvoidspace, it's in juju/utils/set IIRC12:19
voidspaceah....12:19
voidspace*great*12:19
voidspacedimitern: ah, I can't use the set, because I'm using the underlying value (true/false) to carry meaning12:22
voidspacedimitern: (did we actually find the subnet)12:22
perrito666morning to the few of you who are here12:26
voidspaceperrito666: morning12:27
dimiternvoidspace, well, you could construct the set initially with all ids, then remove ones that are not found..12:34
dimiternvoidspace, but i'll leave it up to you12:34
voidspacewell, I *can't* remove the ones not found12:35
voidspaceI use the set to track *found* ones :-)12:35
voidspaceknowing which ones I haven't found is the problem I'm trying to solve :-)12:35
voidspacebut I've switched the map to string[bool] as it involves less casts12:36
voidspaceone instead of three12:36
voidspacedimitern: I've hit $$merge$$ and am onto the next task12:36
dimiternvoidspace, ok, fair enough12:40
dimiternvoidspace, cheers! :)12:40
anastasiamacvoidspace: merge failed :(12:50
* dimitern needs to step out for ~45m13:08
* perrito666 is still drinking mate trying to swallow the news from his govt13:10
perrito666fwereade: sweeeeeeet 666 additions  :p13:15
perrito666that is your last patch13:15
fwereadeperrito666, lol, awesome13:15
* perrito666 imagines fwereade adding blank lines to get there13:15
fwereadeperrito666, if I'd noticed I was near I probably would have done, yeah ;p13:16
voidspaceanastasiamac: thanks, fixed14:55
voidspacedimitern: ping15:06
dimiternvoidspace, pong15:06
voidspacedimitern: should I work on (first) either a) NetworkInterfaces for MaaS15:07
voidspacedimitern: or b) filling in the missing bits of the ec2 implementation?15:07
voidspaceor c) it doesn't matter which order...15:07
voidspaceif b) I have some follow up questions :-D15:07
dimiternvoidspace, well :)15:08
dimiternvoidspace, i'm not quite done with the ec2test filtering for NICs, so I suppose a) is best for now15:08
voidspace...15:08
voidspaceah, cool15:08
voidspacethat's what I wanted to hear...15:08
voidspacedimitern: thanks15:08
dimiternvoidspace, :)15:09
dimiternvoidspace, and I think splitting up the ec2 and maas implementations in separate PRs is good15:09
voidspacedimitern: yeah15:10
voidspaceparsing lshw, yay!15:12
dimiternvoidspace, :/ I sympathize15:13
voidspacedimitern: I created separate cards for EC2/MaaS implementation15:14
voidspacedimitern: and assigned MaaS to me and EC2 to you15:14
voidspacedoesn't have to stay like that but will do for now15:14
dimiternvoidspace, thanks!15:16
voidspacealthough, extractInterfaces pretty much does it all already15:18
voidspacemight need to extend it a bit, but not much15:18
dimiternvoidspace, while doing that would you mind adding ProviderSubnetId network.Id to InterfaceInfo ?15:25
voidspacedimitern: ok15:26
voidspacedimitern: ProviderSubnetId instead of SubnetId ?15:26
dimiternvoidspace, and rephrase ProviderId's doc comment to clarify it's the NIC id15:26
voidspaceok15:26
dimiternvoidspace, yeah, let's make it obvious15:26
voidspaceokeydokey15:26
dimiternvoidspace, cheers15:26
voidspacedimitern: looks like I'll be visiting friends on the Monday and Tuesday of our sprint week15:29
voidspacedimitern: so Wednesday for team meal would be ideal please :-)15:29
dimiternvoidspace, sure, will keep that in mind15:30
voidspacedimitern: thanks, sorry to be a pain15:30
dimiternvoidspace, no trouble at all :)15:30
voidspacedimitern: I don't get down to London often, so have a couple of friends keen to see me15:30
voidspacedimitern: and I was already booked for a meal there on Thursday!15:30
dimiternvoidspace, of course, sgtm15:31
* TheMue will also visit a friend, but not date yet fixed ;)15:38
voidspaceTheMue: don't make it Wednesday please :-)15:39
TheMuevoidspace: hehe, sure, just seen15:40
voidspacecool15:40
voidspaceotherwise we have a dilemna15:40
voidspaceand dimitern has to decide who he loves more ;-)15:40
TheMue*rofl*15:40
dimitern:D15:40
TheMuedimitern: do we have a kind of definition how we extend the provider interface for networking? or is it currently just a loose coupled set of functions?15:42
voidspaceTheMue: we add new Environ methods ad-hoc as we need them...15:42
voidspaceTheMue: the current "entry point" for new networking stuff is the SupportAddressAllocation method15:42
voidspaceTheMue: if a provider returns True for this then it must support all the new networking methods15:43
voidspaceTheMue: this is only true for MaaS and EC2 currently15:43
TheMuevoidspace: ok15:43
voidspaceTheMue: the other providers return false for SupportAddressAllocation and errors.NotImplemented for the other new networking methods15:43
TheMuevoidspace: so do those methods have an own interface and where needed we we do a type assertion?15:43
voidspaceTheMue: they *don't*, they *could*15:44
TheMuevoidspace: or do the others have to implement "empty" methods?15:44
voidspaceTheMue: they're just part of the Environ interface15:44
voidspaceso yes, at the moment all providers implement them15:44
voidspacea separate interface that extends Environ would probably be clearer15:45
TheMuevoidspace: so all providers have to provide them, even w/o address allocation?15:45
voidspaceyep15:45
voidspaceyou can see that they do15:45
voidspacee.g. for NetworkInterfaces Subnets (etc)15:45
TheMuevoidspace: yeah, then I would prefer one or more extra interfaces15:45
dimiternTheMue, I had a sort of plan 9 months ago - everything changed since then, so now it's ad-hoc until we get it done :)15:45
voidspaceTheMue: that would be a great initial contribution :-)15:46
TheMuevoidspace: hah15:46
voidspaceTheMue: or did you mean you would prefer it if someone else did it?15:46
voidspacein which case, me too! :-)15:46
voidspaceTheMue: just teasing, but yes I agree in principle15:46
TheMuevoidspace: no, would be fine to me, so I'm forced to take a look at each networking method15:47
voidspacego for it15:47
voidspacewould be quite easy, and then you'd see the new methods15:47
TheMuedimitern: how is p9 doing it?15:47
voidspaceAllocateAddress and ReleaseAddress too15:47
voidspaceI believe15:47
dimiternTheMue, I have no idea frankly :)15:47
TheMuedimitern: *rofl*15:47
TheMuedimitern: what I once liked is the idea of "everything is a device"15:48
dimiternTheMue, I do like this - nice and polymorphic, but alas..15:49
dimiternvoidspace, ping18:06
dimiternvoidspace, have a look at https://github.com/go-amz/amz/pull/20 later if you have time18:07
voidspacedimitern: ok18:07
voidspacedimitern: not long before I leave, but I can take a look18:07
dimiternwallyworld___, axw, katco , rogpeppe, can any of you please review the above PR for goamz that improves ec2test server? ^^18:07
voidspacedimitern: cool, nice work18:08
dimiternvoidspace, cheers! the important part is that now we can filter NICs by "attachment.instance-id"18:08
rogpeppedimitern: am finished for the day now and doing a sprint this week, so it might be a little while until i get around to it18:08
voidspacerogpeppe: hey, I don't suppose you can remember the name of that restaurant we went to in London?18:09
voidspacerogpeppe: we're back in London next week...18:09
dimiternrogpeppe, np, I'm just mass-pinging in the hope someone might have a look :)18:09
rogpeppevoidspace: hmm, it was nice, wasn't it?18:09
rogpeppevoidspace: i'm in london now...18:09
voidspacerogpeppe: yep...18:09
rogpeppevoidspace: no, sorry, i can't remember at all18:09
voidspacerogpeppe: heh, cool :-)18:09
voidspacenever mind, shame18:09
rogpeppevoidspace: we probably found it through tripadvisor18:09
voidspaceah, I'll try searching for restaurants near Blue Fin18:10
voidspacethere's probably only about 200 to check in that radius...18:10
rogpeppedimitern: from a quick skim, it looks reasonable18:10
rogpeppevoidspace: istr it might've been north of the river18:11
voidspaceah yes, I vaguely remember crossing the river18:12
voidspaceI'm signing off for the day18:16
voidspacetime to go jogging18:16
voidspaceg'night all18:16
dimiternrogpeppe, cheers18:18
=== robbiew1 is now known as robbiew
thumperjw4: are you working or taking the day off?20:00
jw4thumper: working, but I was just about to break for the gym20:06
thumperjw4: just wanted to make sure you were aware: https://bugs.launchpad.net/juju-core/+bug/141229220:06
mupBug #1412292: Intermittent test failure in ActionSuite.TestActionsWatcherEmitsInitialChanges <action> <intermittent-failure> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1412292>20:06
jw4thumper: yeah I saw that.  Thanks for filing it.  I need to figure out what causes it.  I thought that test was isolated well enough but obviously not.20:07
thumpercoolio20:11
hazmathow do we set feature flags ?22:11
hazmatlooks like via env var on client22:14
hazmatthumper, re env manager, how does one get access to it? its not showing up in the client api facades on logged in conn22:28
thumperhazmat: no, it isn't hooked up22:29
thumperand yes, feature flags are set by env var22:30
hazmatthumper, ah, that would explain it22:30
hazmatJUJU_DEV_FEATURE_FLAGS valid values storage,actions22:30
hazmatyeah22:30
thumperhazmat: I have a branch, but got derailed22:30
thumperfound two kinda critical things that were more important22:30
thumperand now I'm banging my head against the fucking dummy provider22:30
hazmatthumper, no worries was just looking at restructuring the jujuclient to automatically expose facades as objects off the conn, corresponding to those actually present22:31
thumperI do feel like we are getting close though22:31
hazmatthumper, there's a couple of interesting integrations around envmanager(obviously) mostly looking to get those rolling end of feb22:31
* thumper nods22:31
thumpershould be well hooked up before then :)22:32
thumperah mah gaad22:54
thumperfinally have the test failing the way I expect22:54
thumperwhat a freaking mission22:54
* thumper must remember to reset the branch before proposing to remove expletives22:55
thumperso... apart from that panic, we're good22:57
* thumper grumbles22:57
thumpermeh22:58
* thumper head desks23:04
thumperfark!!!!!23:20
* thumper wonders if he has broken anything else23:21
perrito666thumper: feeling like colombian revolution?23:21
thumperperrito666: I don't get it23:21
perrito666thumper: farc is the name the colombian "revolutionary" group that drives narcotrafic calls them selves23:21
thumperah23:22
perrito666iirc fuerzas armadas revolucionarias de colombia23:22
thumperno I was mentally bitching about why the common.Resources didn't stop things in the reverse order they were registered23:22
thumperbut rather randomly23:22
thumperwhich ment my pinger died because the state connection was closed already23:23
perrito666by design?23:23
thumperby not caring23:23
thumpernow they do work that way23:23
thumperbefore there wasn't any dependency between resources23:23
thumpernow there can be23:23
thumperbefore it didn't matter23:23
thumpernow it does23:23
perrito666changes, i hate those23:27
thumpermenn0: I think I have this ready to go now23:29
thumpermenn0: all the tests are running and passing except for one "bad record MAC:23:29
menn0thumper: orrsum23:31
thumpermenn0: although to get it fully working, there is more work needed in the apiserver code23:33
thumperbut for the other handlers23:33
thumperlike tools, charms, iamges, debuglog23:33
menn0wallyworld_: i've updated http://reviews.vapour.ws/r/754/ in response to your review comments.23:35
anastasiamacthumper: what's worng with charms handlers?..23:35
wallyworld_menn0: ty, looking23:35
menn0wallyworld_: there's a couple of things that i need your feedback on23:35
thumperanastasiamac: they don't support the correct state connectino for non-state server environments23:35
anastasiamacthumper: :(23:35
anastasiamacthumper: what's correct state connection look like?23:36
thumperI'll fix it.   All the workers will need the same fix23:36
menn0wallyworld_: no rush. I'm about to have lunch and take Amelia to preschool.23:36
anastasiamacthumper: can't wait :D23:36
wallyworld_ok23:36
thumpermenn0: http://reviews.vapour.ws/r/763/23:40
thumper13 changed files  with 250 additions and 93 deletions.23:40
thumpernever freakin easy, is it?23:40
menn0thumper: at least the diff still fits on one RB page :)23:50
thumper:)23:50
thumperI think I hit the same problem waigani did before23:51
thumperwhere I was wanting to add machines to an environment that isn't the state server one23:51
thumperthat required the provider.Prepare in the factory23:51
waiganithumper: how did you solve that?23:52
thumperwaigani: take a look at the review above23:52
thumperwallyworld_: nested errors.Trace call are preferable23:53
thumperotherwise you don't get a stack23:53
thumperthat's the whole point23:54
thumperwallyworld_: there is no harm in returning 'return errors.Trace(err)' over 'return err'23:54
thumperwallyworld_: and I would say it is preferable to a bare return err23:54
anastasiamacthumper: would23:55
wallyworld_thumper: ok, wasn't sure of the preferred usage23:55
anastasiamacwouldn't u want to trace once and then annotate as u come up?23:55
thumperanastasiamac: you either trace or annotate or wrap23:55
thumperanastasiamac: if there is no useful context to add with an annotation, tracing is fine23:55
wallyworld_why not trace and then annotate at layer boundary23:56
anastasiamacthumper: what wallyworld_ said^^23:56
thumperwallyworld_: it depends where the useful context is23:56
thumpercontext isn't always at the boundary23:56
wallyworld_and i maintain tracing is not always necessary23:56
thumperwallyworld_: it is *never* necessary23:56
thumperwallyworld_: but it is very useful for debugging23:56
thumperand it doesn't hurt23:57
thumperso why not?23:57
wallyworld_can be, but not always needed23:57
wallyworld_code clutter23:57
thumperdude, it is *never* needed23:57
* thumper challenges that23:57
wallyworld_you know what i mean23:57
menn0thumper: so, I'm fairly sure i've added machines to the non-initial env using the factory before23:58
thumperbah humbug, actions test failure  - the intermittent one I filed that bug for yesterday23:58
menn0thumper: so why is the prepare stuff req'd23:58
menn0?23:58
thumpermenn0: ah... because I'm using the dummy provider23:58
thumpernot an unregistered 'someprovider'23:58
jw4thumper: sorry :)23:59
menn0thumper: cool.23:59
thumperdummy needs to be registered23:59
thumpersorry, prepared23:59
menn0thumper: i've had a quick look over your PR and it looks good. but I need to have a closer look once i've done the school run etc23:59

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