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

thumperwallyworld_: want to have a quick catch up chat?00:11
wallyworld_thumper: sure, meet in our 1:100:11
thumperk00:11
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
thumperanyone? http://reviews.vapour.ws/r/676/01:42
axwwallyworld_: just want some clarification on the change. AllowsSecureConnection indicates that there's a CA private key on the state servers, which allows them to generate valid certificates. without it, the certs may not have valid addresses and so the LXC code will not be told to fetch images from the API server02:04
axwinstead it'll go directly to the external source02:04
axwis that right?02:04
wallyworld_axw: yes, correct02:05
menn0thumper: looking02:29
menn0thumper: done02:38
thumperta02:38
rick_h_thumper: got a sec to chat?02:39
thumperrick_h_: sure, why not02:39
rick_h_:)02:39
rick_h_thumper:02:40
rick_h_https://plus.google.com/hangouts/_/canonical.com/daily-standup?authuser=102:40
thumperrick_h_: you've stopped moving and making noise02:43
=== negronjl is now known as negronjl-afk
wallyworld_thumper: if you have a moment, here's a small, simple review http://reviews.vapour.ws/r/677/03:03
thumperwallyworld_: ship it03:04
wallyworld_ty03:04
thumperwallyworld_: is there an example somewhere in a test (and real code) of checking for the existance of tools for a particular version?03:34
thumperwallyworld_: I think the upgrade-juju command does it somewhere03:34
wallyworld_thumper: you mean seeing if the tarball exists?03:34
thumperwallyworld_: well how about I tell you what I want to do03:35
wallyworld_ok03:35
thumperwallyworld_: and you can tell me the easiest way to do it?03:35
thumperwhen someone says "create-environment" we want the version to default to the client version, but they should be able to specify a version to use when creating03:35
thumperthe api server needs to check for tool availability03:36
thumperfor created environments, we can't really support upload-tools03:36
thumpernor do I think we should03:36
wallyworld_thumper: i could be wrong, but i thought we were heading towards enforcing the same version as the client is used03:36
thumperalso, we need to make sure the requested version is <= current version of the server03:37
thumperwallyworld_: for bootstrap yes03:37
wallyworld_since we have run into incompatibility issues even with minor version differences03:37
thumperwallyworld_: for 'juju create-environment' not necessarily03:37
wallyworld_ok03:37
thumperanyway03:37
thumperthe client's juju version may well be different to the api server they are connecting to03:37
thumperso we need to pass an agent-version through03:37
thumperthe api server then needs to check against its version, and also for tool availability03:38
thumperso two things:03:38
thumperbest way to have the apiserver check03:38
thumperand03:38
thumperbest way to test it (i.e. fake the tools that it thinks are available)03:38
wallyworld_so there's an apiserver ToolsFinder from memory03:39
wallyworld_i'll need to dig to find some examples, give me a sec03:40
wallyworld_thumper: if you look at line 53 in apiserver/client/machineconfig.go, you can see how you can set up to ask the tools finder for tools either matching a specific version, or major/minor match03:43
axwwallyworld_: fyi I have updated https://github.com/juju/charm/pull/77, I just need to get fwereade to PTAL since he already started reviewing03:45
wallyworld_in terms of testing, i think there's some stuff in apiserver/common/tools_test.go03:45
thumperwallyworld_: thanks03:45
wallyworld_axw: sure, ty, sounds good03:45
wallyworld_thumper: have a look, and if you need some more info, let me know; i think i've given you what you need, but ask if nt03:46
thumpercheers03:46
thumpermy kids are starting to go ferel03:46
thumperferrel?03:46
thumperanyway, screaming and fighting03:46
wallyworld_will ferrel?03:46
thumperthey haven't gotten out today03:46
thumperferal03:47
wallyworld_the dog has i bet03:47
thumpernope03:47
thumperwell, not for a walk03:47
wallyworld_she would be feral also then03:47
thumperhmm...03:48
thumperseries...03:48
thumperI don't have a series...03:49
thumperactually I have a default-series03:49
thumperhmm... seems I can leave it blank03:50
thumperwallyworld_: is there an easy way to get a list of all the tools available?04:25
wallyworld_thumper: from memory, pass in a search params with major = minor = -1, and empty arch, series etc04:26
thumperhmm...04:26
wallyworld_but you'd normally want to filter on arch, series04:26
wallyworld_or arch at least04:26
thumperwell, when we create an environment, we don't have an arch04:26
thumperas we aren't actually creating any machines04:26
wallyworld_there's no current use case apart from possibly sync tools where you need a "find all tools"04:27
thumperhowever we do want to use to know that there are some tools available04:27
thumperso... situation is:04:27
thumperuser says create-environment --version x.y.z04:27
thumperwe check and go "hmm, no tools for that version, but we do have [a,b,c,d]"04:27
wallyworld_yeah, the api doesn't work like that. you currently ask for version x.y.z and get that or nothing04:28
thumperhmm...04:28
thumperbugger04:28
wallyworld_or you can ask for all tools matching major/minor version04:28
wallyworld_of with -1 for major, minor, you get everything04:29
wallyworld_or04:29
wallyworld_and you then need to iterate the list of tools you get back to see if the version you want is there04:29
* thumper hmmmms04:30
thumperI'm going to think about it over night and come back to it.04:30
thumpercheers04:30
wallyworld_ok04:30
wallyworld_we can improve the api if needed04:30
wallyworld_it fits current use cases04:31
* thumper nods04:34
thumpernight all04:34
axwjam: when discussing storage, did you and sabdfl talk about fallback at all? the updated spec doesn't really work with fallback in mind at all AFAICT. e.g. if you specify --storage, the spec says the pool used is the default pool, rather than any pool that will satisfy05:56
jamaxw: sorry about the delay, are you still around?07:53
axwjam: hiya, yes, I am07:54
jamaxw: so I believe the "default" source in MaaS was local disk (block devices coming from loop mounts, non-specified sizes just coming from /)07:57
axwjam: ok. so we're back to no notion of degrading; the user just has to be explicit if they want something better than loop-back, and if that fails then they need to try again with something else?08:00
axw*automatic degrading08:00
jamaxw: I believe the spec mentioned  being able to change the default source for an environment, but otherwise yes08:00
axwjam: thanks08:01
jamaxw: I hope you had good holidays08:01
jamwelcome back08:01
axwjam: pretty relaxing, thanks. and you?08:02
jamaxw: quite nice. Got to go visit family in Germany. And while we didn't get proper snow, it was at least cold for new years :)08:02
jamI guess that isn't how you feel about NY08:02
axwah nice :)08:02
axwnot in the slightest ;)08:02
axwI've been in the pool every day for at least the last week08:03
jamaxw: I remember martin pool mentioning that to him Christmas was Mai Tai's on the beach08:03
axwwe just had a barbecue with all the family round ours08:03
axwwallyworld_: I have just updated http://reviews.vapour.ws/r/589/ again, removing Minimum and Preferred. The top-level Size is minimum, and Count is just required - there's no reason for anything to over deliver on count08:18
wallyworld_sure, will look08:18
axwwallyworld_: do you know if your change has fixed the regression? it's not clear to me from the CI dashboard08:21
wallyworld_axw: yes, the previously failing local deployment CI tests pass; there's still a joyent failure though which is separate i think as all the local tests were failing before08:21
axwwallyworld_: can we flip it to released, or do you want to wait for QA to verify?08:22
wallyworld_axw: i just checked, the CI tests are almost finished again for a 2nd commit, the joynet local precise tests are pending. let's wait a bit longer to see how those pan out08:23
axwah ok08:23
axwcool08:23
wallyworld_i'm not sure if we're supposed to flip the bug status ourselves08:23
wallyworld_or wait for the reporter to do it08:24
axwnever mind, I can wait08:24
jamhi fwereade, I hope you enjoyed your break08:45
fwereadejam, heyhey08:45
fwereadejam, yes, thank you, it was quite disconcertingly peaceful -- and yourself?08:46
jamfwereade: pretty good for me. We went to Germany to spend time with relatives for the new year. Got to be properly cold for NY (well 5 on NY, but it did get below zero in Germany)08:54
wallyworld_fwereade: g'day. we missed our 1:1 earlier. can we do it a bit later08:56
voidspacemorning all08:56
axwmorning08:56
fwereadewallyworld_, oops, so we did, I haven't quite adjusted to a proper timetable08:56
wallyworld_np, i need to cook and eat dinner etc, can i ping you when i'm ready?08:56
dimiternvoidspace, jam? standup time10:01
voidspacedimitern: omw10:01
voidspacein fact, here10:01
jamdimitern: you still there?10:05
fwereadeTheMue, jam, voidspace: dimitern's internets have fallen over, he's working on it10:11
TheMuefwereade: thx for info10:12
wallyworld_fwereade: let me know when you're free to chat?10:33
fwereadewallyworld_, cleaner's in here at the moment, maybe 10 mins or something?10:33
wallyworld_fwereade: sure, np10:33
axwfwereade: would you PTAL at https://github.com/juju/charm/pull/77 ? I think/hope your previous concerns should be allayed10:41
fwereadeaxw, cool, will do10:45
voidspacejam: "NodeGroup is the internal name for a cluster."11:13
voidspacedimitern: jam: it looks like a nodegroup-interface represents a network interface11:14
voidspace    A NodeGroupInterface is identified by the uuid for its NodeGroup, and the name of the network interface it represents: “eth0” for example.11:14
jamvoidspace: that sounds an awful lot like it would be the actual network interface for a machine. Maybe it is the Node Group controller's interface?11:14
voidspace    A NodeGroupInterface is a network interface attached to a cluster controller, with its network properties.11:15
voidspaceI've asked some questions on #maas11:20
voidspaceNo reply yet11:20
perrito666morning11:24
voidspacejam: dimitern: an in-between approach (not too much work) is for the provider layer to choose whether it allocates or whether it lets the provider allocate11:25
voidspacejam: dimitern: so with maas we use "dynamic allocation" and with ec2 we use static allocation11:25
voidspacejam: dimitern: then we can move ec2 to dynamic allocation later if we want11:25
voidspaceOur current strategy picks an unused address and attempts to allocate that. This returns an error or nil (for success).11:28
voidspaceWe could let the provider implementation of AllocateAddress return a *different* address if it successfully allocates one11:28
voidspaceallowing it to ignore the requested address if it wants to - which the MaaS implementation always would11:28
voidspaceslightly janky but flexible11:29
voidspaceperrito666: morning11:29
=== ashipika is now known as ashipika|food
dimiternvoidspace, jam, TheMue, sorry guys I was away till now - first network issues, then the heating stopped..12:04
TheMuedimitern: heya, welcome back12:04
TheMuedimitern: oh, no heating is hard12:04
TheMuedimitern: even harder than no network, hmmmm, or ... *justKidding*12:05
voidspacedimitern: hey, hi12:06
voidspacedimitern: did you see my questions/comments above or should I repeat them?12:06
dimitern:D12:06
dimiternI can see the one about nodegroup-interfaces being NICs12:06
voidspacedimitern: right12:06
voidspaceNICs on the cluster controller12:07
voidspacedimitern: is that what we want - will they correspond directly (one-to-one) with networks?12:07
voidspacedimitern: or should I switch to a hybrid approach (which I like but is admittedly slightly janky)?12:07
dimiternvoidspace, AIUI networks are created when you add a NGI12:09
voidspacedimitern: so, there always should be the one-to-one correspondence we need12:09
dimiternvoidspace, but you can create them manually as well, so this tells me they *might* sometimes not match 100%, but for a definite answer we should consult the maas guys or the source12:09
voidspaceI've asked questions on #maas12:10
voidspaceno answer yet12:10
voidspaceI will proceed assuming they will match12:10
voidspaceand will tweak appropriately if needed - or start again with a different approach...12:10
voidspacedepending on the answer...12:10
dimiternvoidspace, just a sec12:11
dimiternvoidspace, it occurred to me there could be valid cases where networks != NGIs12:11
dimiternvoidspace, NGI == networks only for those maas is supposed to manage dhcp, dns, or both12:11
voidspacereally?12:12
voidspaceah, maybe12:12
voidspacejust checking what mine is12:12
voidspacethey seem to correspond and I *thought* I didn't have maas managing dhcp or dns, but I might be wrong12:13
dimiternvoidspace, it seems logical - otherwise (for non-managed - i.e. vlans, etc.)12:13
dimiternvoidspace, sorry, that should've been - for non-managed there's not point in having a NGI associated with the network12:13
voidspacemaas is managing dhcp and dns for my cluster12:14
dimiternvoidspace, but in any case we *only* care about dhcp-managed networks for the address allocation logic12:15
voidspacedimitern: so we *can't* assume a correspondence, which means (as far as I can tell) that we can't always know the static range of the subnet12:15
voidspacedimitern: ah right, so it doesn't matter - we can *ignore* networks where we don't have this information12:15
voidspacedimitern: so it's one-to-one where we care12:15
dimiternvoidspace, that's correct I think and it is reasonable - if maas is not managing dhcp/static ips for that net using the net's corresponding NGI then we don't care12:16
dimiternyeah I think so12:16
voidspacedimitern: cool, thanks12:16
dimiternvoidspace, I do have a few unmanaged vlans on my maas12:17
dimiternvoidspace, and despite being unmanaged (by maas) I can still use them for instance selection and then configure them (presumably) myself after maas gives me the node12:17
voidspaceright, but you wouldn't expect  juju to be able to use them12:18
voidspaceas they require manual configuration12:18
dimiternnot for allocating addresses via the maas api, no :)12:18
voidspacecool, good enough12:18
dimiternbut for constrains - yes12:18
voidspaceah, so you'll want Subnets to still return those networks just with nil for the AllocatableIPLow/High12:19
voidspacemeaning "no allocatable addresses"12:19
dimiternI think so12:19
voidspaceso I won't ignore them then12:20
voidspaceright, I'm going on lunch12:20
dimiterncheers12:20
dimitern:)12:20
perrito666is there anything like distcc for go?13:13
=== fuzzy_ is now known as Fuzai
wwitzel3ericsnow, perrito666: having some hangout issues15:00
perrito666hangout is love15:01
perrito666wwitzel3: ericsnow helps if we push this one hour?15:02
ericsnowperrito666, wwitzel3: fine with me15:04
perrito666ok, lets push it so wwitzel3 can solve his issue without hurrying15:05
wwitzel3perrito666: it is solved15:05
perrito666wow you are good15:05
wwitzel3but if you need to push it, that's fine :)15:05
perrito666nah, I am here anyway15:05
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
voidspacedimitern: ping15:37
dimiternvoidspace, pong15:38
alexisbwwitzel3, ping16:05
voidspacedimitern: ping16:05
voidspacedimitern: philosophical question16:06
voidspacedimitern: we've called the maas nodegroups api endpoint and got a list of nodegroups (uuids)16:06
voidspacedimitern: we now need to make a series of calls, fetching the nodegroup interfaces for each nodegroup16:06
voidspacedimitern: and pulling out of that the ip, static_range_low and static_range_high for each interface16:06
dimiternvoidspace, yeah16:07
voidspacedimitern: an individual call to fetch interfaces for a nodegroup can fail, as can pulling out the details from the result16:07
voidspacedimitern: in the presence of an error should we log and continue (my current approach) or error out?16:07
voidspacedimitern: the downside of logging and continuing is that even if *every call* errors we don't fail - we just return an empty map16:07
voidspacedimitern: the downside of erroring out is that the whole call would fail just for one missing bit of information16:08
voidspacedimitern: e.g. nodegroup deleted between fetching the list of nodegroups and querying the interfaces16:08
voidspaceas I said, my current approach is to log (as a Warning) and continue16:08
dimiternvoidspace, +1 on logging definitely16:09
dimiternvoidspace, but deciding whether to error out entirely or not at the end should be:16:10
dimiternvoidspace, if we gathered enough information, despite some errors -> ok, otherwise ... hmmm possibly wrap and return the (most important?) errors16:11
dimiternniemeyer, hey16:11
niemeyerdimitern: Heya16:11
voidspacebut knowing what's "enough" information or not is difficult :-)16:11
voidspaceif we fail to get the information, the result will be that we decide no networks have allocatable IP addresses16:12
dimiternniemeyer, any plans for fix for that issue with gopkg.in not supporting branches like "v2-dev"  (I'll try to find the issue #..)16:12
voidspacewhich is perhaps an odd error to end up with when it's a transient connection failure16:12
voidspaceI'll think about it16:12
wwitzel3alexisb: pong16:12
alexisbhey there wwitzel316:13
alexisbcan you please join #server16:13
dimiternvoidspace, we can have a chat tomorrow perhaps? it's getting late and harder for me to not being stupid :)16:13
voidspacedimitern: ok mate, you go16:13
voidspacedimitern: speak tomorrow16:13
voidspacedimitern: I've got more stuff to do now16:13
niemeyerdimitern: Yeah, I'll work on gopkg.in this week16:13
voidspaceit's an annoying little decision16:14
niemeyerdimitern: There are a couple of things to improve there16:14
voidspacedimitern: the trick is to pick the "less wrong" answer...16:14
niemeyerdimitern: The source code linking is also coming16:14
dimiternvoidspace, cheers, I'm sure you'll find a nice way to solve it :)16:14
dimiternniemeyer, nice!16:14
dimiternniemeyer, but now it seems you can't import "gopkg.in/amz.v2-dev/ec2" - perhaps I should rename that branch to v2?16:15
dimiternniemeyer, until the changes happen?16:15
niemeyerdimitern: Please don't do that.. let me fix the problem16:16
dimiternniemeyer, ok, no problem - I wanted to ask first16:16
niemeyerdimitern: For the time being, just do a "git clone" locally to the right location16:16
dimiternniemeyer, yeah, that'll work16:16
niemeyer(gopkg.in/amz.v2-dev/ec2)16:16
dimiternniemeyer, thanks!16:17
niemeyerdimitern: Labeling as v2 would be advertised as a new major available16:17
niemeyerdimitern: which means you should not change it further16:17
niemeyerdimitern: in incompatible ways16:17
niemeyerdimitern: Or is that what you intend to do in fact?16:17
dimiternniemeyer, yeah, fair point16:18
dimiternniemeyer, no, I intend for it to be stable at least for a while :)16:18
niemeyerdimitern: Clarifying the question: do you have further breaking changes to do on v2-dev soon?16:18
dimiternniemeyer, I have 2-3 PRs queued up which add new API methods, but don't break (hopefully) existing ones16:19
niemeyerdimitern: Well, so you can just rename it16:19
niemeyerdimitern: The point of -dev is to prevent people from using it while in a heavy development period, readying for the release16:20
niemeyerdimitern: It sounds like what you want is to release it16:20
dimiternniemeyer, yeah, fair point16:20
dimiternniemeyer, although it's safer to do a few more changes first as I need them anyway, and rename it once v2 is more or less stable16:21
dimiternand juju needs to use v216:21
dimiternniemeyer, we should have a call some time this week, if you don't mina and have the time to discuss the other goamz topics - contributors, merging the other forks, etc.16:23
niemeyerdimitern: Sounds good, but "stability in this case" is not "won't change", but "won't change in incompatible ways"16:24
niemeyerdimitern: Of course16:24
niemeyerdimitern: Will be a pleasure16:24
dimiternniemeyer, right, cheers!16:24
dimiternniemeyer, which of the coming days works for you? perhaps ~1h or less - also at what time?16:26
niemeyerdimitern: I suppose now is too late for you, right?16:28
niemeyerdimitern: I mean, at this time, different day16:28
dimiternniemeyer, yeah, tomorrow about this time is better for me - should I sent and invite then?16:28
niemeyerdimitern: +116:29
niemeyerdimitern: Oh, wait16:29
dimiternniemeyer, yeah?16:29
niemeyerdimitern: I have a 30mins slot at this time16:29
niemeyerdimitern: Feel free to start 30 mins earlier, or reduce the slot16:30
dimiternniemeyer, ok, so let's say 16 UTC tomorrow for 1h?16:30
niemeyerdimitern: Sounds good16:30
dimiternniemeyer, thanks, I'll send an invite then16:31
=== negronjl-afk is now known as negronjl
perrito666wwitzel3: ericsnow any volunteers to answer that last email?17:09
perrito666that was fast :p17:09
alexisbwwitzel3, you when the prize for fastest status reporting :)17:12
ericsnowalexisb: we still need to verify that networking is not required (only 1(?) existing provider implements it)17:12
wwitzel3alexisb: not sure I want the prize .. lol17:12
alexisbericsnow, same with storage?17:14
ericsnowalexisb: they all (or nearly) have storage implemented, but only because it was required for juju up until recently (yay axw)17:15
alexisbah ok ericsnow17:16
alexisbso ericsnow, wwitzel3 what do you guys need from me to help answer what is needed for storage and network support?17:17
ericsnowalexisb: the question came up as we jumped back in yesterday and I figured we'd just ask dimitern17:18
ericsnow(looks like I missed him though)17:19
ericsnowalexisb: I do think if we still want the networking stuff now it could wait until after we land the GCE provider17:20
ericsnowalexisb: as to storage, I'm pretty confident we don't need it; I'll follow up with axw tonight17:20
perrito666ericsnow: wwitzel3 alexisb I have a decent overlap with dimitern do you need me to tackle him and ask him something?17:21
ericsnowperrito666: feel free to ask him if networking needs to be implemented for the GCE provider (basically none of the other providers have it)17:22
wwitzel3ericsnow: patch is merged, I am going to try a manual fix that smoser suggested for testing purposes17:27
ericsnowwwitzel3: great!17:27
wwitzel3ericsnow: we have a regression17:33
ericsnowwwitzel3: :(17:34
wwitzel3ericsnow: with the root disk stuff in instance.go17:34
ericsnowwwitzel3: k17:34
wwitzel3ericsnow: http://paste.ubuntu.com/9683253/17:34
ericsnowwwitzel3: want to jump into the hangout?17:35
wwitzel3ericsnow: yep17:35
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: see calendar | Open critical bugs: None
=== kadams54 is now known as kadams54-away
perrito666is there a list for the possible agentconfig keys?=18:18
voidspaceg'night all18:34
wwitzel3nn voidspace18:34
voidspaceo/18:34
=== makyo_ is now known as Makyo
perrito666katco: I was really fearing that was a longer pr :p given the extensive description18:38
katcoperrito666: lol glad to disappoint in that regard :)18:38
katcoperrito666: i like to provide helpful commit messages if i can remember18:38
* katco goes to fix lunch18:40
=== kadams54 is now known as kadams54-away
thumpercherylj: got a few minutes now?20:37
cheryljthumper: yes20:38
thumperniemeyer: hey, you around?20:41
niemeyerthumper: Here20:58
thumpercmars: ping21:09
cmarsthumper, pong21:10
=== kadams54-away is now known as kadams54
thumpercmars: 'tis our weekly chat time21:10
cmarsthumper, ah right. joining21:10
katcofwereade: ping, 2015 style.21:15
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
wallyworld_alexisb: you free for our QA meeting?21:34
alexisbwallyworld_, no I have a conflict today21:34
wallyworld_ok21:35
=== kadams54 is now known as kadams54-away
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
menn0wallyworld_: just reviewed http://reviews.vapour.ws/r/678/22:46
menn0wallyworld_: just a few questions22:46
wallyworld_\o/ tyvm22:46
wallyworld_having breakfast, will look soon22:47
menn0wallyworld_, thumper: there's PR with fixes for the cloudsigma provider up for review. is anyone sheparding that work or should I review it?22:48
thumpermenn0: I think there is someone sheparding it, but I don't recall who22:49
wallyworld_ditto22:49
menn0jam?22:49
wallyworld_wayne maybe22:49
menn0i'll ask them22:50
perrito666menn0: thumper its wayne22:50
thumperperrito666: ta22:50
menn0perrito666: thanks22:50
* menn0 is glad to dodgy that large review22:50
* perrito666 returned from EOD mode just for that, bye folks22:50
menn0dodge even22:50
menn0perrito666: good night22:50
=== kadams54 is now known as kadams54-away

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