[02:00] menn0: can I run something by you? [02:00] sure [02:07] davecheney: around? [02:09] thumper: i am not, queens birthday today [02:09] davecheney: ah, that's right [02:09] davecheney: that'll explain it :) [02:09] nm [02:09] see you tomorrow [02:09] kk [02:10] davecheney: you ozzies doing it a week after nz confuses me [02:10] it's almost as if you don't like doing stuff with us [02:10] :-) [03:00] thumper: 1:1 ? [03:00] yeah [03:02] waigani: I'm in the hangout [03:02] thumper: trying to logon - network is being annoying [03:02] heh [03:50] is there a way to check if a string contains a substring in the tests? c.Assert(stringVar, gc.MAGIC, subStringVar) [03:51] jc.Contains :) [04:01] * thumper wrote that... [04:01] waigani: also jc.HasPrefix and jc.HasSuffix [04:02] ah nice [04:12] axw: do you have a different queens birthday too? [04:14] thumper: we do indeed [04:14] 29 September [04:15] geez, how many birthdays does a queen gt? [04:15] get [04:23] haha [04:34] man, before my long weekend I had 18 unread .. now 163 (after filters) .. awesome. [04:44] wwitzel3: yep, just been there [04:56] waigani: yeah, calling it a night and will have to tackle the rest in the monring [05:03] wwitzel3: the rest + 100 more ;) === vladk|offline is now known as vladk [06:59] morning dimitern [07:00] morning jam, brt [07:34] mornin' all [07:34] hey rogpeppe [07:41] dimitern: hiya === bodie_ is now known as Guest29235 [08:51] morning all [08:55] morning voidspace [08:57] dimitern: o/ === bodie__ is now known as bodie_ === bodie_ is now known as Guest28279 === vladk is now known as vladk|offline === vladk|offline is now known as vladk [09:35] hello o/ [10:01] morning all [10:02] natefinch: morning, be there in just a sec [10:03] it's funny, I got a notification that the meeting was now, but on my calendar it still says it's in 2 hours. === bodie__ is now known as bodie_ === bodie_ is now known as Guest89303 [10:10] natefinch: morningg [10:12] wwitzel3: morning [10:18] voidspace: morning, how's it going? [10:26] wwitzel3: not bad, you have a good weekend? [10:31] voidspace: yeah, good, but very busy [10:33] wwitzel3: did you go look at the house? [10:33] voidspace: we did, sadly the old 1914 place is ruled out, the land didn't really work for our needs. [10:34] shame [10:34] wwitzel3: did you see any other places whilst you were out there? [10:35] voidspace: yeah, we viewed 12 and of those 2 stayed on the list. [10:38] wow [10:39] you were busy! [10:39] wwitzel3: is this places to buy? [10:40] natefinch: yep, in Raleigh [10:40] wwitzel3: nice [10:41] "in" Raleigh .. near there the two we still have on our list are 14 and 23 acres. [10:42] wwitzel3: awesome [10:44] natefinch: yeah, we are pretty excited to be getting out of FL, hopefully soon :) [10:45] dimitern: vladk: just finishing up a conversation, will be in standup soon [10:46] jam, sure, i'm ready [10:49] wwitzel3: what are you going to do with the land? [10:50] fwereade, will you join us for standup today? [10:50] wwitzel3: besides not need to worry about neighbors :) [10:51] natefinch: Jessa is going to run a CSA off it, we will probably do occasional farm to table dinner events, and Jessa also does event management / planning so she plans to setup a space for weddings, etc.. [10:53] wwitzel3: wow! That is awesome :) [10:54] wwitzel3: my 13 acres are mostly forest on a rocky hill, so finding space to plant stuff is a trick. [10:56] natefinch: yeah, that is actually why we ruled out some properties. [10:57] natefinch: fortunately we aren't really in a rush so we can be picky [11:00] wwitzel3: that's great. nice to be able to move wherever you want :) [11:00] natefinch: indeed [11:18] natefinch: ping [11:19] voidspace: howdy [11:19] natefinch: did we come to any conclusions on the backup implementation strategy and division of labour [11:20] natefinch: I suggested that instead of returning a URL to a backup we serve backup files through the api [11:20] natefinch: which would need a "fetch backup api call / command" [11:20] natefinch: there isn't a ticket for this yet [11:21] natefinch: I can add one, if we've decided this is what we want to do [11:21] voidspace: yeah, that would be good [11:22] natefinch: which parts of backup can be parallelised? [11:22] natefinch: you were fleshing out the api - do you have a branch with that in progress? === Ursinha-afk is now known as Ursinha [11:24] voidspace: yes, trying to get things to build so I can push it up [11:24] natefinch: cool [11:39] dammit git [11:40] made a branch on juju/juju not natefinch/juju :/ [11:42] morning folks [11:55] mgz: poke about test suite failures [11:55] jam: hey [11:55] https://github.com/juju/juju/pull/26 has failed 2 times with Bad Record MAC [11:55] in 2 different test cases [11:57] hm, I can't actually find an open bug for that [11:58] but it's not a new one [12:01] mgz: no, bad record MAC is thought to be an issue with upstream mongo + SSL/TLS [12:01] mgz: specifically: https://jira.mongodb.org/browse/SERVER-11807 [12:01] jam: I think I'll reinstate the auto-retry [12:02] mgz: I'm not particularly happy with "just rerun the test suites until they pass" approach to landing code. [12:02] yeah, it's pretty sucky [12:02] mgz: as a for-example, if this is being a problem, can we just run 99% of the test suite with TLS disabled? We don't actually need to encrypt our data to the local mongo db [12:03] (though I'd rather have tests that just don't need mongo at all for local testing) [12:03] ideally that [12:03] but... we've talked but not got as far as de-mongofying tests for a while [12:10] could someone re-re-read this and give me a LGTM? is just docs and already passed 2 rounds of gramatical review but a final one wold be nice [12:12] natefinch: did you manage to find out how to write a facade? [12:12] * voidspace lunches [12:13] perrito666: ish [12:13] rogpeppe1: any idea how to fix this? testing/environ.go:109: undefined: "github.com/juju/testing".FakeHomeSuite [12:14] natefinch: I am in the process of bash->go the actual backup logic, which is fairly short, then we can see how to stitch all together, sounds good to you? [12:15] natefinch: frankban just landed something that was talking about removing it [12:15] jam: I just needed to update juju/testing [12:15] jam: thought I'd just done that, but perhaps not [12:16] natefinch: ah, so it was failing in master, sure [12:16] I thought maybe you needed to crib an example from how he removed it [12:16] removed or moved [12:17] jam: nah... just merged from master and then my branch was broken [12:18] natefinch: yeah, I ran into that with the 6+ dependencies I had to go update [12:18] voidspace: when you get back, my backup api facade is at github.com/natefinch/juju on the backup-api branch under state/apiserver/backup [12:22] ok, thanks [12:22] * voidspace really leaves for lunch [12:29] natefinch: have you updated dependencies? [12:30] what do people think about moving testing/mgo.go into github.com/juju/testing? [12:31] the store tests need a mongo server to run against, so we need *some* code that starts mongod outside of core [12:31] but i'm swithering a bit about all the stuff that's really closely related to juju-core in there [12:32] for example the certificates - they really feel quite core-specific [12:33] i wonder if we made the certificates an argument to the testing functions, that might work ok and mean that we wouldn't need to move the cert code [12:33] anyway, gotta lunch now [12:39] fwereade: tx :) [12:50] wwitzel3, perrito666: today is Eric Snow's first day, I think he'll be coming on shortly... I'm unfortunately watching both my kids for a significant period of time this morning since my wife has to go to a doctor's appointment. If one of you could help him when he gets on to get set up, that would be awesome [12:51] natefinch: sure === Guest89303 is now known as bodie_ [13:15] morning all === rogpeppe1 is now known as rogpeppe [13:22] natefinch: have you seen anything wrt 2014-06-09 12:35:57 INFO juju.worker runner.go:260 start "api" [13:22] panic: runtime error: invalid memory address or nil pointer dereference [13:28] upon startup, am getting a crash [13:28] 2014-06-09 12:35:57 INFO juju.cmd supercommand.go:301 running juju-1.19.2-precise-amd64 [gc] [13:28] 2014-06-09 12:35:57 INFO juju.cmd.jujud machine.go:151 machine agent machine-0 start (1.19.2-precise-amd64 [gc]) [13:28] 2014-06-09 12:35:57 DEBUG juju.agent agent.go:375 read agent config, format "1.18" [13:28] 2014-06-09 12:35:57 INFO juju.worker runner.go:260 start "api" [13:28] panic: runtime error: invalid memory address or nil pointer dereference [13:28] [signal 0xb code=0x1 addr=0x0 pc=0x4643b2] [13:28] can anybody give me a hand figuring out what is wrong? [13:31] lazyPower: ouch [13:31] natefinch: yeah, as you can see that originated from Kiko [13:31] I'm at a loss as to why it would be having memory pointer dereferencing issues [13:32] i thought go used garbage collection so memory management wasn't a thing. but I really dont know much about Go so i'm not much help [13:32] lazyPower: there's still pointers, which can be nil, and if you try to dereference the pointer, it'll panic like that [13:33] yikes [13:33] lazyPower: go just ensures you get a traceback/panic rather than undefined operation on whatever memory you happen to be pointing to [13:35] it's also not as big a problem in Go as in some other languages, because most of the time you return both a pointer and an error, and if there's an error, you don't use the pointer. it's a lot more obvious than in other languages where you might just do "GetFoo().Method()" or similar, and forget that GetFoo() might occasionally return a null pointer [13:35] natefinch: re: Eric's first day, no problem [13:35] wwitzel3: thanks [13:36] ok so we have no clue was to why kiko's deployment is panicing after a server reboot? [13:36] I find that if I wrote code that has a nil dereference, it means that I need to put in checks for a nil value and they'll tell me where things are going wrong [13:36] lazyPower, well, actually, it was a server reboot + juju client upgrade from 1.18.3 to 1.18.4 [13:36] unfortunately because of other bugs (in upgrade-juju), our jujuds are all 1.19 [13:38] so, it seems likely that it's related to upgrading to 1.19 when it wasn't supposed to.... but it's hard to know. Do you have the full stack trace from the panic? [13:40] jam: yeah, that's the nice thing about Go's values always getting initialized to their zero value... pointers start out nil, not pointing at random spots in memory. [13:42] So, totally unrelated to anything else.... we just hatched our own chickens for the first time this morning.... like, toss some fertilized eggs under a chicken, wait 3 weeks, bam, baby chicks. It's kind of amazing. [13:43] natefinch: wwitzel3 voidspace what would be really nice is to know eric's irc nickname [13:43] :p [13:43] natefinch, yes, just a second [13:43] perrito666: heh, I don't know I'm afraid [13:43] perrito666: when he tells us, we'll let you know [13:44] perrito666: I thought it was ericsnow though... [13:44] natefinch, http://paste.ubuntu.com/7618160/ [13:46] when someone has a spare minute to look at my pseudo-PR here -- I'm thinking about whether we should be using markdown in our doc now [13:46] https://github.com/juju/juju/pull/46 [13:46] just want to get some feedback so I know whether I'm barking up the wrong tree :) [13:47] bodie_: I, actually, github picks it up and renders it, which is nice [13:47] yup, it's very nice [13:49] There's also a [tag:asdf] tag which I think links to another piece of github but I'm not certain how to make it work === ev_ is now known as ev [13:50] but, it could be used for example as [tag:newbies] or something -- linking to a sticky post for newcomers -- etc [13:50] grabbing coffee [13:51] maybe a coupla minutes late to standup [13:51] grabbing a hangout compatible computer [13:55] kiko: so the traceback you pasted says that the agent is missing the "*api.Info" it needs to actually connect to the API [13:55] so you can look for a /var/lib/juju/agents/machine-?/agent.conf file [13:56] offhand, I don't know how that would happen, given it is a pretty vital piece of information [13:56] jam, well, the machine-0/agent.conf file is in ~/.juju/local [13:57] jam, it contains apiaddresses, apipassword and apiport [13:58] hm... I think my upstream is failing tests too [14:01] voidspace, perrito666, wwitzel3: I think I have to miss the standup today. My wife is leaving right now, so I gotta watch the kids. I'll try to pop back in off and on. Try to coordinate amongst yourselves if someone doesn't have something to do [14:01] take care natefinch [14:03] jam, the permissions had it originally only readable by root, but I chowned it to juju [14:03] unfortunately I still get the same traceback [14:03] jam, what am I missing explicitly? [14:04] kiko: still digging into the traceback, I had to pull out the 1.19.2 source code and find the exact line, because it actually looks like we don't have a config object at all, but I can't figure out from tracing various paths how that object could be nil [14:04] jam, could it be the file could not be opened? [14:04] jam, because I remember being told that there was a permissions change [14:04] voidspace: whenever you want, wwitzel3 and I are on the call [14:04] kiko: the agent on machine-0 runs as root, so you can't stop it from opening anything [14:04] http://paste.ubuntu.com/7618248/ [14:05] jam, I see -- what about the location where the file is? [14:05] jam, it used to be in /var/lib/juju indeed, but I was told to move it to ~/.juju/local [14:05] "not okForStorage"? [14:06] "cannot update uploaded charm in state" -- is this because I've altered the contents of my testing/repo/quantal/dummy charm? [14:06] jam, moving it back makes no difference though either [14:06] kiko: hm. I hadn't heard of that, as for location, I would have thought it would fail far earlier with: [14:07] if err := a.ReadConfig(a.Tag()); err != nil { [14:07] return fmt.Errorf("cannot read agent configuration: %v", err) [14:07] } [14:07] jam, yeah, that sounds right [14:09] kiko: if it isn't in /var/lib/juju then I would expect your /etc/init/juju...conf upstart file will be passing a "--data-dir=" that would tell us where that file should be. Not that I think that must be the problem, because I *think* you would see a different error. [14:09] kiko: so... another thought. There is another pointer in there "apiDetails" [14:09] just a sec [14:11] kiko: is there a line in there called "APIAddresses" ? [14:11] in the agent.conf file? [14:11] jam, it contains apiaddresses, apipassword and apiport [14:11] one sec [14:11] yeah, I just found that in traceback [14:12] if len(configParams.APIAddresses) > 0 { [14:12] config.apiDetails = &connectionDetails{ [14:12] addresses: configParams.APIAddresses, [14:12] } [14:12] } [14:12] so it has to have contents as well [14:12] it should be a list [14:13] mine looks like this: [14:13] piaddresses: [14:13] - 10.0.3.1:17070 [14:13] well, with an 'a' there [14:14] so it wraps to the next line and has a list that starts with "- " [14:14] jam, my file is here: http://paste.ubuntu.com/7618297/ [14:14] kiko: there is no apiaddresses in that file [14:15] kiko: my suggestion, is to put one in with "apiaddresses:\n- localhost:17070\n" [14:15] hmm [14:17] jam, my file also missing a sharedsecret entry [14:17] jam (am comparing it with a freshly bootstrapped 1.18) [14:18] jam, it runs [14:18] jam, was that not required pre-1.18.4? [14:19] kiko: both were introduced in 1.19 [14:19] jam, I see [14:19] jam, and I guess the upgrade isn't being done properly? [14:20] jam, is the lack of sharedsecret going to be a problem, and if so, how do I get one [14:20] kiko: upgrades *to* dev versions aren't really supported, I'm really unclear how it actually triggered. [14:20] jam, it's another bug I filed, let me find it [14:20] kiko: it is a random string used for when you're going into HA/--replicaSet mode. [14:21] jam, I see, so not that important [14:22] jam, https://bugs.launchpad.net/juju-core/+bug/1325034 [14:22] <_mup_> Bug #1325034: juju upgrade-juju on 1.18.3 upgraded my agents to 1.19.2 [14:22] kiko: so *if* all upgrade steps were run, then we might need to be passing it to mongo, since *none* of them run, we don't actually need it. If we do, we can just put random data in there. [14:22] kiko: so as I understand it, the upgrade logic is pinned on "stable" versions, so it says "oh you are upgrading from version 1.OLD to 1.NEW, I'll run these steps" but those steps are targetted at the "next stable" release, which would have been 1.20. [14:22] since 1.19.2 isn't 1.20, nothing gets run [14:22] wallyworld knows more about the upgrade logic than I do, though. [14:22] yeah [14:22] all my agents are missing apiaddresses entries [14:22] shucks [14:23] kiko: so the ones that aren't machine-0 need machine-0's address [14:23] jam, they are all tracebacking identically, yeah [14:24] kiko: sure, I just wanted to be clear that they shouldn't have "localhost" in there [14:24] ah [14:25] kiko: do you know where you got 1.18.3 from? ppa:juju/stable? (it doesn't seem to be in cloud-archive:tools or Trusty archive because of problems landing updates in utopic) [14:25] jam: yes, that's where it came from originally [14:25] jam: I have the debs here if it helps, because I couldn't find them anywhere today either [14:27] kiko: yeah, ppa's don't keep history so there is only 1.18.4 there now. [14:27] anyway, I'm way past EOD and have to make dinner for my son, hopefully we've moved you forward a bit, and I'll try to follow up with other people. [14:27] natefinch: ^^ can you help kiko if he needs anything else? [14:28] thanks jam [14:28] jam: I'll do what I can. I'm a little distracted by two kids, but I hope I;ll be able to help [14:29] heh [14:32] sinzui: have you seen any problems upgrading from 1.18.3? looks like kiko got upgraded to 1.19.2 somehow, and it seems to have messed up his environment [14:33] natefinch, I have never seen that issue [14:35] yeah, it messed it us great === makyo_ is now known as Makyo [15:16] welcome jheroux ! [15:16] fancy seeing you here [15:16] jam, vladk, fwereade, others? - a mostly automatic refactoring to move network-related stuff from instance to environ/network package, i'd appreciate a review https://github.com/juju/juju/pull/49 [15:17] anyone able to grok the difference between json-schema core and json-schema hyperschema? [15:18] I'm trying to write a mini validator that validates a hypothetical json-schema against the spec [15:18] I'm just not sure if I should be validating against json-schema or json-schema hyperschema [15:19] anyone else seen this log message "2014/06/09 16:19:30 http: TLS handshake error from 127.0.0.1:58318: tls: first record does not look like a TLS handshake" [15:20] bodie_: ha, let me just look at the description again. i *thought* i understood the difference once... [15:21] bodie_: from a naive reading of the description on the home page, json schema is what we need [15:22] it would make sense that hyperschema is the schema that defines json-schema itself [15:22] however, I don't think that's the case, or I'm just really confused, which is probably the case :) [15:24] bodie_: yeah, that's what i thought, but it doesn't look like it [15:25] bodie_: i guess that would actually be a "meta-schema" [15:25] some people get those words mixed up :P [15:25] bodie_: from the json schema home page: [15:25] JSON Schema describes your JSON data format [15:25] JSON Hyper-Schema turns your JSON data into hyper-text [15:25] ahhh [15:25] somehow missed that [15:25] thanks! [15:25] bodie_: the specs are not the clearest in the world [15:37] natefinch, fwereade do either of you have some work I'm able to pick up? [15:40] mattyw: not a ton for me right now. Wrangling a couple kids this morning, so can't do much right now. I can try to find something later today if you don't have anything else by then. [16:12] fwereade: i made a couple of improvements to the filetesting package. review appreciated: https://github.com/juju/testing/pull/14 [16:14] or anyone else, please: ^ [16:14] frankban, natefinch, bodie_, mgz: ^ [16:23] alexisb: hey, I've been been asked to look at OpenStack Heat & Juju - [16:24] jheroux, cool [16:24] we should schedule some time to meet [16:24] alexisb: sure [16:25] are you jheroux@us.ibm.com? [16:25] I don't fully understand all of the requirements yet, will be talking to SWG, and other IBM teams shortly [16:25] yup, that's me [16:25] I will start by inviting you to our weekly interlock [16:25] ok, makes sense [16:26] and then you and can meet 1x1 and I can give you some back ground [16:26] marcoceppi: for juju v.next documentation... should I propose against dev branch? [16:26] ok, I'll look for the invite [16:27] jcw4: we're going to be making a juju-docs repo soon, which has master being the dev, then each version of the release by branch (ie 1.18 branch, etc) it's just not there yet. Right now master is the stable version of the docs on the repo and dev is a bit behind [16:27] leave the mp as it is, I'll chat with nick about how soon we can get the new repo setup [16:27] cool thanks marcoceppi [16:45] is it possible to change the libjuju path from /var/lib/juju? [16:50] My juju seems to only launch containers for the bootstrap, for everything else they just get stuck on "pending", ideas? [17:09] jcastro: might be a bit late, but it's usually an LXC problem, rebooting may help, believe it or not [17:10] ugh [17:10] jcastro: you can try killing all lxc processes [17:10] jcastro: sometimes that'll do it [17:10] ok I'll give it a shot [17:14] right, I'm off to Krav Maga [17:14] g'night all [17:14] EOD [17:16] night voidspace [17:17] I would really love to take classes of one of these martial arts if it didn't involve social interaction [17:18] haha [17:19] I don't know, getting punched in the face isn't that social [17:19] natefinch: I think that the whole non punching time includes social interaction [17:25] perrito666: if you're not constantly punching or getting punched in the face, you're doing it wrong ;) [17:26] we call that public transportation here [17:26] lol nice [17:28] perrito666, the fun thing about most martial arts is that you only have to socially interact with other nerds. [17:28] MMA is probably the exception [17:29] bodie_: oh no, here nerds keep their place appointed by birth and are as physically unfit as possible [17:30] I guess it's the same catch-22 as going to the gym. I'm puny, so I don't go to the gym to stop being puny... haha [17:31] The only reason I get to have some fitness is because I was born in a ruralish town where you are forced to practice sports [17:31] but, generally speaking I've had good experiences with martial arts -- a good dojo teaches humility and mentorship -- so if people there aren't humble (especially the sensei), you're at the wrong dojo! [17:31] I think you'll find that most people at the gym will look at the puny guy or the fat guy or the old guy and think "Good for him! He's working to make himself more fit!" [17:32] :) [17:32] unless he's obama.. then they make fun of him to the whole internet. lol [17:32] I try to exercise on my own, I do a lot of biking [17:33] and recently a friend got me for my bd this step counting bracelet, which I find very fun and helpful [17:33] frankban: a slightly more substantial review for you: https://github.com/juju/utils/pull/2 [17:33] * lazyPower is always the fat guy at the gym [17:33] natefinch: fancy reviewing a recursive file copy implementation? [17:33] perrito666, you should check out beeminder -- they have an integration with those bracelets [17:33] natefinch: if so... https://github.com/juju/utils/pull/2 [17:33] + anyone else [17:34] rogpeppe: sure [17:41] rogpeppe: looks good! :) [17:45] rogpeppe: do we care about maintaining stuff like owner, last modified date, etc? [17:46] natefinch: nope [17:46] natefinch: i'm just interested in doing a rough substitute for cp -r [17:47] * rogpeppe is done for the day === alexisb is now known as alexisb_lunch [18:45] ericsnow: welcome! [18:46] hey ericsnow hi [18:46] hi there [18:48] * perrito666 finds the doc for tar.FileInfoHeader a bit confusing === hatch__ is now known as hatch [18:54] so I spammed the CDO list with an intro email, but it was waiting for moderator approval the last I checked [18:55] anyway, glad to be here [18:55] Glad to have you here. [18:56] ericsnow: I think you need to subscribe to that [18:56] perrito666 is Horacio, from Argentina (UTC-3 right now). mgz is Martin, from the UK. You evidently know wwitzel3. fwereade is William, the Juju architect, who is in the UK [18:57] ericsnow: welcome! [18:57] rogpeppe is Roger, also in the UK (there's a theme here....) [18:57] natefinch: interesting random slice of people [18:58] these are some of the juju devs that are online during normal daylight hours [18:58] I thought fwereade was in Malta :) [18:58] cool [18:58] jcw4: yes, I'm dumb [18:58] jcw4: I think malta is UK [18:58] isnt it? [18:59] republic of malta... [18:59] it's certainly not NEAR the UK. The politics may be different [18:59] oh I am like 60 year old in my info [18:59] lol [18:59] :D [19:01] perrito666: vivi en Buenos Aires 2 anos (hace 19 anos) [19:01] topical - countries the UK has NOT invaded: http://i.imgur.com/yKK2yrc.gif [19:02] natefinch: seems to be counting unsuccessful invasions too [19:02] perrito666: perhaps :) [19:02] ericsnow: you managed to escape on time :p [19:04] natefinch: and we wonder why engilish is the language of international business... [19:04] English even [19:04] (American notwithstanding) [19:04] indeed [19:05] I think I've signed up for all the right stuff, but if you see me missing from anyway, just let me know [19:05] s/anyway/anywhere/ === alexisb_lunch is now known as alexisb [19:07] jcw4: its a reasonable language for that, simple enough and lacks one of the things most people find confusing, which is having a gender for each object [19:07] welcome ericsnow ! [19:07] thanks [19:07] perrito666: +1 === hatch__ is now known as hatch [19:08] mgz: if the tests fail in CI, is it safe to push updates to the PR branch before it officially reports failure? [19:09] ericsnow, natefinch: I assume you guys are all set and don't need me fore anything atm [19:09] alexisb: as far as I am concerned, yeah' [19:09] alexisb: same here [19:10] cool, if that changes just ping me [19:12] what's the typical meeting schedule? [19:13] is there a team calendar somewhere? [19:16] yeah, there's a google calendar... can you get on canonical email? [19:18] yep [19:19] so.... I'll ping the the other team leads, since I don't have rights to add anyone to the team calendar... but there's a team calendar with our standups and weekly team meeting in it [19:19] cool [19:19] does it also include events (like sprints) [19:19] we have daily standups with our squads (a squad is just a small team in the larger juju core team) [19:20] got it [19:20] the sprints often get added to it by someone on the team, once we know when they are [19:21] but they're not added automatically or anything [19:23] ericsnow: you will get notified anyway [19:24] cool [19:24] we have a weekly meeting on ~thursday (it rotates by 8 hours within the UTC day, which means one of the rotations ends up with the meeting late Wednesday night for people in the US) [19:25] we have people all over the globe, so we started rotating the meeting so it wouldn't suck for the same people every week. But it means some of the time it might be really sucky.... we only really expect people to make 2/3 of the times (more is better, but we understand the meetings might be at like 3am for some people) [19:26] sounds good [19:28] having IRC up all day while you're working is a good idea... we use it for asking for reviews, asking for help, helping others that need help (both on juju-core and not) [19:29] #juju-dev is generally for people who write code for juju, #juju is for users of juju as well, so it's good to keep an eye out there, though the juju solutions and community guys are more responsible for fielding the easy questions, and will ping us if they have harder questions. [19:30] I'm on both [19:30] yep, good [19:30] sinzui is our intrepid QA-master who sets up our CI system [19:31] oh btw, huge help - at directory.canonical.com you can search for people by irc nickname [19:31] nivr [19:31] nice [19:32] so like, when you're thinking "Wait, who the hell is talking to me?" You can go find out pretty easily :) [19:34] we have a kanban board here: https://canonical.leankit.com/Boards/View/103148069#workflow-view if you can't log in there, we can figure out how to add you [19:34] are there any particular projects I should join on launchpad? [19:35] juju-core, definitely [19:35] am I supposed to have an account for that site? [19:35] yes [19:35] you can set one up yourself for the most part [19:36] That's a good thing to do right now if you haven't already [19:36] yeah, navigating that now [19:36] you'll want to give your account an ssh key, we actually use that for some stuff [19:37] (associated with your canonical email address) [19:37] k [19:38] I think most of that is on the hanbook and the getting started page, ericsnow make sure to read that one too as its more reliable than natefinch's memory [19:39] yep [19:39] did that this morning [19:39] ericsnow: so most likely you already added your pubkey everywhere [19:40] just about [19:46] am I missing something or is setting up an account for the Kanban site not trivial? [19:46] ericsnow: you have to have it setup for you [19:47] arosales: is a master of it ^ [19:47] ericsnow: email him a request with your email addr and wait a bit [19:47] that makes *much* more sense :) [19:47] not sure if alexisb has super powers or not [19:47] ericsnow: I can get you set up. [19:47] ericsnow: either someone does it for you or it was such a traumatic experience that I forgot how I did it [19:48] arosales: sweet! [19:48] rick_h_, I do not, I need to get super powers though as this is the second time it has come up and I havent been able to help[ [19:48] ericsnow: and welcome to the party [19:48] arosales, thank you for helping out [19:48] :) [19:48] alexisb: yea, I just keep pushing it to arosales until he gets fed up one day and makes me figure out how to get super powers [19:48] lol [19:48] or I can do that :) [19:49] works for me :) [19:49] arosales: you need my email? [19:52] do I also need to get put on any launchpad teams (e.g. "juju hackers")? [19:53] ericsnow: yep, hopefully if you get put into your squad team you'll get into most of what you need, though you'll have a bunch of mailing lists to sign up for [19:53] ericsnow: bug your team lead on that front [19:54] natefinch: ^ [19:54] just did :) [19:54] didn't realize I had been granted that power [19:54] ericsnow: natefinch and alexisb may have a few getting started tasks for you to run though that may fill a lot of your access needs [19:55] cool, thanks! [19:55] ericsnow: welcome to the Juju team :-) [19:55] ericsnow: you're the first person I've onboarded, and I've only been here 11 months, so bear with me ;) [19:55] :) [19:55] no worries [19:57] natefinch: you made a great onboarding :) [19:58] so, juju just moved from launchpad.net/juju-core to github.com/juju/juju .... and by just, I mean the switchover was.... Thursday. So things are still in a little bit of flux. The code will live on github, but we're using launchpad as the canonical place for bug tracking [19:59] so git instead of bzr? [19:59] yup [19:59] correct... there's still some packages that are on launchpad, which may get moved eventually but are not yet moved [19:59] stuff like the wrappers for MaaS, Azure, AWS, etc [20:00] ericsnow: the contributing doc on juju's git is quite good explaining the base setup [20:00] k [20:00] ericsnow: are you running ubuntu? [20:00] sort of [20:00] :) [20:00] heh [20:00] VM? [20:00] I have a headless box running 12.04 [20:00] oh right, you said that [20:01] laptop arriving tomorrow [20:01] ahh, ok [20:01] what laptop did you end up choosing? [20:01] rogpeppe: are you still around? [20:01] XPS 15 [20:01] moce [20:01] nice too [20:02] ok, so I think we'll skip setting up repos and stuff today, since we'd have to redo it tomorrow [20:02] :) [20:02] I forget, how's your Go? [20:02] natefinch: actually tar -cf - /* | ssh newbox tar -xf - [20:02] works like a charm [20:03] perrito666: yeah, I guess [20:03] perrito666: you end up having to set up git and bzr and all that though [20:03] it's new to me, but I've been reading up [20:03] ericsnow, welcome aboard [20:03] it's not too bad [20:03] thanks [20:04] ericsnow, in a spirit of pedantry I should point out that I live in malta [20:04] fwereade: someone else already pointed out my boneheaded mistake [20:04] natefinch: nah, I just actually ran that command for all the files on my home and got my whole setup moved :p [20:04] perrito666: I guess that's a good point [20:04] natefinch, as it happens malta is disturbingly similar to england anyway :) [20:05] fwereade: heh. Are you from there originally, or just like the weather? [20:06] natefinch, uk originally, moved here a while ago... will be 5 years in december actually [20:06] fwereade: sweet, I was only half wrong :) [20:06] :D [20:06] natefinch: if we where in 1963 you would have been fully right [20:06] ericsnow: have you gone through the tour of Go yet? It's a really useful intro to the language - http://tour.golang.org/#1 [20:06] perrito666: lol, finally looked it up on wikipedia huh? [20:07] yeah, did the tour last week [20:07] cool cool [20:07] natefinch: I looked up when you first said it [20:08] ericsnow: sweet, so you know the basics. And luckily, with Go, that's sorta all there is to it. Learning the Juju codebase is like 100 times as hard as learning Go :) Which is not to say the codebase is bad, there's just a lot to it. [20:09] * perrito666 looks at fwereade that is que cue for your doc/ line [20:09] my kind of code base :) [20:09] ericsnow, yeah, there is at least some good stuff in the doc/ directory [20:09] do you have Go installed? [20:10] we can go get the code so you can look at the docs etc... I guess it can't hurt to set things up a little bit :) [20:10] I'm set on go [20:11] cool cool, so just go get github.com/juju/juju/... [20:12] the path is actually a pattern match, if you put ... in the path, it's a wildcard. In this case it means get all the packages under github.com/juju/juju (you have to do it that way since the root package doesn't actually have code in it that pulls in all the rest of the code) [20:12] go get will get the code and all the code that it depends on and dump it in your gopath [20:13] natefinch: heh, I wish I had that clarification the first time I tried that, I thought ... was just abreviation for the rest of the path [20:14] perrito666: yeah..... took me a long time to figure out that you could do stuff like go test ./... [20:14] oh yeah, you need a GOPATH. I recommend $GOPATH=$HOME but you can put it wherever you want [20:15] in theory GOPATH can be a list of paths, but it's way easier just to use one [20:15] go-getting now... [20:15] it's a little slow because we imported the whole of juju history into github, so there's quite a bit of code to download [20:16] in the meantime what about reviews and CI? [20:17] ericsnow: you mean code reviews? [20:17] yeah [20:18] code reviews are explained in CONTRIBUTING with detail, I recommend you read those there, I can omit something If I try to tell you the process here [20:18] sure, so we do reviews for github stuff on github. You fork github.com/juju/juju, make your changes, submit a pull request, and then ping people on here to review it. Once someone gives you a LGTM, you put a comment with the text $$merge$$ and the merge bot will pull your branch and test it after merging it to main to make sure the tests pass, then it'll merge it automatically into main [20:19] * perrito666 was trying to avoid that ^^ clutter [20:19] got it [20:19] :) [20:19] heh [20:20] generally the idea with reviews is that the reviewer is careful about when to give LGTM. They'll only give it if they mean it. If they give it *and* give you something to fix, it means "these are minor fixes that I trust you can make, and after that, go ahead and merge" === vladk is now known as vladk|offline [20:21] often times people will say something like "this looks ok, but you should have someone else look over it". [20:22] sounds right (good practice in my experience) [20:22] yep [20:23] we review every last commit. Tests are important. We don't really check coverage, but you generally need tests for any new functionality, and preferably for fixes to old functionality (if the old tests didn't catch the bug you fix) [20:25] ericsnow: CI is at http://juju-ci.vapour.ws:8080/ [20:30] fyi, I have to run in a half hour on the dot [20:37] man, we need to put the dependency management stuff way at the top of CONTRIBUTING [20:38] natefinch: you could actually add a "read this to the end" [20:39] no, because it should be in chronological order [20:41] heh "you might be wondering why the above steps did not work" [20:41] I'm fixing it [20:43] mm if I want the leading slashes removal from the header names on a tar file created with go's tar I should do it by hand on the Name of the file's header, right? [20:48] okay, I'm going to work my way through the readme and contributing docs [20:51] perrito666: I have no idea what you're talking about :) [20:51] ericsnow: cool, I just updated the contributing doc a little [20:52] natefinch: mmm, I am trying to tar -cf blah.tar /etc/something/file.conf which will remove the leading / [20:52] so untar that blah.tar will yield etc/something/file.conf [20:53] but I am doing that in go, and i am not sure how the spec of that goes [20:53] thumper: this is ericsnow, he's new. He's a couple hours behind me, so I gotta run, but he may have more questions [20:54] o/ ericsnow [20:54] natefinch: ack [20:54] howdy [20:54] welcome ericsnow! [20:54] thanks Nate [20:54] ericsnow: thumper is one of our team leads, in New Zealand [20:54] cold wet and rainy NZ at the moment [20:56] jcastro is uhh... what is your title? Cloud Community Liaison? Man, there's a BS title if I ever heard one ;) [20:56] jcastro basically does a little bit of everything and tries to make sure people love us [20:57] which is sometimes a tough job ;) [20:57] :) [20:57] ok, I gotta run... have fun everyone. ericsnow, I'm usually on pretty early [20:57] k [20:57] but get on whenever is convenient for you [20:57] ericsnow: what is your timezone? [20:58] -0600 [20:58] MST? [20:58] mountain time [20:58] k [20:58] well, MDT right now :) [20:58] mountain time just sounds cool [20:58] I *always* get confused with that [20:58] ok, really going [20:58] we all do :) [20:59] ericsnow: FYI, NZ is UTC+12 [20:59] got it [21:00] ericsnow: you are then 3 hs after me i thin [21:00] think [21:00] ericsnow: what time is it there :p [21:00] 15:00 [21:01] mramm: hey there, we have a scheduled meeting, are you around? [21:01] yep [21:02] on my way [21:02] just finishing up with alexis/antonio/rick [21:02] ack [21:04] ok, is the standup time something you can reach? [21:04] that would be 8AM for you [21:08] should I expect to see errors when running "go install github.com/juju/juju/..."? [21:08] I see a bunch of "not a package file" and a couple "undefined:" in go.crypto [21:14] ericsnow: you should not [21:14] at least I dont [21:15] ericsnow: you should run godeps -u dependencies.tsv [21:15] and you may have to go get -u missing repos depending on what godeps tells you [21:17] (if you don't have godeps install with: go get -u code.google.com/p/rog-go/cmd/godeps [21:17] ) [21:17] was just about to ask that :) [21:18] hmm, but I actually have one on launchpad too... that might be the one to install [21:18] go get -u launchpad.net/godeps [21:20] gah... I can't tell which one... rogpeppe which version of godeps should we install? [21:21] ericsnow: its in CONTRIBUTIING sorry [21:21] install the launchpad version [21:22] ah, hadn't gotten there yet (ran into the errors in README) [21:22] :D [21:22] ericsnow: you know... the new guy always gets asked to update the getting started docs... [21:23] jcw4: :) [21:24] jcw4: I think natefinch just proposed that fix [21:25] sadly [21:25] haha [21:25] ericsnow: can be worse, I got asked to fix "a small bug" and am right now, a few months after, re-writing the whole feature [21:26] * ericsnow didn't see anything [21:27] ericsnow: I think that nate did the fix and forgot to propose it [21:27] I saw a push directly to juju/juju master... [21:27] skipped the review process all together [21:27] :) [21:28] mm... that does sounds like nate confusing origin and upstream again [21:28] Isn't there a git config you can do to prevent that? [21:29] I was trying to figure out how to prevent pushing to my own master branch this morning [21:30] jcw4: a hook perhaps [21:30] yeah... [21:44] go is happier after I deleted $GOPATH/pkg/* [21:45] ericsnow: yes, go sometimes has tis issue [22:07] are you kidding me? time.Format takes an... example? as layout? [22:07] perrito666: yep. [22:07] actually pretty cool when you use it for a while [22:08] :) [22:08] jcw4: how does it handle things like yyyymmdd¿? [22:10] forget the exact date but --- 20060102?? [22:13] that is the beauty of the template approach... each number in the template is unique so 02 always refers to the day [22:13] 01 always refers to the month [22:13] 2006 year [22:13] etc. [22:18] how much work should I expect outside https://github.com/juju/juju? [22:19] ericsnow: ? how much work? [22:20] right, it seems like there are a bunch of repos (but I expect that most of my time I'll spend in the main juju repo) [22:20] right now there's some work on splitting the core work into more isolated reusable modules [22:20] so right now there's not a ton, but I'd expect that to grow over time [22:20] * rick_h_ says as someone that's not working on juju core :) [22:20] exactly what I needed to know :) [22:20] ericsnow: expect to be around github.com/juju/* [22:21] but ymmv [22:30] ok, went far enough with my code today, EOD [22:30] see you all tomorrow cheers [22:31] perrito666: thanks for your help today [22:31] ericsnow: yw, bye [22:32] thumper: have you seen this before - adding a lxc container seems to get stuck in a loop doing lxc-ls http://paste.ubuntu.com/7620472/ [22:44] thumper: you around? [22:45] wallyworld: hi, yes but otp [22:45] sure, ok [23:23] wallyworld: ok, off calls now [23:24] wallyworld: it isn't stuck [23:24] thumper: so cjohnston can't start up a container with local provider. logs seems to show a lxc-ls loop? http://paste.ubuntu.com/7620472/ [23:24] wallyworld: that is the machine agent I thought [23:24] wallyworld: I have found a horrible bug in the local provider [23:24] i would have expected to see lxc-start etc [23:24] what is the bug cjohnston hits exactly? [23:24] it may be it [23:24] in the logs [23:25] let me paste the bug [23:25] bug 1319947 [23:25] <_mup_> Bug #1319947: LXC local provider fails to provision precise instances from a trusty host - take 2 [23:25] ugh... [23:25] * thumper guesses... [23:25] i don't think it's a precise or trusty thing necessarily [23:26] no, it is a terrible communication problem [23:26] there is a lock file created when the precise template is being written [23:26] it takes quite a while the first time [23:26] and people have been known to kill juju while it is doing that [23:26] then they try to start again [23:26] but the lock file is still there [23:27] and it is all a bit shit [23:27] ah, that rings a bell [23:27] so he just needs to remove the lock file? [23:27] easiest solution is to remove the precise template, delete the lock file, and give it 5 minutes the first time [23:27] remind me the lock file path [23:27] this is why I wanted to do the juju-local plugin to make the template image [23:27] * thumper looks in the code [23:27] sorry, i could have done that too [23:28] thought you might know ottoyh :-) [23:28] /var/lock/lxc/var/lib/lxc/juju-precise-template ? [23:28] /var/lib/juju/locks [23:28] thumper: did you work out notifications for landing PRs? [23:28] waigani: no [23:28] okay, I'm keen to know too :) [23:28] cjohnston: so can you try what thumper says above and let us know? [23:28] cjohnston: I think /var/lib/juju/locks/juju-precise-template [23:29] ack.. removing the lock.. how to I remove the template? [23:29] delete lock file and precise template [23:29] cjohnston: I appologise for the shitty experience [23:29] sudo lxc-destroy -n juju-precise-template [23:29] :-) [23:29] cjohnston: although I'm assuming you aren't using btrfs [23:29] no [23:30] although that shouldn't matter if you were [23:30] as the fs should handle the snapshotting IMO [23:30] thumper: http://paste.ubuntu.com/7620671/ [23:31] wtf? [23:31] I try hard :-) [23:31] (to break things) [23:32] cjohnston: btrfs? [23:32] cjohnston: I had that once before due to some btrfs issue [23:32] nope [23:32] cjohnston: I have no idea why that would fail, I've never had that before [23:32] rm -rf :-) [23:32] cjohnston: it isn't running is it? [23:32] although should have had a different error if it was [23:32] sudo lxc-ls --fancy [23:33] STOPPED [23:33] hmm [23:33] and lxc-destroy fails? [23:33] hrm.. the second time it worked [23:34] \o/ [23:34] kinda [23:35] thumper: just do a juju add-machine now and let it hang out for a while? [23:35] cjohnston: yep [23:35] cjohnston: one thing you could do [23:35] is look at the running cloud init [23:36] which should be in... [23:36] /var/lib/juju/containers/juju-precise-template/console.log I think [23:37] yep, that one [23:37] although owned only readable by root [23:37] what am I looking for there? [23:38] cloud-init boot finished at Wed, 05 Mar 2014 21:37:44 +0000. Up 417935.05 seconds [23:38] followed shortly after by: [23:38] * Will now halt [23:38] once that happens, the template has been created, and will then be cloned [23:38] ok [23:38] and expect a few seconds of intense disk I/O [23:38] as the new container starts up [23:38] should be much faster after that [23:41] "1" agent-state: started! [23:42] thumper: fwiw, root root 0 May 9 12:09 /var/lib/juju/containers/juju-precise-template/console.log [23:46] hmm... [23:46] * thumper thinks [23:46] I may be looking at an older log file... [23:46] I recall doing something strange with it, will have to look [23:46] cjohnston: but it is working? [23:46] I don't know how much it matters, as things appear to be working now [23:49] thanks much for your help thumper and wallyworld ! [23:49] jcastro: if you are still having problems, read the backscroll [23:49] thumper did most of it [23:50] * wallyworld will close the bug [23:50] * thumper goes to the gym [23:50] * cjohnston goes to celebrate