[00:08] Man.. the interaction between Launchpad pieces to create our workflow is never-ending [00:08] :-) [00:12] Seriously.. bugs, bug tasks, milestones, projects, series, proposals, people, branches.. we use it all [00:15] <_mup_> ensemble/managed-agent r344 committed by kapil.thangavelu@canonical.com [00:15] <_mup_> managed machine agent [00:18] niemeyer: OOHHH YEAHHH [00:19] SpamapS: :) [00:25] niemeyer, like i said.. i found it easier to just sync everything local.. [00:26] when working with any sort of report/ui on top of lp [00:26] and then factoring in the speed of the average rest call.. and becomes a quick win [00:32] <_mup_> Bug #838472 was filed: local-dev needs to manage/inspect the network < https://launchpad.net/bugs/838472 > [00:37] <_mup_> Bug #838476 was filed: local-dev provider needs a provider machine < https://launchpad.net/bugs/838476 > [00:45] <_mup_> ensemble/managed-agent r345 committed by kapil.thangavelu@canonical.com [00:45] <_mup_> verify agent/process controls can be called multiple times [00:46] hazmat: It'd not help much I think.. even if you sync up everything locally, you still have all the linkage between the multitude of types [00:47] niemeyer, you can collapse the types into app oriented docs/objs when syncing [00:47] s/types/links [00:47] hazmat: Sure, but you're still processing everything up [00:48] hazmat: Almost done: http://goneat.org/pkg/launchpad.net/lpad/ [00:48] It _looks_ like I just need to sort out series now [00:48] <_mup_> Bug #838480 was filed: local-dev needs a way to manage a machine agent < https://launchpad.net/bugs/838480 > [00:49] And then "push-review" is done.. :) [00:54] niemeyer, nice [00:54] niemeyer, re lpad.. looking much more complete [00:55] hazmat: Goes from branch to ready for review with no interaction [00:55] hazmat: Following all of our conventions [00:55] hazmat: Opens the preferred text editor for summary/desc [00:55] niemeyer, awesome.. bug report + lp ? [00:55] er mp [00:55] hazmat: push, bug report, mp, link everything [00:56] niemeyer, great [00:56] niemeyer, can i get a copy i? :-) i just did like 4 of those by hand [00:57] hazmat: Oh, most definitely.. I'm doing that for the team [00:57] niemeyer, nice that you can group all the lp interactions in parallel as well, really cuts down on the command time i would guess [00:58] hazmat: Exactly.. it does quite a few things in parallel [00:58] hazmat: With nice reporting to stdout and all [00:58] hazmat: It was also a good way to push the Launchpad API a bit forward.. I'll need it to continue on the store [00:59] That was my day today.. [00:59] niemeyer, yeah. that's great.. i know bcsaller was interested in using it, but needed alot of boilerplate classes to get going [01:00] hazmat: There's still a ton missing because the API is so huge, but the foundation is more laid down now [01:00] niemeyer, good stuff.. i've done pretty well by local dev today.. i'm going to finish up some test for the provider, and move on to the service unit deployment with lxc tomorrow [01:00] hazmat: Wow, neat [01:00] i'm very excited to start using it [01:00] it will actually totally justify me getting an ssd [01:00] hazmat: I noticed a lot of things flying by today [01:00] hazmat: Feels like a good wave :) [01:01] hazmat: Haha :) [01:01] hazmat: It's worth it :) [01:01] niemeyer, yeah... nice to get some interrupted time.. i've been neglecting the review queue though, i'll have a look at that tomorrow morning [01:02] i know both you and william have some branches there that need attention [01:03] hazmat: Thanks, there are a few things we have to push forward there indeed [01:58] <_mup_> ensemble/local-provider r345 committed by kapil.thangavelu@canonical.com [01:58] <_mup_> wire in the managed machine agent and zk state initialization into provider bootstrap [03:09] <_mup_> ensemble/local-provider r346 committed by kapil.thangavelu@canonical.com [03:09] <_mup_> store zookeeper address into local provider storage, implement connect [03:13] i started having this problem w/ lxc [03:13] ssh root@192.168.122.235 [03:13] root@192.168.122.235's password: [03:13] PTY allocation request failed on channel 0 [03:14] bcsaller, you seen that? [03:14] thats the issue with add-apt-repo asking for you to press enter I'd guess [03:15] http://paste.ubuntu.com/679240/ [03:15] but not sure, if you change it off the ppa (where it doesn't add the repo) does it work? [03:15] bcsaller, we're using cloud init in the container now? [03:15] or is this something just inherent? [03:15] I don't use it for anything [03:15] these are just on oneiric containers that used to be working for me [03:16] this isn't a cloud-init issue, its a change in python-softwareproperties [03:16] add-apt-repo started asking for confirmation when its got a tty on stdin [03:16] might be able to close stdin first and fake it out, not sure yet [03:18] or echo y | add-apt-repo... [03:18] since it only checks that it gets a newline [03:21] ugh [03:38] <_mup_> Bug #838565 was filed: Testing push-review < https://launchpad.net/bugs/838565 > [03:39] <_mup_> ensemble/local-provider r347 committed by kapil.thangavelu@canonical.com [03:39] <_mup_> lxc utility to get a python dict mapping container name to runtime boolean status [03:44] <_mup_> Bug #838566 was filed: push-review must be tested < https://launchpad.net/bugs/838566 > [03:44] <_mup_> ensemble/local-provider r348 committed by kapil.thangavelu@canonical.com [03:44] <_mup_> shutdown and destroy all containers when destroying environment. [03:45] <_mup_> Bug #838568 was filed: push-review must be tested again < https://launchpad.net/bugs/838568 > [03:59] <_mup_> ensemble/local-provider r349 committed by kapil.thangavelu@canonical.com [03:59] <_mup_> check required packages installed with python-apt [04:02] Alright.. that was a loooong day.. [04:02] Have a good time everybody [04:02] niemeyer, indeed.. it was.. looking forward to using the new tool.. cheers [04:03] hazmat: Cheers! [06:24] <_mup_> ensemble/local-unit-deploy r350 committed by kapil.thangavelu@canonical.com [06:24] <_mup_> unit deployment with containers === _mup__ is now known as _mup_ [07:56] SpamapS, bug 831505 should be fixed. we chose to redirect output to /dev/null rather than add '-y' as older versions of apt-add-repository dont know that flag. [07:56] <_mup_> Bug #831505: add-apt-repository blocks cloud-init on oneiric < https://launchpad.net/bugs/831505 > === kim0|holiday is now known as kim0 [11:42] is there any consensus solution (heh, I'd take any solution) to the problem of multiple methods with intentionally identical docstrings (eg MachineProviderBase.connect and ZookeeperConnect.run)? [11:43] or is this just another "the price is eternal vigilance" situation? [12:17] g'morning [12:18] fwereade, i was wondering about that [12:18] fwereade, i thought about using a decorator that pulled from the base class doc string [12:18] its more relevant with abstract base classes that document the protocol [12:19] hazmat: I had a similar thought, but it seemed a bit icky ;) [12:19] hazmat: true [12:20] hazmat: but then there are cases where the base specifies (say) :class:`ProviderMachine` and the base will want to say :class:`OrchestraMachine` [12:20] fwereade, i used to use zope.interfaces as a primary doc point, and let the implementation stand alone, with a see ``interface.method`` [12:21] hazmat: I couldn't see anything that would be useful in enough cases to make it feel worth bothering [12:22] hazmat: mm, handy in the right context [12:24] hazmat: hey, is sphinx smart enough to connect things with unique names? [12:24] hazmat: so :exc:`ProviderInteractionError` rather than :exc:`ensemble.errors.ProviderInteractionError`? [12:25] hazmat: feels like a bit too much to expect, but if not I have to go back and fully qualify a bunch of stuff [12:25] ah well [12:27] fwereade, i believe it is [12:27] we need to start genering the docs from source to find out [12:27] jim mentioned he had an issue with it earlier [12:28] * hazmat tries to find a place in sf to stay next week for the lxc sprint [12:32] hazmat: hm, I guess I should actually try generating them :/ === Hussain is now known as Guest84341 [14:03] niemeyer, morning [14:03] hazmat: Morning! [14:05] morning niemeyer [14:05] fwereade: yo! [14:05] How's everyone doing this morning? [14:05] Or rather, this X? :-) [14:06] fwereade, great reviews, thanks [14:06] not too bad :) and you? [14:06] niemeyer, i'm still recovering from a late night, but early wake up [14:07] hazmat: cool, glad they're helpful -- I got a bit overwhelmed by the test failures so I kinda stopped half way through [14:07] fwereade, yeah those suck [14:07] hazmat: Indeed! This must be pretty early for you given how late we were yesterday [14:07] fwereade, i'm looking at the control deploy failures now [14:07] very odd [14:07] KeyInteruption in the middle of a test without hitting a keyboard [14:07] hazmat: incidentally, should I WIP them when I mark them "needs fixing"? it seemed presumptuous, but on balance I think it's less helpful *not* to [14:08] hazmat: (if that makes sense) [14:08] fwereade, i think its appropriate when there's a test failure like this [14:08] hazmat: cool, cheers [14:08] fwereade: Yeah, you have to take a decision there, of whether it'd be beneficial for the next reviewer to look at the changed branch, or if it doesn't make a difference [14:08] fwereade, it really depends imo, if the changes for the review are substantial enough that a second reviewer would be better to have a look after the changes [14:09] hazmat: sounds sensible [14:26] looks like there was something in the lxc-lib branch which has a delta to trunk regarding placement policies [14:37] <_mup_> ensemble/lib-zookeeper r340 committed by kapil.thangavelu@canonical.com [14:37] <_mup_> revert changes from lxc-lib to ensemble/control, resolves some deploy test failures [14:40] hazmat, trial can raise a KeyboardInterrupt in _wait, see twisted.trial.unittest: http://paste.ubuntu.com/679811/ [14:49] jimbaker, thanks, thats very useful to know [15:00] jimbaker: I've just been poking at sphinx docstring-grabbing; hazmat mentioned you might know of some problems [15:01] fwereade, indeed i did experience problems in generating docs using autodoc [15:02] fwereade, so did you just do the basic stuff of setting up autodoc through conf.py and linking in packages to be doc'ed? [15:02] jimbaker: basically yes [15:03] jimbaker: what was the problem? [15:03] fwereade, when i did that, i ran into a recursion error in docutils [15:04] fwereade, i assumed it was just bad some docstring that was breaking things and just needed to be isolated [15:07] jimbaker: heh, haven't hit that yet -- btw, have I missed some option that will cause it to find and document *all* the docstrings? [15:07] fwereade, you expected that? ;) [15:07] jimbaker: kinda :p [15:08] jimbaker: the "auto" bit of the name "autodoc" got my hopes up a bit [15:08] fwereade, in fact so did i. but the sphinx project apparently thinks this is not so useful. there is a third party script to do that which i found [15:09] fwereade, to be honest, the mechanism they do have which is to require this be done in __init__.py is not so bad [15:09] jimbaker: I noticed something like that, and then I started thinking about stripping test docstrings, and then I started doing something else [15:09] jimbaker: indeed, quite sensible, may as well go with that then [15:10] jimbaker: and I guess I'll build after every change and hopefully spot the recursing thing that way [15:10] jimbaker: cheers :) [15:10] fwereade, indeed, i think it should pop out quickly [15:20] Holy crap.. our review queue is _amazing_ [15:23] I'll step out for lunch.. may be a few minutes late for our meeting [15:31] fyi, tweaked https://ensemble.ubuntu.com/ a bit last night....holler if there's an issue [15:32] <_mup_> ensemble/lib-files r341 committed by kapil.thangavelu@canonical.com [15:32] <_mup_> remove use of file_storage.path by some tests. [16:12] * niemeyer is around [16:13] robbiew: Ohh, video [16:13] robbiew: Great stuff, thanks man [16:13] np [16:14] bcsaller, jimbaker, fwereade, hazmat: Call time? [16:15] niemeyer: sounds goood [16:15] robbiew: Wanna join? [16:15] niemeyer: I'm around [16:15] g+? I wouldn't mind listening in if you guys have the room [16:15] jcastro: We can put a few things away to accommodate you for sure [16:16] niemeyer, cool [16:16] niemeyer: invite me...I'll join later, on a call [16:17] jcastro: Not entirely sure if I did the right thing when inviting you.. I used your canonical addres [16:17] s [16:18] Weird.. [16:18] It broke down [16:18] odd, never seen that error before [16:19] just sent out a new invite [16:19] g+ hangouts have been flakey for me on occasion [16:20] my camera isn't working, going to relog [16:21] still waiting on a g+ hangout === daker_ is now known as daker === daker is now known as daker_ [19:21] these leaking temp files and dirs are a problem [19:21] seeing lots of them [19:23] jimbaker: ping [19:24] bcsaller, hazmat: I've renamed a couple of blueprints to remove the redundant "ensemble-" prefix.. feel free to change further please === daker_ is now known as daker [19:32] niemeyer, hi [19:33] jimbaker: Sent some private comments === daker is now known as daker_ [19:53] http://paste.ubuntu.com/680072/ [19:53] ^^ this test fails for me sometimes.. but not all the time [19:54] actually it fails every time [20:33] SpamapS, interesting [20:33] SpamapS, that's one of the tests that i found leaks files as well [20:33] actuall a temp directory [20:54] <_mup_> ensemble/ftests r1 committed by gustavo@niemeyer.net [20:54] <_mup_> Bootstraped simplistic functional test suite. [20:57] jimbaker: https://launchpad.net/ensemble/ftests [20:58] niemeyer, thanks [20:58] jimbaker: mkdir ensemble-ftests; cd ensemble-ftests; bzr init-repo .; bzr branch lp:ensemble/ftests ftests [20:58] jimbaker: Different line of development [20:58] jimbaker: Branches, merge proposals, etc, all as usual.. [20:59] jimbaker: http://bazaar.launchpad.net/~ensemble/ensemble/ftests/files [20:59] jimbaker: Please preserve the structure and spirit in there.. churn should continue to be a shell-script too [21:00] jimbaker: Generate the html out of the output directory.. should be trivial [21:00] niemeyer, ok, taking a look at the skeleton [21:01] jimbaker: Leave environments.yaml and AWS credentials outside of the test suite itself, for now [21:01] jimbaker: So that it works with any deployment method based on who sets it up [21:01] niemeyer, sure [21:01] jimbaker: Not sure if that'll be a good idea, but let's try it [21:02] jimbaker: The tool to generate the html can be in Python or whatever you please, for convenience [21:03] jimbaker: It'll also have to take into account different runs of the tool [21:03] jimbaker: To produce the waterfall [21:03] niemeyer, i'm certainly glad i don't have to write everything in bash [21:03] jimbaker: :-) [21:03] devops_borat.. "If you are still do manual deployment, you need of know in devops we call it 'hand job'" [21:04] niemeyer, is it really necessary to have churn (what we discussed as the runner) be a shell script too? [21:05] jimbaker: Yes, it is, because it'll ensure you keep it simple [21:06] seems like a painful lesson in bash scripting, but ok [21:07] Hmm, so.. working on bug 813112 so I can make the package builds fail on test failure.. [21:07] <_mup_> Bug #813112: test suite cannot run without an ssh key < https://launchpad.net/bugs/813112 > [21:07] jimbaker: It's more than that.. it's a lesson in simplicity. I don't expect you'll need much more than what's there to solve our problem. [21:07] jimbaker: If anything at all. [21:07] http://paste.ubuntu.com/680131/ [21:08] niemeyer, i'll see what it takes [21:08] That fixes it.. [21:08] I suppose I should just throw it in the review queue. [21:08] * SpamapS waves his hands... nothing to see here [21:08] niemeyer, in particular, why are log/fatal defined in churn? [21:09] jimbaker: I don't get what you mean.. the functions seem self-obvious to me? [21:11] niemeyer, well why would you need them there? shouldn't it be the responsibility of the tests to produce output, as they do in the examples now? [21:12] jimbaker: Again, I don't understand what you mean.. [21:13] jimbaker: I want to be able to type ./churn and have reasonable output presented to me [21:14] jimbaker: log is an incredibly trivial function that simply presents a message with a timestamp in it.. [21:14] jimbaker: Why does that sound strange? [21:15] niemeyer, never mind [21:15] jimbaker: Done [21:18] I'll get some coffee [21:27] niemeyer, is there a reason why the golang-weekly hasn't been updated in a month? does it depend on an upstream weekly release? [21:27] yeah.. it looks like no recent weeklies [21:28] hazmat: I've been slacking [21:28] hazmat: I was just updating it _today_ though [21:28] hazmat: After lucio asked about it [21:29] hazmat: tip has been updated.. I'll poke the weekly now [21:38] niemeyer, cool.. where does goinstall put files on disk for a go-lang package install? [21:39] got it /usr/lib/go/pkg [21:41] hazmat: $GOPATH, if you set it as a user [21:41] hazmat: Otherwise it'll try to put in $GOROOT [21:41] niemeyer, ic, just doing the package install [21:41] niemeyer, so do you manipulate GOPATH when you have multiple packages in the same source tree [21:41] niemeyer, i'm trying to run the formula tests, but it won't find the schema package for example [21:42] hazmat: Hmm [21:42] do i need to goinstall the schema package? and then continually update it ? [21:42] hazmat: I may have to tweak that to work with GOPATH [21:42] hazmat: What I've been doing, and which should work, is to make install within the schema package [21:42] hazmat: The detail is that I have a local tip branch [21:43] of go [21:43] hazmat: This should work with GOPATH as well, though [21:43] hazmat: But I'll have to fix it [21:43] hazmat: The design was made in such a way that you can goinstall straight from Launchpad [21:43] hazmat: goinstall launchad.net/ensemble/go/schema works [21:44] hazmat: and so does goinstall launchad.net/ensemble/go/formula [21:44] hazmat: the latter will automatically perform the former even [21:44] niemeyer, sure.. but if i'm testing a source tree which has multiple packages, then i'll need to constantly update those [21:45] hazmat: There are just some minor inconveniences right now because $GOPATH is a recent thing and hasn't been introduced across the board in all tools, so I'll have to tweak the Makefile a bit [21:46] niemeyer, cool, it would definitely be a benefit to have packages tested together from the same tree, instead of having to version manage the installed against the src tree. [21:46] hazmat: How do you mean? As I just explained, there are some details right now, but the design is that you'll have to do nothing besides goinstalling [21:46] hazmat: I think we misunderstand each other.. they are in the same tree [21:47] niemeyer, goinstalling puts files in into the $GOROOT/pkg tree.. but say i have two interdependent package changes in the same src tree, i want to run make test, and have it use the src tree for both packages, not manually update the $GOROOT/pkg beforehand [21:48] hazmat: As I explained, you should use $GOPATH, not $GOROOT, and they'll all be in $GOPATH/src, in the same tree [21:49] hazmat: goinstall will soon also figure changes in dependent packages automatically, and rebuild/reinstall [21:49] hazmat: It's flaky right now because this area is being worked on, but the plan is pretty good [21:49] hazmat: Soon we'll need no Makefile iether [21:49] either [21:50] * hazmat looks up gopath [21:51] interesting, sort of like an encapsulation of virtualenv into an environment variable [21:53] hazmat: Yeah [21:56] hazmat: If you want to test the code quick & fast without worrying about anything else, you can just install Go from tip with: hg clone https://go.googlecode.com/hg go; cd go; export GOROOT=$PWD; cd src; ./make.bash [21:57] hazmat: This will mean GOROOT is writable [21:57] hazmat: and it's why it works.. [21:57] hazmat: I'll sort out the Makefiles in the future, though, so that GOPATH is taken care of in the Makefiles [21:57] hazmat: Sorry for the trouble there [21:59] niemeyer, no worries, thanks for the info, i'll see if i can run the tests with that.. the remote version of launchpad.net/ensemble/go/schema is more recent than the one in the branch, so it gets undefined symbols for the renames [22:00] hazmat: Hmm [22:00] hazmat: Have you noticed that schema and formula are in the same branch? [22:00] niemeyer, i have [22:01] niemeyer, how do you install a src package with goinstall [22:01] hazmat: Have I screwed up something then? Any branch should be self-consistent [22:01] afaics, i have to rename the directories into import paths to use GOPATH [22:01] hazmat: goinstall "server.com/import/path" [22:01] hazmat: Why? [22:01] niemeyer, that installs the remote version [22:02] hazmat: Unless you have a local version [22:02] niemeyer, the remote version is incompatible with one of the packages in the branch, it needs to compile against the other package in the branch [22:02] niemeyer, i'm just running make test from the formulas directory [22:03] niemeyer, if there's a way to install the local version of the package that would work [22:03] hazmat: I don't understand.. the remote version works with the remote version.. branches work with the content of the branch [22:03] hazmat: It's like Python [22:03] hazmat: If you have a branch, ensemble.provider works with ensemble.state of the same branch [22:03] hazmat: There's no difference there [22:03] niemeyer, is there some path variable you have to define for that? .. i'm trying to run 'make test' in the formula directory [22:04] hazmat: No.. as I explained, what I do is to: cd schema; make install; cd ../formula; gotest [22:06] niemeyer thanks, that's what i needed [22:07] hazmat: http://paste.ubuntu.com/680159/ [22:08] hazmat: And again, this is still pretty clumsy compared to what we'll have shortly.. [22:09] hazmat: Once $GOPATH and gomake come fully to life, it'll be brainless.. [22:09] niemeyer, indeed that will be much easier [22:09] hazmat: Just gomake inside schema will do everything [22:09] niemeyer, http://paste.ubuntu.com/680163/ [22:09] hazmat: Define GOROOT [22:09] k [22:09] hazmat: export GOROOT=/usr/lib/go [22:09] hazmat: If you're using the package [22:10] gomake would do that for you already, by the way [22:11] But since you'll be playing with it often, it's worth putting it in the profile [22:11] niemeyer, i've got the standard go variables defined pointing at the system path [22:11] s [22:12] /usr/lib/go for goroot /usr/bin for gobin [22:12] Cool [22:12] i've got a previous install of the newer remote package version in goroot [22:12] which is causing the problem [22:12] hazmat: But it was undefined in that paste, right? [22:14] niemeyer, oh.. i assumed the newer version has the renames already in it.. it would have a different error regarding the package import if it wasn't installed [22:15] if i remove the pkg from $GOHOME, and do the cd schema; make install; cd ../formula; gotest it fails with http://paste.ubuntu.com/680165/ [22:16] hazmat: DEFINE $GOROOT! [22:16] :-) [22:16] Makefile:1: /src/Make.inc: No such file or directory [22:16] There's a $GOROOT variable before the /src/ in that line.. which is empty! [22:16] hmm.. but its defined.. make test in the schema works fine [22:17] It's not defined, no [22:17] export GOROOT=/usr/lib/go [22:17] Or whatever it is [22:17] http://paste.ubuntu.com/680169/ [22:17] yeah [22:17] hazmat: It's not defined.. [22:17] hazmat: That's the error you're getting [22:18] hazmat: This is the first line in the Makefile: [22:18] niemeyer, that's env | grep GO in the shell. it is defined [22:18] include $(GOROOT)/src/Make.inc [22:18] ah [22:24] hazmat: Works now? [22:39] hazmat: Can't find a way to link blueprints and bugs in the API :-( [22:39] niemeyer, nope. [22:39] hazmat: What's wrong now? [22:41] niemeyer, same problems, if i install it complains about undefined schema.M, if i uninstall it.. it complains about it not being found [22:41] hazmat: Can you please paste the error? [22:43] niemeyer, it was the sudo.. killing the env variable i think [22:43] nope.. still an error [22:44] hazmat: Same error? [22:44] http://paste.ubuntu.com/680178/ [22:44] hazmat: It's the same error.. GOROOT not defined [22:44] hazmat: Use gomake.. it'll export the variable fo ryou [22:45] niemeyer, sweet! that works [22:45] hazmat: Woohay [22:46] * hazmat grabs some dinner [23:26] niemeyer, yeah i don't see any way to attach a bug to the blueprint/spec via the api [23:27] bummer [23:27] hazmat: Sadness.. let's see if the LP folks can give us a hand