[00:00] anastasiamac: yes [00:00] anastasiamac: we are moving everything that way [00:01] thumper: i know of one level of super commands [00:01] thumper: e.g. juju machine add [00:01] thumper: could u point me to an example with 2 level super [00:01] thumper: ? [00:02] well, juju is a super, so juju machine is super of super [00:02] which is what I thought you ment [00:03] thumper: i want (! :-D) `juju <1-super command> <2-super command> subcommand [00:03] thumper: juju storage volume list [00:03] thumper: params and options after `list` [00:03] thumper: possible? [00:05] sure, don't see why not [00:20] menn0: is there a reason that the StateSuite doesn't have a factory? [00:20] * thumper wants one there [00:25] * thumper adds one and runs all the tests [00:50] menn0: thanks very much for wading through all that code [00:57] axw: no worries. It was all pretty easy to follow so thanks for writing clear code. [00:58] thumper: there was a reason I didn't add the factory to state suite but that reason might not be valid now [00:58] thumper: I think it was due to circular imports in some places [00:58] menn0: everything passes with me adding one [00:58] so I'll keep it there :) [00:59] thumper: yeah, I think that i rearranged things so it wasn't a problem [00:59] menn0: slowly working my way through all this crap [00:59] thumper: certainly happy to have the factory there [00:59] wallyworld_: hey [00:59] yo [00:59] wallyworld_: I have some questions about the image cache thing [00:59] got 5 minutes for a hangout? [00:59] shoot [00:59] sure [00:59] thumper: maybe change the various StateSuite users that are creating their own factory to use the one from StateSuite? [01:00] menn0: maybe... :) [01:00] wallyworld_: just use our 11! hangout [01:00] 1:1 [01:01] thumper: there aren't many :) [01:05] wallyworld_: i'm in the hangout early if you want to chat [01:05] katco: just talking to tim. be there soon [01:05] wallyworld_: no worries [01:07] wallyworld_: although... [01:07] wallyworld_: any reason we should server /images from the root of the API? [01:07] oh... [01:08] s'ok [01:08] I know [01:08] ok [01:08] before the patch I landed just the other day [01:08] all agents would come in to the root [01:08] nm [01:08] all good [01:50] um... [01:50] wallyworld_: [01:50] wallyworld_: the image stuff isn't being used yet is it? [01:51] thumper: otp. sec [01:51] wallyworld_: because before two days ago, none of the agents would have been able to access the api [01:53] thumper: it worked for me [01:53] i tested live with local and ec2 [01:53] ?? [01:53] it doesn't work on upgraded environments because of the cert issue [01:54] but a fresh trunk install worked [01:54] oh... I know why... but it is truly horrid [01:54] you were serving the following url: [01:54] thumper: what happens from the node is that wget is used [01:54] /environment//images/... [01:54] it nakes a https get call [01:54] with an empty :envuuid [01:55] ah could be, can't recall now [01:55] it is [01:55] * thumper tweaks [01:55] ok :-) [02:09] wallyworld_: can you please review my responses to your comments when you're free? [02:09] axw: sure, i'll just finish this current review [02:38] menn0: that's the rest of the apiserver fixed [02:38] * thumper writes the merge description [02:44] menn0: http://reviews.vapour.ws/r/776/ [02:45] thumper: looking [02:49] axw: just a question about machine vs machineid for index [02:49] i'm not sure why not machineid [02:53] wallyworld_: I can change both to machineid now, I was thinking of doing that anyway [02:53] stupid freenode :0( [02:53] ok, machineid sounds good [02:54] wallyworld_: I'll change storageinstance to storageinstanceid too ? [02:54] i think so please, is consistent and arguably more accurate [03:02] wallyworld_: fixed [03:02] ty [03:02] land that sucker [03:02] cool [03:03] axw: man! every time wallyworld_ reviews something that i've already reviewed he always find a bunch of good stuff I didn't notice :) [03:04] menn0: well, this is an area where our team knows the domain a bit better [03:04] menn0: that's cool, you raised good points too :) [03:05] wallyworld_: I suspect domain knowledge is part of it, but also that you're really good at reviewing [03:05] sometimes, i miss stuff myself [03:06] especially when i'm trying to race through 3 big reviews this morning :-) === lp|outy5000 is now known as lazyPower [03:30] axw: when you had time, could we have a hangout about the registry? [03:32] wallyworld_: sure, now's fine [03:32] see you in 1:1 [03:33] wallyworld_: axw: would i be intruding if i joined? [03:33] course not [03:33] katco: fine by me, let's make it standup then [03:33] cool, tanzanite? [03:33] yep, I'm there === kadams54 is now known as kadams54-away [03:38] thumper: so you didn't end up using StateSuite in this PR, even though you added Factory to it? [03:39] menn0: I forgot to add the utils_test.go file [03:39] just pushed it up [03:39] sorry [03:41] thumper: no worries [03:43] thumper: review done [03:44] menn0: ta === kadams54-away is now known as kadams54 [04:22] * thumper waits to see if this branch will merge or not [04:22] ... [04:23] it has been about 13 minutes... [04:23] should be done soon [04:29] * thumper sighs [04:29] another intermittent test failure [04:32] bug 1413067 if anyone wants to fix it... [04:32] Bug #1413067: Intermittent test failure FilterSuite.TestConfigAndAddressEventsDiscarded [04:55] axw: sadly, doing this: VolumeSource(environs.Environ, *Config) (VolumeSource, error) - creates an import loop as apiserver/params references back to storage [04:56] wallyworld_: how about just *environs/config.Config [04:56] wallyworld_: alternatively we could duplicate the storage structures in apiserver/params ... [04:56] i was leaning towards the latter [04:57] but hadn't considered the former [04:57] less work right now to do the former [04:58] wallyworld_: I'm fine with either. we'll probably want to duplicate eventually, but it can wait [04:59] yeah [05:09] wallyworld_: axw: if u putting some things in apiserver/params [05:10] axw: wallyworld_: i'd like to know... [05:10] axw: wallyworld_::D [05:10] anastasiamac: nothing at the moment [05:10] wallyworld_: \o/ === kadams54 is now known as kadams54-away [07:04] axw: no rush. when you get a chance, http://reviews.vapour.ws/r/777/. [07:25] morning all [07:28] o/ [07:44] hey everyone, fwereade just texted me to let you know he has problems with the internet connection [07:44] he's not sure when he'll be back online, but working on it [09:28] axw: i have another branch ready to land once the registry one goes in - it sets up registration of default pools and provides the skeleton loop volume source for katherine [09:28] wallyworld_: sweet. sorry, I'll take a look now. been trying to plough through the formatter [09:28] np [09:32] wallyworld_: why do we need to record a default storage provider if we're also going to have default pools? [09:33] pool tells you what the provider type is, so... seems redundant [09:33] axw: good question, i don't think we do [09:33] ok [09:33] i'll remove the default business [09:34] i'll make it record pool name instead [09:40] wallyworld_: reviewed [09:40] ty [09:41] ah, I think you updated while I was looking... [09:42] yeah [09:45] axw: IsProviderSupported - use case is when specifying pool name when deploying, get provider type from pool and then see if it is a valid type for the environment [09:45] wallyworld_: ok [09:46] wallyworld_: hmm. not sure it should be possible to create a pool that is invalid for the environment though... [09:46] that seems like asking for trouble [09:46] axw: true, so you'd use the check when creating [09:46] wallyworld_: true :) [09:47] sorry, i'm speaing conceptually :-) [09:47] speaking [09:47] sure, I get it - we still need it but in another spot [09:48] yeah. ok, so landing now, then i can propose the next one [09:52] wallyworld_, axw, PTAL http://reviews.vapour.ws/r/778/ - updates deps for goamz [09:52] dimitern: looking [09:52] dimitern: LGTM [09:52] that was a hard one [09:53] axw, thanks! :) [10:19] woop [10:19] wallyworld_: 2015-01-21 10:18:43 INFO juju.worker.diskformatter diskformatter.go:157 created filesystem on "/dev/xvdf1" [10:20] whoot :-) [10:20] no tests yet, but should be ready soonish [10:20] great [10:28] axw: this hopefully will allow katherine to get stuck into loop provider, plus there's the ability to register out of the box pools http://reviews.vapour.ws/r/779/. maybe take a look after you finish your fs one [10:29] wallyworld_: cool. I need to go get dinner on, should be able to take a look later on [10:29] ok, ty [10:32] morning [10:46] interesting [10:47] MaaS has an api call for getting mac addresses - it takes a mac address as a parameter [10:47] so given a mac address you can get the mac address back! [10:47] useful [10:48] lol [10:48] perrito666: o/ morning [11:03] voidspace, or for fun and games you can implement "guess my mac" game via the maas api :D [11:03] dimitern: hah, yeah - I hadn't thought of that [11:03] dimitern: I should implement that [11:07] *lol* [11:21] * perrito666 hates mornings [11:25] holy sh*t! need to reboot - uptime: 13:25:03 up 3:08, 2 users, load average: 21,34, 21,33, 21,13 [11:45] * dimitern needs to step out - back in ~1h === Tribaal_ is now known as Tribaal [12:50] dimitern: ping [12:51] dimitern: question, if a network interface is *not* associated with a network should I leave those details blank in the returned InterfaceInfo [12:51] dimitern: or should I skip that interface? [12:59] voidspace, hmm.. let me think [12:59] voidspace, leave them out - it's a possibly valid case for maas [13:01] dimitern: when you say "leave them out" [13:01] dimitern: which of my two options do you mean? [13:01] dimitern: as both options involve leaving something out... [13:01] and my mind reading skills are sadly lacking today I'm afraid :-( [13:02] although I could deduce that the use of "them" (plural) indicates leaving out the missing details, but leaving the interface [13:02] did I get it right? [13:02] *leaving the interface in [13:03] voidspace, :) ah, sorry - I meant keep the interfaces in the result, but leave the fields empty [13:03] dimitern: cool, will do [13:03] that's how I've coded it anyway as it happens :-) [13:03] voidspace, thanks! :) [13:04] gsamfira: bug 1398415 [13:04] Bug #1398415: TestAddRemoveSet fails intermittently [13:05] mgz: thanks! :) [13:05] try it again, maybe... fifth time... lucky? [13:07] right, lunch [13:08] so NetworkInterfaces is kinda done, just need to test it [13:08] which probably means extending the gomaasapi test server I bet... [13:08] :-/ [13:08] maybe not though [13:11] voidspace, enjoy! I'm mostly done with mine, so I'll help you if I can [13:18] dimitern: will do [13:18] dimitern: I'm wondering if the test server will support the "list_connected_macs" op and I'm assuming it probably won't... [13:19] dimitern: hopefully I'm wrong [13:19] mgz: worked on the 3rd :) [13:19] anyway, really going on lunch [13:22] voidspace, thankfully it does - I added it at some point - ConnectNodeToNetworkWithMACAddress() :) === axw_ is now known as axw [13:55] voidspace, menn0, katco (if around, as OCRs): please take a look http://reviews.vapour.ws/r/780/ [14:17] is anyone already using vivid here? [14:32] perrito666, I'm trying to [14:32] invalid series "vivid" [14:32] hmm [14:33] jamespage: I meant as a desktop :p [14:33] perrito666, well I'm doing that as well [14:33] I am thinking on moving to and fear to break my work env [14:36] * perrito666 tries to trigger update [15:07] perrito666, well I've been running vivid since a week into the cycle with systemd as default :-) [15:07] only minor niggles so far [15:07] well in 10mins 7s Ill tell you how well it works on my laptop :p [15:08] perrito666, awesome [15:09] * perrito666 prepares the tablet for the standup just in case is not all that awesome :p [15:12] ericsnow: I just finished the base tests for GetDisks and GetHardwareCharacteristics === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [15:39] wwitzel3: sweet! [15:40] katco: PTAL https://github.com/juju/testing/pull/48 [15:40] ericsnow: ty, will try and get to it. just preparing for a meeting [15:40] ericsnow: just wrapping up the last base test now [15:40] katco: no worries :) [15:40] wwitzel3: you rock! [15:40] ericsnow: wwitzel3: looking forward to reading through the GCE code [15:41] katco: best consumed one bite at a time ;) [15:41] * katco secretly uses Amazon's mechanical turk to farm out code reviews [15:42] katco: lol great idea [15:44] ericsnow: pushed === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [15:55] dimitern: have you actually done the live tests? [15:55] voidspace, still doing them :) and it turned out more stuff will be needed [15:55] dimitern: shall I review this PR as is, or wait? [15:55] voidspace, but even if it lands as is there won't be any harm [15:55] right, as it's not used yet... [15:56] voidspace, please do, i'll prepare follow-ups for what I found [15:57] voidspace, yes - not used yet, but once we start I found out some curious interactions between lxc-create, lxc-clone, and lxc-start wrt the generated lxc.conf [15:58] dimitern: ah right [15:58] sounds like fun [15:59] * perrito666 has an epyphany and suddenly fixes his computers external microphone [15:59] voidspace, :D that's an understatement [15:59] :-) [16:06] voidspace, so.. live tests on local at least show no regressions - bootstrapping on ec2 and maas now [16:08] voidspace, unfortunately all this is *not* enough to make the generated lxc conf take effect always [16:09] voidspace, e.g. with pre-existing lxc template (which is then cloned), with no template - getting/caching the template works fine, the config is there, but once you clone off that - no joy [16:09] yeah right, I wondered about cloning [16:09] voidspace, I was actually *quite* surprised lxc-clone does not allow you to pass new config [16:09] dimitern: doesn't it mean we have to stop cloning [16:10] voidspace, oh, no :) i'm not giving up so easy [16:10] haha, ok [16:10] voidspace, already have a couple of pointers how it might work [16:10] I just assumed we'd have to stop cloning [16:11] voidspace, the benefits of cloning are too great - mostly performance-wise, but also disk footprint (with snapshots) [16:11] right [16:11] so clone and then reconfigure [16:11] voidspace, yep, something like that - I have to consult the lxc guys though [16:14] wwitzel3: you laughed so you either where paying attention or became very good at the simulation thing [16:16] perrito666: :) [16:26] dimitern: container/lxc/lxc.go lines 605-618 [16:26] dimitern: why wouldn't the cidr already be in the expected format? [16:27] dimitern: and why couldn't you use ipNet.String() to produce it? [16:28] voidspace, it might be empty or invalid - I'm being extra cautions there [16:29] dimitern: can you adjust the comment to make it clear that you're just validating rather than actually changing format as the current comment implies [16:29] voidspace, good point about ipNet.String() - I can parse the cidr, then replace the ip part [16:29] yep [16:29] voidspace, ah, sure [16:29] ah, the IPV4Address needs to be a CIDR [16:30] so you want to take the mask from the cidr and append it to the address [16:30] voidspace, yeah [16:30] so you really are extracting the mask [16:30] now I understand [16:30] seems odd that you go from a CIDR to a CIDR, seemed unnecessary [16:30] makes more sense now [16:30] voidspace, I'd appreciate suggestions for better comments there :) [16:30] slightly more anyway [16:31] maybe - LXC expects the IPv4 address formatted as a CIDR (e.g. 1.2.3.4/5) [16:31] voidspace, i'm not sure whether the cidr will be like x.y.z.0/M or x.y.z.t/M [16:31] and then the rest of your comment makes sense (so extract the mask from the cidr [16:31] right [16:31] and you need the actual address, not the 0 [16:32] voidspace, I'd *expect* it to have 0-s at the end, but then that's not really a hard rule it seems [16:32] voidspace, yeah [16:38] dimitern: it all looks good, including the tests [16:38] dimitern: modulo the fact that it doesn't actually work... [16:39] voidspace, not yet at least :/ [16:39] sure [16:39] a good basis to iterate on [16:39] voidspace, cheers! live tests just finished ok on maas, ec2, and local [16:42] cool [16:45] voidspace, thanks! no suggestions at all? :) [16:47] dimitern: well only the comment change [16:47] dimitern: you're taking a new parameter and rendering text templates from them [16:47] dimitern: it's not rocket science [16:48] voidspace, ok, will change to clarify about the cidr [16:58] voidspace, i'll step away for a while now, but will have a look a bit later [16:58] dimitern: ok chap, see you later [16:58] dimitern: have a good evening. [16:59] voidspace, you too :) [17:54] I have a very redundant method which I've now defined three times in different packages. (it inserts new values in maps at arbitrary keys.) Is there a common place such things should go? === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [18:47] g'night all [18:47] nite [18:47] EOD [18:47] bodie_: juju/utils === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [19:26] natefinch, can you ask someone to look into bug 1413245 found in rc1? I think I identified the issue with vivd [19:26] Bug #1413245: 1.21-rc1 does not support vivid [19:26] vivid [19:29] sinzui: ok === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [20:14] sinzui, is systemd on by default on vivid? [20:14] * sinzui looks at his instance [20:15] * perrito666 notices he would not know how to figure that out [20:15] alexisb, yes it is there [20:15] sinzui: how do you tell/ [20:15] ? [20:15] then juju wont support it without tweaking until 1.23 [20:16] perrito666, apt-cache policy systemd shows it was installed [20:16] perrito666, and I can see most of the system is using upstart still [20:16] sinzui: says the same for upstart [20:19] perrito666, I can see a lot installed /etc/systemd on my instance has only a few core services in it === alexisb is now known as alexisb_bbl [20:21] o/ [20:22] thumper: morning [20:24] hey hey thumper === abentley_ is now known as abentley === kadams54 is now known as kadams54-away === kadams54-away is now known as kadams54 [21:24] hi there [21:37] thumper: so to open an API connection for another env I take the agent's APIInfo, set a new environ UUID in it and pass that to api.Open? [21:56] menn0: not quite [21:56] well... hmm... [21:56] ghit [21:56] shit [21:56] menn0: we need to talk [21:57] thumper: yeah we do. i'm seeing other things that worry me. [21:57] standup hangout? [21:57] standup hangout? [21:57] snap === kadams54 is now known as kadams54-away [22:18] menn0: heh, just noticed that we pretty much ignore bad credentials [22:19] menn0: that is pretty bad [22:19] * thumper writes a test... [22:21] oh good, it does fail [22:21] * thumper reads more to work out why he thought it didn't [22:22] * thumper misread != as == [22:22] thumper: :) [22:52] should I worry too much? godeps: cannot update "...github.com/juju/names": fatal: reference is not a tree: f2761fa05db34fb5b4ceb44721a067ffd22d5956 [22:53] anastasiamac: i've never looked too much into why that happens; i just do a go get -u and re-run godeps [22:54] menn0: do you know off the top of your head if the JujuConnSuite has a machine in it by default? [22:55] katco: thnx! [22:56] katco: i've ran go get -u github.com/juju/names [22:56] katco: then godeps [22:56] katco: but it still has the same issue [22:56] make godeps [22:56] anastasiamac: do this... [22:56] thumper: make godeps? [22:56] in the juju/names tree [22:56] git checkout master [22:56] anastasiamac: I ran into that when my origin was my own fork of the repo [22:56] git branch -u upstream/master [22:57] ah [22:57] anastasiamac: then the default will work [22:57] ty thumper [22:57] anastasiamac: I added make godeps when I got sick of it not working [22:57] you need to make sure you have an environment variable set [22:57] nice [22:57] export JUJU_MAKE_GODEPS=true [22:58] then 'make check' does godeps first, then runs all the tests [22:58] thumper: sorry I don't know ... haven't used JujuConnSuite much [22:58] anastasiamac: the git commands are assuming you have origin set to your repo, and upstream set to the juju repo [22:58] menn0: nm [22:58] menn0: I'll find out :) [23:02] katco: j4w: thnx for ur help!!! [23:02] anastasiamac: yw :) [23:02] thumper: I have the provisioner worker under EnvWorkerManager [23:02] thumper: u r awesome -all works :D [23:03] thumper: but man do I have a lot of XXX's in this branch [23:03] menn0: heh [23:03] menn0: I have the check creds bit done, just writing extra tests now [23:04] thumper: cool [23:04] jw4: katco: u r awesome 2 - m astonished with fast response. [23:04] anastasiamac: lol [23:05] menn0: u have XXX's in the branch?.. [23:06] thumper: 3 line review please for 1.21 release http://reviews.vapour.ws/r/783/ [23:07] * thumper looks [23:07] done [23:07] tyvm [23:08] * thumper interrupts current branch for a different one [23:30] menn0: I have a branch I'm just proposing that has factory.MakeMachine return the password so we don't have to keep making known ones in tests when we need to know what it is [23:30] just running all the tests now === alexisb_bbl is now known as alexisb [23:37] menn0: http://reviews.vapour.ws/r/784/ [23:37] or wallyworld_ [23:38] * thumper goes to lunch [23:38] thumper, wallyworld_ is busy for the next hour [23:49] thumper: looking [23:56] wallyworld_, alexisb, thumper, oil reported bug 1413424 we need to understand why they cannot use rc1 [23:56] Bug #1413424: ERROR failed to bootstrap environment: cannot start bootstrap instance: no matching tools available [23:56] sinzui: on a call with alexisb, will talk soon [23:58] menn0: all tests pass [23:59] thumper: review done [23:59] menn0: ta [23:59] thumper: I've suggested another approach but I'm not wedded to it. [23:59] hmm...