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

axwthumper: can you please review https://github.com/juju/juju/pull/2888? apparently a RB review never got created01:22
thumperack01:22
thumperaxw: on some calls for a while, but I'll get to it01:22
axwthumper: no rush, thank you01:22
mupBug #1483082 opened: provider/maas: volume source won't work for physical machines/disks <maas-provider> <juju-core:Triaged> <https://launchpad.net/bugs/1483082>01:26
mupBug #1483083 opened: worker/storageprovisioner: unnecessary Attach just after a Create that creates attachment <juju-core:Triaged> <https://launchpad.net/bugs/1483083>01:26
mupBug #1483082 changed: provider/maas: volume source won't work for physical machines/disks <maas-provider> <juju-core:In Progress by axwalk> <juju-core 1.24:Triaged by axwalk> <https://launchpad.net/bugs/1483082>01:44
mupBug #1483083 changed: worker/storageprovisioner: unnecessary Attach just after a Create that creates attachment <juju-core:Triaged> <https://launchpad.net/bugs/1483083>01:44
mupBug #1483082 opened: provider/maas: volume source won't work for physical machines/disks <maas-provider> <juju-core:Triaged> <https://launchpad.net/bugs/1483082>01:47
mupBug #1483083 opened: worker/storageprovisioner: unnecessary Attach just after a Create that creates attachment <juju-core:Triaged> <https://launchpad.net/bugs/1483083>01:47
mupBug #1483086 opened: storage/provider: managedfs fails to create fs on full disks <juju-core:In Progress by axwalk> <juju-core 1.24:Triaged by axwalk> <https://launchpad.net/bugs/1483086>01:47
davecheneythumper: ping02:02
axwwallyworld: can you please review this fairly trivial PR: https://github.com/juju/utils/pull/14702:58
wallyworldsure02:58
axwwallyworld: I bit the bullet and added a common clock package/interface02:58
wallyworldyay02:58
axwwallyworld: btw I got disks working on azure, but I need to spend some more time figuring out the best way to represent volume IDs so we can attach/detach. as usual, the representation of resources is not like other providers... :)03:06
wallyworldsigh, love azure03:06
axwalso need to make some changes to prevent disks being destroyed when machines are destroyed03:06
wallyworldgood news on the progress though :-)03:06
axwwallyworld: when you have time, I've updated http://reviews.vapour.ws/r/2298/ to address your comments03:26
wallyworldlooking03:27
wallyworldaxw: lgtm, ty for adding clock implementation03:28
axwwallyworld: cool, thanks03:29
menn0thumper: here's the majority of the state changes for the cross env watcher: http://reviews.vapour.ws/r/2328/03:54
menn0thumper: there's still a few little bits coming but it's worth getting this reviewed and merged at this point03:54
axwwallyworld: would it be reasonable to only support non-persistent volumes in the current version of the azure provider?05:34
axwwallyworld: it'll avoid some complication around deleting VMs and possibly leaking disks05:35
wallyworldaxw: i think so, we can deliver that and then see where we stnd wrt the new apis etc05:35
axwcool, saves a bunch of work05:36
wallyworldalthough if we were to be able to list disks that have been allocated, we can then clean them up05:36
wallyworldwe can do that as a stretch goal perhaps05:36
axwwallyworld: we can, but the problem is more to do with OS disks. when you delete a VM you either delete *all* the attached disks or *none* of them. we can do it, but it's just a bit messy... so yes, stretch goal05:38
wallyworldso long as limitations are documented...05:39
* thumper out05:39
dimiternaxw, (if still around), voidspace, mgz, can you please review this https://github.com/go-amz/amz/pull/60 ?06:44
voidspacedimitern: wow, that's big06:52
voidspacedimitern: I can take a look - but it will take a while06:52
voidspacedimitern: the stuff in .gitignore - can't you get your git to globally ignore those06:53
voidspacedimitern: rather than polluting the project with emacs06:53
dimiternvoidspace, thanks06:53
voidspace:-)06:53
dimiternvoidspace, perhaps I can but don't know how :)06:53
dimiternvoidspace, that .gitignore is more or less the same as juju/juju/.gitignore06:54
voidspacedimitern: heh, ok06:54
voidspacedimitern: https://help.github.com/articles/ignoring-files/06:54
voidspacegit config --global core.excludesfile ~/.gitignore_global06:55
dimiternvoidspace, good to know, thanks! :)07:01
dimiternvoidspace, if it makes you feel better there are both vim and emacs rules in there :P07:02
voidspacedimitern: :-p07:02
dimiternjam, hey, 1:1?07:04
jamdimitern: omw07:07
voidspacedimitern: I think I found a bug in srv.SetAvailabilityZones07:54
voidspacedimitern: see the first comment07:54
voidspacedimitern: still reading07:54
dimiternvoidspace, will do, in a call now07:54
voidspacekk07:56
axwwallyworld: https://code.launchpad.net/~axwalk/gwacl/gwacl-disks/+merge/267477 when you can, please08:07
=== dooferlad_ is now known as dooferlad
dimiternvoidspace, responded to your comments so far08:54
voidspacedimitern: the comment about extra methods makes sense08:57
voidspacedimitern: I should have checked!08:57
dimiternvoidspace, np, the ec2test code is only slightly more familiar to me, but it's still confusing in some places08:58
voidspacemaking coffee08:59
voidspacebrb08:59
dimiternvoidspace, i'm ready09:37
dimiternvoidspace, dooferlad, we need to sync up net-cli with master today I think09:37
dimiternit's been a whil09:38
dimiternwhile09:38
voidspaceyep09:39
voidspacedimitern: I'm in the hangout09:40
dimiternvoidspace, me too  - which one are you in?09:40
voidspacedimitern: hah09:40
voidspacedimitern: I'm in the wrong one09:40
voidspace:-)09:40
dimitern:)09:40
voidspacedimitern: sorry, omw09:41
voidspacedimitern: so the admin space, and the routing we need for that, *is* part of the MVP I think10:03
voidspacedimitern: for MAAS I think the user will need  to create a real space and setup routing themselves10:04
voidspacedimitern: as we don't control routing on MAAS10:04
voidspacedimitern: for EC2 we can put the routing in place10:04
TheMuedimitern: you like the explicit interface more?  fine, it indeed "feels" better ;)10:08
dimiternTheMue, yeah, I think it's better10:09
TheMuedimitern: fine, and I found the error you talked about and will now introduce it10:09
dimiternTheMue, cheers10:10
voidspacedimitern: did you run the tests against live ec2?10:29
voidspacedimitern: a couple more trivial comments added, nearing the end now10:29
voidspacedimitern: structurally all sound, good work getting through all that10:30
dimiternvoidspace, yes, numerous times10:30
dimiternvoidspace, thanks, will respond soon10:31
voidspacedimitern: right, done - no further comments10:31
voidspacedimitern: LGTM, modulo those minor points10:31
dooferladdimitern: hangout?10:31
dimiternTheMue, RB somehow stopped working half way through the review, so I've sent my comments so far, but I'm still on it10:31
dimiterndooferlad, omw10:31
dimiternvoidspace, thanks!10:31
TheMuedimitern: ok, good to know10:32
voidspacegreat work10:32
dimiternvoidspace, thanks :)10:35
dimiternTheMue, reviewed10:53
TheMuedimitern: thanks10:55
dimiternmgz, are you about?10:56
dimiternjam, voidspace, dooferlad, I've updated the model with comments and a few text changes. Most important new bits are on the comment about Discovering VPC support at bootstrap11:28
mgzdimitern: hey11:45
dimiternmgz, hey, can you some time for a second review on https://github.com/go-amz/amz/pull/60 please?11:46
mgzah, I saw the mail with that over the weekend, looks interesting11:47
mgzdimitern: v3 is not yet released? I'm not sure where we are on goamz versioning11:47
dimiternmgz, it is released11:49
dimiternmgz, that's building on top of it, v4-unstable is not released11:50
mgzdimitern: isn't renaming methods a compat break then?11:50
dimiternmgz, I knew you'll say that :)11:50
dimiternmgz, ok, I'll add an alias SetInitialAttributes for SetAccountAttributes11:51
mgzdimitern: I mean, it may well not be something we care about, do we know if anyone except juju uses ec2test?11:51
mgzI'd hope they would, but most other uses of goamz I've seen are pretty limited11:52
dimiternmgz, not that I know of, but the compatibility promise should be respected when possible11:54
voidspacedimitern: the space definition in state is the space name plus the list of associated subnet Ids12:06
voidspacedimitern: the Space type needs a Subnets method that returns a slice of state.Subnet12:06
voidspacedimitern: should I fetch those Subnets at the same time the Space is fetched12:07
voidspacedimitern: or ok to fetch on demand when space.Subnets is called?12:07
voidspacein terms of data integrity, it makes sense to fetch them at the same time12:07
voidspacebut then it's extra work that has to be done when a Space is constructed - and it may not be needed12:08
voidspaceso from that point of view it makes sense to only fetch them when needed12:08
dimiternvoidspace, well, during creation we should have all of the ids already, so it should be simple12:12
voidspacedimitern: it is simple - it's the same either way12:12
voidspaceit's just where it's done12:12
voidspacedimitern: so you're suggesting at creation time12:12
dimiternvoidspace, and since the subnet ids of a space cannot change underneath us, fetching the along with the space is ok I think12:13
voidspacedimitern: why can't they change underneath us?12:13
dimiternvoidspace, but if you do that, and the list of ids is not updated on Refresh(), it should12:14
voidspacedimitern: isn't there a race condition between fetching the space and adding / removing a subnet somewhere else?12:14
voidspacedimitern: in which case doing at creation time is better as we're less likely to hit that12:14
voidspace(that's what I meant by data integrity)12:14
dimiternvoidspace, spaces are a juju concept, unlike the instance status12:14
voidspacedimitern: ah, right12:14
dimiternvoidspace, so the only way to change a space is to create or modify it12:15
voidspacedimitern: but two clients could do that simultaneously :-)12:15
voidspacethese state objects should be ephemeral though12:15
dimiternvoidspace, that's true :)12:15
dimiternvoidspace, hmm what a asec12:16
dimiternvoidspace, wait even12:16
dimiternvoidspace, subnets have space name field, right? why should we store subnet ids in the space doc?12:16
voidspacedimitern: so, Space.validate is already fetching them all12:17
voidspacedimitern: well, true enough12:17
voidspacedimitern: denormalisation?12:17
voidspacedimitern: it's nice not to have to scan all subnets to find the ones associated with a space12:17
voidspacedimitern: it means adding a subnet changes the Space definition too12:17
dimiternvoidspace, you're not scanning them - just Find({{space_name, "foo"}}).All()12:18
voidspacedimitern: how do you think mongo finds them ;-)12:18
dimiternvoidspace, we'll add an index12:18
dimiternvoidspace, it should even be unique I think12:19
voidspacedimitern: I can kill the subnetIds part of the Space doc12:19
dimiternvoidspace, yes, if it was added for convenience, it's not correct12:19
dimiternvoidspace, it should be a method returning ([]*state.Subnet, error)12:20
dimiternvoidspace, thanks for bringing this up btw!12:20
dimiternvoidspace, I have to look at what's our state model so far for spaces and subnets12:20
voidspacenp, of course12:20
voidspacedimitern: go for it12:21
dimiternvoidspace, I remember adding something like BackingSpace.SubnetIds, but I fully intended in *state.Space to use a method for that, not a slice on the doc12:22
voidspacedimitern: yep, I'm writing the method now12:28
voidspacedimitern: dammit12:42
voidspacedimitern: subnet doesn't *yet* have a SpaceName12:43
voidspacedimitern: I guess I have to add it12:43
voidspacedimitern: there's another card for subnet changes, so I'll just add the field for now12:43
voidspacedimitern: *sigh*, and because there is no SpaceName field on Subnet, the Space.SubnetIds is currently *the canonical* list of subnets for the Space12:50
voidspaceAddSpace takes a list of subnets12:50
voidspacedimitern: so all these changes can be done as part of the subnet ticket12:51
voidspacedimitern: otherwise this one balloons12:51
dimiternvoidspace, yes, please - add SpaceName on subnetDoc12:53
dimiternvoidspace, hmm12:54
voidspacedimitern: I can't just do that12:54
dimiternvoidspace, why not?12:54
voidspacewell, I can12:55
voidspaceit's just work that I think belongs to the subnets card we already have12:55
voidspaceAddSpace takes a slice of subnet ids12:55
voidspaceso AddSpace would then have to update the subnets too12:55
voidspaceso it becomes a lot more work that I think we already have a card for12:56
dimiternvoidspace, that's correct, but it seems that and your card are closely related12:56
voidspacewell, they are12:56
voidspacelet me go read the model doc again for how subnets are added12:57
perrito666morning12:57
voidspaceperrito666: 'ning12:57
dimiternvoidspace, yes, and AddSpace should update the subnets docs, in a transaction, but it's tricky as it can change in the mean time, so think about using txn-revno12:58
dimiternvoidspace, also, as ref counting lands, we should not change the space of a subnet with refcount > 012:58
voidspacedimitern: that definitely is in the other ticket12:59
voidspacedimitern: as ref counting belongs there12:59
voidspacedimitern: so, "juju create subnet <CIDR>" doesn't *require* a space name does it?12:59
voidspacedimitern: we have a chicken and egg problem12:59
voidspacedimitern: creating a space requires a subnet13:00
voidspacedimitern: but if you create a subnet you either specify a space, or it get puts in the default one13:00
voidspacedimitern: so I assume it must be possible to move a subnet from default space to another space, right?13:00
voidspace(unless refcount > 0)13:00
dimiternvoidspace, well, what's clear is that you shouldn't be able to use a subnet without a space for deployments13:02
dimiternvoidspace, so creating it with an empty space should be fine13:03
dimiternvoidspace, what a sec13:04
dimiternvoidspace, it's "$ juju subnet create <CIDR> <space> <zone1>" actually13:04
dimiternvoidspace, so both the space and the zone are required when creating (or adding) a subnet13:04
voidspacedimitern: ok - but you need a subnet (at least one) to create a space13:04
voidspacedimitern: so you need a space to create a subnet, but you need a subnet to create a space13:05
dimiternvoidspace, this is a better point13:06
dimiternvoidspace, but there should always be a pre-created "default" space13:06
voidspacedimitern: in which case you have to be able to move a subnet13:07
voidspacedimitern: which is the cli command to move a subnet?13:08
voidspacewell, not quite13:08
voidspacecreating the new space with the existing subnet moves it13:08
voidspacedimitern: I added a couple of comments to the model doc clarifying (slightly) about the moving of subnets13:08
dimiternvoidspace, we have juju space update CIDRs..13:10
voidspacedimitern: that replaces *the whole list*13:10
voidspacethe normal use case would be to add or remove a single one I expect13:11
dimiternvoidspace, and there's the new space creation moving (unused) subnets to it, yes13:11
voidspacehaving to specify all of them is a nuisance and an invitation for errors13:11
voidspacebut ah well]13:11
voidspace*well13:11
dimiternvoidspace, the update is intended only when you want to change all of them13:14
dimiternvoidspace, thanks for your feedback and comments on the doc13:14
voidspacedimitern: so subnet moving is an implicit part of space creation13:20
dimiternvoidspace, I think so - when safe, that is unused13:39
dimiternjam, how do you feel about allowing the creation of "empty" spaces, but not allowing them as deployment targets until they have subnets?14:49
TheMuedimitern: instead of creating them with at least one initial subnet?15:01
dimiternTheMue, yes, because it's convenient to create a few spaces first, then either create or add existing subnets to them; also not allowing this *force* you to create or add subnets to the "default" space first, then move them15:08
TheMuedimitern: from UX perspective I agree, yes15:09
TheMuedimitern: it allows me to setup my network environment step by step15:10
dimiternTheMue, exactly15:10
voidspacedimitern: that sounds good to me15:12
dimiterndooferlad, voidspace, let's do it then, we could change it later, if at all needed15:14
dimiternI'll update the docs to reflect this and add comments15:15
voidspacedimitern: deploying to a space with no subnets will raise an error (needs adding to the doc)15:15
dimiternvoidspace, yeah - it will come naturally as it happens on StartInstance, and there we need all subnets anyway to do AZ distribution15:18
TheMuevoidspace: and in case of only one subnet this is the default? or does it always has to be specified explicitely?15:18
dimiternvoidspace, it's still OK though, I think to allow empty spaces in constraints, until they're actually used15:19
dimiternvoidspace, as constraints are eval'ed each time15:19
voidspacedimitern: sounds good15:30
voidspaceTheMue: you don't have to specify a subnet, and if there is only one then it will be used15:30
voidspaceTheMue: in fact you don't specify a subnet usually, you specify the space15:30
voidspaceI gotta go15:30
voidspacesee you all tomorrow15:30
TheMuevoidspace: ok, thx for info15:31
TheMuevoidspace: enjoy your evening15:31
dooferladmgz: hi, could you take a look at https://code.launchpad.net/~dooferlad/juju-ci-tools/juju-ci-tools-addressable-containers/+merge/267494 please?15:45
mgzdooferlad: sure15:47
=== arosales_ is now known as arosales
dooferladdimitern, TheMue: EOD for me. I have a couple of review requests up that are both small (the merge trunk one looks big, but in reality I only changed a couple of lines)16:30
dooferladhttp://reviews.vapour.ws/r/2333/16:30
TheMuedooferlad: will have a look16:30
dooferladhttp://reviews.vapour.ws/r/2335/16:30
dooferladTheMue: thanks!16:30
TheMuedooferlad: enjoy your evening16:30
dooferladand you16:30
TheMuethx16:31
dimiterndooferlad, cheers, will have a look16:43
cheryljCan I get a couple quick reviews?  They're both just cherry-picks of already approved PRs:  http://reviews.vapour.ws/r/2336/      http://reviews.vapour.ws/r/2334/17:00
mgzdooferlad: are you still working?17:25
perrito666hey wwitzel3 ericsnow is there a spec for gce provider?19:14
ericsnowperrito666: not really19:14
perrito666:(19:14
wwitzel3like an internal spec? we have a compatability spreadsheet19:14
ericsnowperrito666: what's up?19:14
perrito666wwitzel3: ericsnow I was thinking even developer notes19:15
perrito666ericsnow: wwitzel3 working on gce storage19:15
ericsnowperrito666: ah19:15
perrito666ericsnow: wwitzel3 just looking for some reference, ill read the code and gce docs19:16
ericsnowperrito666: we didn't document the implementation in great detail, if that's what you mean19:16
ericsnowperrito666: that's you best bet (and ping either of us with questions)19:17
perrito666i will, thank you :)19:17
ericsnowperrito666: we tried to write it in an obvious way :)19:17
wwitzel3perrito666: yeah, if you run in to any sticking points don't hesitate19:17
perrito666ericsnow: I do recall that yea :) and it has been praised for clarity so I am not worried19:17
ericsnowperrito666: haha19:18
sinzuiericsnow: do you have a moment to review http://reviews.vapour.ws/r/2339/20:10
sinzuikatco: Can you review ^20:20
katcosinzui: you have 2 ship-its20:20
katcosinzui: now 320:20
katco:)20:20
sinzuithank you for using the cluex420:21
perrito666bbl20:52
wallyworldalexisb: you able to make release standup?21:33
alexisbyes will be there soon21:34
thumperwaigani: back in the standup?21:37
waiganithumper: yep21:38
mupBug #1483421 opened: Can not install juju-local on precise Ubuntu <juju-core:New> <https://launchpad.net/bugs/1483421>21:59
mupBug #1483421 changed: Can not install juju-local on precise Ubuntu <juju-core:New> <https://launchpad.net/bugs/1483421>22:05
mupBug #1483421 opened: Can not install juju-local on precise Ubuntu <juju-core:New> <https://launchpad.net/bugs/1483421>22:11
perrito666wallyworld: axw our talks sound a lot like the restaurant at the end of universe23:03
axwperrito666: I'm a bad nerd, I've never read hitchhiker's guide (I just know references...)23:04
perrito666axw: well by that part the good parts are almost over, but the conversations inside it look a lot like speaking to australians being in south america23:22
perrito666by all, see you tomorrow23:22
davechen1ythumper: https://github.com/golang/go/issues/1062823:47
davechen1yupstream issue for ppc23:47
thumpercheers23:50
thumperthat is the sort of problem that I'm pleased others are looking into23:50
* thumper runs to physio appt23:51
* thumper actually walks to the car...23:51
davechen1ythumper: eh ?23:55

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