[00:08] anyone know what "juju.container interface.go:55 unused config option: "use-clone" -> "false"" is referring to? [00:12] stokachu, I think thumper added a feature for trusty users to make lxc fast using the lxc-clone feature [00:12] sinzui: ah this error shows up during kvm deploys [00:12] which makes sense if this is only for lxc [00:14] and only seems to show up when i set container: kvm in the environments.yaml for local [00:14] otherwise lxc is used for bootstrap while the others are kvm based [00:15] stokachu, its a warning isn't it? [00:15] sinzui: yea looks to be just a warning im running into issues where kvm instances aren't starting up though [00:16] http://paste.ubuntu.com/7122808/ [00:16] I see lots of warning because my configs are 1.16.6 and 1.17.6 [00:16] if i dont set container: kvm then i can deploy kvm's just fine, however, they dont honor the machine constraints [00:17] stokachu, I think the clone issue is just juju being verbose [00:18] ok cool, ill dig some more to see why i cant get these instances started [00:18] stokachu, the constraint issue may be bug 1294783 [00:18] <_mup_> Bug #1294783: deploy to kvm does not honor --constraints [00:18] yea i filed that one lol [00:19] stokachu, sorry, my listing doesn't show reporters [00:19] was trying to work around it with using kvm as the bootstrap node [00:26] stokachu: the fact that it is showing up is a bug [00:26] stokachu: it shouldn't be [00:27] * thumper thinks... [00:27] yeah [00:27] it should omit it if it isn't there [00:28] yea looks like it did omit it as i got the kvm instances deployed, unfortunately, i coudn't get it to honor the constraints still [00:28] stokachu: what are you trying to do? [00:28] with the local provider, the host is the bootstrap node [00:28] so im working on a cloud-installer project where the single installer bootstraps juju onto a kvm instance and deploys openstack charms on separate instances [00:29] ah ok [00:29] so with that said im trying to get the kvm instances deployed with a --constraints mem=1G [00:30] ive tried juju set-constraints mem=6G and used juju deploy --to kvm:0 --constraints mem=1G [00:30] thinking i had to set the machine constraints to something that would allow 1G instances [00:30] umm... [00:31] only thing i haven't tried is juju add-machine --constraints mem=1G [00:31] you can't deploy onto machine 0 with the local provider [00:31] or at least you shouldn't be able to... [00:31] the containers are what im deploying to [00:31] under machine 0 [00:31] right, nope, that's not supported [00:32] if you are trying to do crazy stuff like that, the manual provider is the recommended way [00:32] anyone got a clue how to propose a merge from a remote dev box? [00:32] http://paste.ubuntu.com/7122846/ - thats not supported? [00:32] machine 0 is the host machine which connects to libvirt to create the containrrs [00:33] stokachu: the fact that it works is mildly surprising to me [00:33] it actually works better than lxc lol [00:33] but it isn't supported... [00:33] as in, I've not made sure it works [00:33] pardon my frustration, i've been sitting on this commit for like an hour while I eat dinner, hoping to get it at least proposed by the end of the night [00:34] so both lxc/kvm are not supported as containers to be deployed to on machine 0? [00:34] no [00:34] I guess it works [00:34] but it isn't supported [00:34] the networking isn't guaranteed to work for a start [00:34] if it does, it's a fluke [00:35] stokachu: the local provider works by creating containers "as machines" [00:35] so machine 1 on the local provider is normally lxc [00:35] stokachu: AFAIK, you are the first crazy person to try this [00:35] do i unlock an achievement award or anything? :D [00:36] sure... [00:36] * thumper hands stokachu an award [00:36] lol [00:36] however... [00:37] so with manual provider do i need to do anything special to deploy to kvm only? [00:37] you have successfully worked out how to have a mixed container local provider [00:37] with no extra work from me [00:37] hah yea i mixed kvm/lxc together on machine 0 [00:37] no... [00:37] do this [00:37] * thumper thinks... [00:38] actually, I should probably check this out locally first [00:38] the thing is, [00:38] the containers inside machine 0 [00:39] are just using the default dhcp [00:39] * thumper thinks harder [00:39] * thumper goes to read the source [00:39] yea whatever virbr0 is [00:39] i think [00:39] it creates a bunch of vnetX interfaces on the host machine too [00:41] right [00:41] so it is using the default bridge for kvm on the host [00:41] and lxc container would be using lxcbr0 [00:41] you could... make them talk [00:41] yea i didnt test if they could talk to each other [00:41] by changing 'lxc-bridge' -> virbr0 [00:42] ooo [00:42] bodie_, I am not current with what your stuck on, and I try to avoid lbox. Do you have a bzr issue? [00:42] in the config [00:42] im going to try that [00:42] then the lxc containers would use the same host bridge [00:42] stokachu: you are crazy btw [00:42] haha im not even sure how i got on this path [00:42] it just happened [00:43] sinzui, I'm working on a remote VPS because my local machine isn't passing tests due to the mongo stuff. [00:43] stokachu: and also, AWESOME [00:43] I have a bzr branch ready to lbox propose, but it wants me to use the web browser on the host [00:43] haha ty [00:43] waigani: I think I need to log into the bot and blow away the pkg dir [00:43] which is headless [00:44] waigani: it has to do with some things not being rebuilt that should be IMO [00:44] waigani: still referring to types that aren't there any more [00:44] waigani: not sure why go isn't rebuilding them properly [00:44] I tried using bzr, but I'm not sure what the workflow should be, and I'm getting stuck on bzr register-branch [00:44] thumper: right, I should probably learn how to do that sometime [00:45] bodie_: what are you doing? [00:45] I got it logged in to Launchpad.net on the remote via w3m, but it gets grumpy when I try to register-branch [00:45] bodie_, does bzr whoami agree with your email on lp [00:45] yeah [00:45] bodie_, does bzr lp-login prompt for you password [00:45] and doe you agree lp has your keys [00:46] bzr lp-login just shows my username [00:46] is so, I push branches to Lp before using lp everything, but lbox suck green donkey's **** [00:46] maybe the ssh key on my remote isn't my user's key [00:46] lol [00:46] stokachu: ok, and that warning you were getting for the kvm local provider, that is fixed in trunk [00:47] thumper: do I need to pass lxc Start a configFile/consoleFile or is it smart enough to read the ones passed in on creation? [00:47] `bzr push` works for me, though I have my bzr locations setup to push to the project, You can be explicit though.... [00:47] * thumper looks [00:47] bodie_, ... bzr push lp:~binary132/juju-core/my-branch [00:47] waigani: take what is now in the create container for the start bit, and move it into start container [00:48] waigani: then have create container call start container [00:48] thumper: sure [00:48] thanks sinzui. I owe you [00:48] now what? [00:49] thumper: sweet thanks [00:49] thumper: im actually testing that network-bridge option now [00:49] bodie_, I think lbox will honour where you put the branch so...can run [00:49] stokachu: so what does your provider config look like now? [00:50] bodie_, lbox propose -cr [00:50] thumper: http://paste.ubuntu.com/7122907/ [00:51] stokachu: FWIW, you don't need either of these two: "default-series: precise" or " authorized-keys-path: ~/.ssh/id_rsa.pub" [00:51] then i just do juju deploy --to [kvm|lxc]:0 [00:51] ah ok good to know [00:51] That will probably run some tests in a tainted environment, and if satisfied will crate the LP MP, followed by the RV...and then I fail half the time because it want me to login with an identity and password I try never to use [00:51] stokachu: for kvm, use --to kvm:0 [00:51] stokachu: for lxc, just do as normal [00:51] juju deploy foo [00:51] * thumper shakes his head [00:51] woohoo! https://code.launchpad.net/~binary132/juju-core/fix-bson-references/+merge/211847 [00:51] * thumper mutters ""crazy shit" [00:51] I did that via web portal [00:52] lol will be awesome if it works [00:52] bodie_: or as we like to refer to it as "launchpad" [00:52] ahhh SHIT! I didn't see there were conflicts..... [00:52] bodie_, :( conflicts. [00:52] wallyworld: got the bot ip address? [00:52] bodie_: always with conflicts [00:52] all the time [00:52] \o/ [00:52] 10.55.61.118 [00:53] sigh [00:53] bodie_, just push the updates, Lp will see the change and update the diff [00:54] :) looks like very few conflicts [00:54] ok [00:55] * thumper makes an alias gobot='ssh ubuntu@10.55.61.118' [00:55] wallyworld: how can I tell if the bot is currently trying to merge? [00:56] thumper: i just tail the log file in ~tarmac/logs [00:57] waigani: reapprove your branch now [00:57] sinzui -- so I need to merge trunk into my branch? [00:57] thumper: done [00:57] then I'll see the conflict and fix it [00:57] or do I need to branch trunk, merge my branch into that [00:58] bodie_, that right, merge trunk. the conflicts will be listed edit each file then use `bzr resolve` then `bzr commit` [00:59] ok [01:08] sinzui: https://bugs.launchpad.net/juju-core/+bug/1293330 [01:08] <_mup_> Bug #1293330: trusty charms are not deployable on ec2, causes provisioner to go into a restart loop [01:08] sinzui: you said ec2 trusty CI all green [01:09] It is, and you might see I tested it locally with the RC candidate. It passed [01:09] sinzui: can you try ap-southeast-2 [01:09] I will [01:09] sinzui: the regions shouldn't be different, but they are [01:12] thumper: landed! [01:19] thumper: looks like setting the network-bridge to virbr0 doesn't start lxc containers [01:19] stokachu: status? [01:19] kvm starts but lxc containers sit in a pending state [01:20] looking through the logs now to see whats going on [01:20] stokachu: is it downloading the lxc cloud image? [01:20] stokachu: are you on raring? [01:21] raring? no trusty [01:21] the host is saucy [01:21] it downloads the lxc-ubuntu-cloud image [01:21] run sudo lxc-ls --fancy [01:21] hah http://paste.ubuntu.com/7122992/ [01:21] i guess it does work [01:22] and juju ssh works [01:22] ohh and juju status updated its info from pending to started after i juju ssh'd [01:23] testing the trusted wordpress+mysql deployment :X [01:24] ok, think I cleared up the merge conflicts [01:24] ready for review! https://code.launchpad.net/~binary132/juju-core/fix-bson-references [01:24] really dumb fix [01:32] sweet [01:32] thumper: http://paste.ubuntu.com/7123027/ [01:32] works [01:33] stokachu: awesome [01:38] so what doesn't work is deploying to lxc on machine-0 [01:38] but everything else started up like a champ [01:38] yeah, don't do that [01:39] stokachu: because the lxc containers on machine 0 are using lxcbr0 [01:39] so on a different network [01:39] ah ok [01:42] thumper, I can reproduce the issue with ap-southeast-2. I attached the only log I could see to take https://bugs.launchpad.net/juju-core/+bug/1293330 [01:42] <_mup_> Bug #1293330: trusty charms are not deployable on ec2, causes provisioner to go into a restart loop [01:42] sinzui: ta [01:43] thumper: i guess my last question is should i keep my findings to myself? :) [01:44] stokachu: no [01:45] cool, i was thinking about a blog post but with a huge disclaimer lol [01:49] axw, regarding bug 1293198, I could try setting termination protection on the instance as juju is setting up. The call to destroy the machine will fail, so we can do an autopsy on the machine. [01:49] <_mup_> Bug #1293198: cannot bootstrap with win-client [01:51] sinzui: one other thing you could do is run juju bootstrap with --debug [01:51] sinzui: then we can see what commands are being executed [01:52] axw, It didn't show me anything different before the error...it was identical to show-log from the call to apt-get update [01:52] I can get you the debug log in a few minutes though [01:53] thumper: ping [01:53] waigani: ya [01:53] pmed you [01:54] I'm probably off the bottom of your screen [01:54] I assume that by making a merge proposal it'll catch someone's attention soon enough? or do I need to ping people in here to get it reviewed? [01:55] sinzui: there should be a "Running script on..." line before any of the apt-get, etc. feedback [01:57] bodie_: mostly [01:57] yes [02:02] all righty [02:07] axw, I attached the debug log to the bug [02:07] sinzui: thanks [02:08] sinzui: mkdir -p '\var\lib\juju\agents\machine-0' [02:08] :( [02:08] should be easy to fix [02:08] ha ha [02:08] I'll get on that [02:23] axw: approved [02:25] thumper: thanks, just fixing ssh now... [02:29] sinzui: I just want to confirm something [02:29] sinzui: our trusty CI tests have trusty bootstrap nodes, yes? [02:30] thumper, status says so [02:30] sinzui: ok, cheers [02:30] just rebutting a bug [02:30] thumper, it download the precise? [02:30] I think so [02:30] sinzui: https://bugs.launchpad.net/juju-core/+bug/1293330/comments/2 [02:30] <_mup_> Bug #1293330: trusty charms are not deployable on ec2, causes provisioner to go into a restart loop [02:30] that is your status [02:31] showing bootstrap on trusty [02:31] which is good, because it matches the code [02:31] the checksum didn't match. I was going to download it and run sha256 [02:31] kk [02:31] wallyworld: where is the supported series stuff for providers? [02:32] um [02:32] there isn't really [02:32] you ask for an image for a series and it tells you if it has one [02:33] hmm... [02:33] eg you deploy cs:trusty/myql [02:33] it looks for a trusty image [02:34] if there's none there, then no deployed charm for you [02:34] wallyworld: I'm looking at the bootstrap issue [02:34] lets say I'm on a power machine [02:34] and I want to bootstrap to ec2 [02:34] ec2 doesn't have power [02:34] there, the series comes from denv config default-series [02:34] I don't think we should fail by default [02:35] power is the arch though [02:35] if they have explicitly specified an arch [02:35] then we can fail if it can't find one [02:35] if they didn't specify, then we should try with amd64 [02:35] that's what we do [02:35] hmm... no it isn't [02:35] because the tests fail [02:36] I think it is what we said we should do [02:36] but I don't think anyone has implemented it [02:36] so you saying it looks for an image with arch ppc64 [02:36] if none is specified [02:37] thumper: https://codereview.appspot.com/78070043 [02:37] looing [02:37] wallyworld: yep [02:37] wallyworld: and I'm saying that if we don't find ppc64, we should try amd64 [02:37] thumper: that's what constraints are for i guess [02:37] wallyworld, thumper . I just ran curl to get the tools again on the pending machine. My call got tools that passed the sah256sum [02:38] sinzui: that is just weird [02:38] CI was idle. It was publishing new tools... [02:38] i'm glad we put in the checksum then [02:38] but if a proxy is involved, maybe it delivered a version from a few hours ago [02:39] well I can deploy again and see if it works [02:39] turn it off and on again [02:40] thumper: the default fallback arch could be amd64, or it could be an env config just like "default-series" is [02:41] wallyworld: I think amd64 would be a good fallback [02:41] it has support everywhere [02:41] yes but i'm not sure explicit is always good [02:41] implicit imean [02:42] ymmv [02:42] I meant to say CI was idle, it was NOT publishing. I wouldn't have deployed using the release candidate if it was about to mutate [02:48] wallyworld, thumper, I deploy the charm again. It was successful. I think network/proxy is in play and my chosen test with a volatile version of juju is a factor [02:49] at least that explains it [02:54] thumper, I don't think bug 1293330 is critical, and I am not even sure it is high. [02:54] <_mup_> Bug #1293330: trusty charms are not deployable on ec2, causes provisioner to go into a restart loop [02:55] sinzui: me neither [02:55] sinzui: it is an ec2 issue? [02:55] or was it a tools sync issue? [02:56] I used streams [02:57] I suspect a proxy. I wouldn't work on this bug unless it was affect tools that had been release unchanged for a few days [03:05] wallyworld: https://codereview.appspot.com/78030044/ [03:05] wallyworld: it is small [03:05] and needed shortly by wai [03:05] waigani [03:05] ok [03:09] boo yeah [03:10] wallyworld: patching version.Current in two places fixes the bug [03:10] \o/ [03:10] wallyworld: it was just finding out where to put them :-) [03:10] i thought i got them all [03:10] clesrly not [03:10] confirmed fixed on power [03:11] thumper: reviewed with bikeshed [03:11] you know how much I love bikesheds [03:12] i think it is a good suggestion [03:12] much clearer intent [03:12] yeah, looks fine [03:12] to me [03:12] I'll paste you this other real simple branch as soon as lbox is done [03:12] https://code.launchpad.net/~thumper/juju-core/fix-ec2-test-isolation/+merge/211855 [03:12] or you can just look there [03:12] * wallyworld waits with baited breath [03:13] * thumper goes to make coffee [03:28] thumper: only if you have time. it's smaller than it looks because deletions. https://codereview.appspot.com/78030045 [03:28] otherwise i'll bother someone in europe to look [03:45] wallyworld: I have time [03:45] ok, ta [04:30] davecheney: why did you change the importance and milestone of https://bugs.launchpad.net/juju-core/+bug/1293330 after sinzui? [04:30] <_mup_> Bug #1293330: deploys may fail on ec2 when the juju tools are new. [04:34] thumper: 'cos I think the bug is more serious [04:34] something is corrupting tools on download [04:34] davecheney: what makes you think that? [04:34] davecheney: no, nothing is corrupting it [04:34] the tools were changing [04:34] fine, change it back [04:35] not even going to ask why tools are being overwritten [04:35] I think it is part of the daily building of the latest code [04:35] the CI for tip [04:35] * davecheney puts fingers in ears [04:40] thumper: do you just want a comment for VType? the code has been there for a while [04:40] wallyworld: I just didn't know what it was [04:40] we were just not marshalling it [04:40] ok [04:40] no comment needed [04:40] ta [04:40] simplestreams can remain a black box :) [04:41] well, it's not simplestreams per se [04:41] it came from the old cloud init data format [04:41] before simplestreams [04:41] i'll make it more verbose [04:42] thumper: the pass by pointer question - not my code, but at a guess, we tend to pass structs by pointer in may places [04:43] why not there [04:43] sometimes we do, sometimes we don't [04:43] well, it is sorta my new code [04:43] if it is always passed [04:43] then that's fine [04:43] consider a lot of our XXXParams structs [04:44] they are always pass by value [04:44] not reference [04:44] is there a clear idiom [04:44] i prefer pass by pointer out of C++ habits [04:45] wallyworld: I prefer pass by reference [04:45] can't be nil [04:45] in C++ [04:46] true [05:07] * axw enjoys not having to think too much about object ownership === OutOfControl is now known as benonsoftware === vladk|offline is now known as vladk === vladk is now known as vladk|away === vladk|away is now known as vladk === thumper is now known as thumper-afk [06:15] wallyworld: I'm running into a problem where your new UploadTools logic is refusing to bootstrap the local provider. Have you run into this ? [06:16] jam1: have you pulled trunk? I fixed that first thing this morning [06:16] wallyworld: no I hadn't, that's why I was asking. Thanks [06:16] np. i refactored about 3 lots of the same logic together in one method and misinterpreted a flag === vladk is now known as vladk|offline === vladk|offline is now known as vladk === vladk is now known as vladk|offline === vladk|offline is now known as vladk [08:06] good morning [08:11] morning vladk [08:16] dimitern, vladk: mornin' [08:16] hey rogpeppe :) [08:24] thumper-afk, when you can please check cadmin, I filled some leave for approval === vladk is now known as vladk|offline [08:29] morning dimitern, rogpeppe [08:29] jam1: hiya === vladk|offline is now known as vladk [08:30] jam1, dimitern, fwereade: currently looking for a review on this, if you have a little time: https://codereview.appspot.com/77600048 [08:30] rogpeppe, looking [08:30] dimitern: ta [08:32] rogpeppe: are you working on https://bugs.launchpad.net/juju-core/+bug/1271144? I'll take a look if you're not [08:32] <_mup_> Bug #1271144: br0 not brought up by cloud-init script with MAAS provider [08:32] axw: wwitzel3 has been looking at that, i believe [08:32] okey dokey [08:33] axw: you might also want to take a look at https://codereview.appspot.com/77600048 BTW [08:33] rogpeppe: sure, will take a look [08:34] morning all [08:34] axw: last i heard, people were confused about the cause of the br0 issue. wwitzel3 checked it and it worked on his setup. but it failed for ahasenack. unless you have access to a MAAS, you'll find it difficult to test. [08:34] morning jam1 voidspace [08:34] voidspace: mornin' [08:34] morning voidspace [08:35] vladk: axw: rogpeppe: morning [08:35] rogpeppe: yeah, I don't at the moment [08:35] rogpeppe: axw: I can help with debugging that if you need it [08:35] rogpeppe: the specific problem I was going to look at was bridge-utils not installing [08:35] axw: yeah [08:35] axw: that's the issue that was being looked at [08:35] axw: I can reproduce it every time :) [08:36] sparkiegeek: thanks, I'll make sure I'm not duplicating effort first :) [08:36] that helps [08:36] rogpeppe: ok [08:36] axw: do we set AptUpdate in the cloud-init we produce at bootstrap time? [08:37] rogpeppe: no, it's done in the synch phase [08:37] axw: ah, that may well be the problem [08:37] rogpeppe: the simplest change would be to do it in both [08:37] axw: yeah [08:37] rogpeppe: I was going to modify the MAAS provider code to add it in specifically for MAAS though [08:38] anyway, will wait to see if wwitzel3 has it under control [08:38] axw: ok, why don't you do that? [08:38] axw: given that we've got sparkiegeek around and eager to test for us :-) [08:38] rogpeppe: why don't I do what? [08:38] axw: I tried compiling 1.17.5 but I got a failure with gwacl, if you give me a binary I can run with it [08:38] sparkiegeek: okay cool, I'll try and knock one up [08:38] axw: add AptUpdate to the cloud-init for maas [08:38] sparkiegeek: got somewhere I can dump the binary? [08:48] rogpeppe: hopefully one final review of https://codereview.appspot.com/76120044/ ? [08:49] jam1: already done [08:50] sparkiegeek: you should be able to cd $GOPATH/src/launchpad.net/gwacl; bzr update -r 231 [08:50] we are using a slightly older version from tip because there are changes in progress [08:50] (or bzr pull . -r 231 --overwrite, if update doesn't work) [08:52] anyone have any ideas on: "... cannot use 37017 as state port, already in use" [08:52] I'm trying to bootstrap the local provider [08:52] and everything has been destroyed [08:52] there is no local.jenv, and no jujud processes are running. [08:53] now, I *can* telnet localhost 37017 [08:53] but I don't think anything is actually running there [08:54] ahh... hmmm. mongod is still running [08:54] and destroy-environment --force isn't killing it [08:55] rogpeppe, reviewed [08:55] dimitern: ta! [08:57] mgz, how's it going with https://codereview.appspot.com/77270046/ ? [08:58] jam1: so that moved me a little further along, but now I get http://paste.ubuntu.com/7124257/ [08:59] sparkiegeek: well, the easiest thing is to use 'godeps', so "go get launchpad.net/godeps" and then "cd $GOPATH/src/launchpad.net/juju-core; godeps -u dependencies.tsv" [08:59] which will set all your dependencies to the right version. [09:00] rogpeppe: I think I'm comfortable enough doing "godeps -u" in the bot now, however we'll want to make sure it gets installed as part of the setup script. Do you have access to the Juju environment? [09:00] jam1: I was just following the README (hint hint, nudge, nudge) [09:00] jam1: the gobot juju environment? [09:00] rogpeppe: yeah [09:01] jam1: funnily enough, i was at that very moment about to look at the gobot with a view to doing just that [09:01] jam1: (because i want to update the code to use a more recent version of the ratelimit package) [09:01] jam1: i do have access, yes [09:02] jam1: (at least, i did last time i looked) [09:12] rogpeppe: sparkiegeek has live tested my change and it works, so I've reassigned that bug to myself now - proposing a fix now [09:12] mgz, jam: i'm thinking that after doing juju set on the gobot environment, we should probably do a "swift upload tarmac gobotnext.yaml" of the same data, right? [09:12] axw: thanks! [09:13] rogpeppe: yes [09:17] fwereade: if you didn't see, I came up with a less stupid name for the API/param field: DistributionGroup [09:17] well I think it's less stupid anyway [09:17] axw, yeah, iliked that [09:18] fwereade: also updated the code to do the right thing for env managers [09:18] axw, I'm just pondering notfound vs unauthorized for unknown machines -- probably nbd but I need to think it through a bit [09:21] fwereade: no worries, no rush. this stuff is hanging around till 1.19 anyway [09:21] rogpeppe: do yo uhave a moment to look over https://codereview.appspot.com/77890045/ ? [09:22] axw: looking [09:23] mgz: where is https://bugs.launchpad.net/juju-core/+bug/1291165 at ? [09:23] <_mup_> Bug #1291165: empty .jenv file breaks destroy-environment and bootstrap [09:33] hello === thumper-afk is now known as thumper [09:42] axw: reviewed [09:42] rogpeppe: thanks [09:45] rogpeppe: you make a good point about just configuring the cloudinit.Config. ideally we would do both SetAptUpdate and AddPackage there, for MAAS only [09:45] rogpeppe: I'd rather get this fixed though, so I'll add a tech-debt bug [09:45] axw: sgtm [09:47] morning wwitzel3, you should probably sync up with axw about the MaaS br0 bugs [09:47] wwitzel3: axw has a patch, which should be landing now [09:47] hey wwitzel3, just about to land https://codereview.appspot.com/77890045/ [09:47] wwitzel3: fixes the apt-get bits, and uses ifdown/ifup instead of service networking restart [09:48] jam, fwereade, I was thinking of creating a blueprint for MaaS VLAN support, so we can track the progress more easily [09:48] dimitern, +100 [09:48] dimitern: you can do so if you want, but *I* certainly find dragging cards on the Kanban board easier than editing the WIP of a blueprint [09:49] jam, I'll take care of updating it regularly [09:49] axw: I was actually just reviewing that :) [09:49] wwitzel3: ah, shall I hold off on approving then? [09:50] axw: I am pulling down that branch and will give it a go on my MaaS. I node that I setup with fastpath/curtin so I can verify the fix. [09:51] wwitzel3: no idea what fastpath/curtin is, but sounds good - thanks [09:51] wwitzel3: it has been live tested on Garage MAAS, fwiw [09:52] axw: well the OP of the bug was using the fastpath installer for maas, which turns out was the main difference in why my maas node had already run apt-get update and theirs had not. [09:52] wwitzel3: ahhh, that's what it was [09:52] wwitzel3: ah, I see. thanks, would be good to know it still works in that mode then [09:53] axw: FWIW, it wasn't Garage MAAS, but A.N.Other MAAS [09:53] sparkiegeek: oops, thanks for correcting me :) [09:53] good morning [09:53] sparkiegeek: yep, that was what we narrowed it down to [09:53] morning perrito666 [09:53] axw: fastpath (AKA Curtin) is download an image and dd it on to the disk, non fast path is regular debootstrap [09:54] sounds nifty, I'll have to take a look [09:54] (i'm being a bit loose on the exact behaviour, but it's broadly like that) [09:58] mgz, jam: where's a good place to install godeps on the 'bot so that it's accessible from tarmac verify scripts? [09:58] rogpeppe: ~/.local/bin IIRC [09:59] rogpeppe: we have some other stuff in there already, so it is in the $PATH for cron [09:59] jam: ah, great, that's just what i needed to know. i was trying to think of a way of working out what $PATH was in that context [09:59] rogpeppe: crontab -l [10:00] rogpeppe, wwitzel3, dimitern, waigani: standup time [10:02] vladk: ^ [10:02] https://plus.google.com/hangouts/_/calendar/bWFyay5yYW1tLWNocmlzdGVuc2VuQGNhbm9uaWNhbC5jb20.sbtpoheo4q7i7atbvk9gtnb3cc [10:03] jam: hangouts is being a pest [10:03] attempting to get in there [10:03] wwitzel3: you probably have to be on your canonical account [10:03] we are over the 10 user threshold [10:03] so it is a @canonical only hangout to get to 15 [10:06] wwitzel3: thanks for the comments. I'll land what I've got and then look at refactoring. Probably trivial, but needs more testing [10:07] voidspace: there's a meeting currently [10:07] voidspace: see above [10:07] ah [10:08] thursday early meeting! [10:08] rogpeppe: thanks [10:08] voidspace: yeah [10:08] voidspace: you will *just* fit in if you arrive now [10:08] alexisb: if you're awake ^^ [10:09] rogpeppe: too late I think [10:09] "you aren't allowed to join this call" [10:09] maybe the wrong identity, will try again [10:09] voidspace: you have to join as your @canonical [10:09] voidspace: easiest IME is to use the calendar event [10:09] since it should be on the right calendar for you [10:09] voidspace: add "?authuser=1" to the url [10:09] jam: yea, that's what I did - thanks [10:09] in [10:45] vladk, found a nice tiny bug 1227074 we can quickly pair on later, if you want [10:45] <_mup_> Bug #1227074: runtime panic when running any juju command in a deleted directory [10:46] dimitern: nothing that has panic on the title can be nice and tiny :p [10:47] dimitern: fine, but probably tomorrow, I am going on meeting with Mike Baker today [10:47] vladk, sure, np [10:47] perrito666, it's a silly panic anyway :) [10:52] dimitern: do we need that juju works from deleted directory or just change a panic to error? [10:52] vladk, the latter [10:55] to test things with ec2, do we have an amazon account purposed for testing or should I use my own? [10:56] dimitern: is there anything in juju that actually cares about $CWD? [10:56] I don't really care if we fail, but it seems very spurious [10:56] perrito666: use your own and expense it [10:56] jam, apparently we just panic in that case [10:56] (I know metadata generate-image cares, but aside from that) [10:56] natefinch: ack [10:56] perrito666: I can give you creds for the shared account [10:57] mramm: bug 1248332 [10:57] you're allowed to use your own and expense [10:57] <_mup_> Bug #1248332: user doc for simplestreams metadata and private clouds [10:57] but I can give you creds as well [10:58] jam: as you prefer, both are the same to me, I guess Ill go with mine, since I only set it up for this and it is already set in juju [10:58] jam, it seems the issue is cmd.DefaultContext includes the dir and that's why it reads os.Getwd() and panics [10:58] perrito666: sure, you'll just have to go through the expensing it at the end of every month (which is a bit of a pain) [10:58] * perrito666 thinks that if he yawns a little bit more he will eat his coffee cup [10:59] jam: I guess it is analog to the pain I had loading my national holidays :p [10:59] perrito666: but you get to do it every month, and have to copy your receipts to expenses@canonical.com [11:00] perrito666: I highly suggest setting up an alert for if your monthly bill goes over a certain amount (like $100). [11:00] perrito666: (I had a $1000 bill a couple months ago due to forgetting about machines) [11:00] 0. [11:00] 2 [11:00] natefinch: dont worry, .ar govt takes care of making a big fuzz every time I spend US dollars [11:01] perrito666: heh [11:01] fwereade: i can land this for 1.17.6 if you +1 it https://codereview.appspot.com/78030045/ [11:03] wwitzel3, i might be able to help you with bug 1294776 if you get stuck btw [11:03] <_mup_> Bug #1294776: No debug-log with MAAS, 14.04 and juju-core 1.17.5 [11:04] dimitern: I have to get it setup a bit first, as my local maas is running precise [11:05] dimitern: but that shouldn't take took long [11:05] wwitzel3, np [11:07] wallyworld: so does something like this look plausible? http://paste.ubuntu.com/7124711/ [11:07] looking [11:08] rogpeppe: almost. the tools metadata is generated off tarballs, not just jujud. so we need to add a tar step [11:09] i'd have to look at the juju build tools code to see exatly what goes into a tarball [11:09] i think we could extend the generate-tools to doa build step [11:10] wallyworld, +1, so long as it's explicit [11:10] yep [11:10] wallyworld, it's the inscrutable magic in upload-tools that, uh, screws us [11:10] yeah [11:11] wallyworld, https://codereview.appspot.com/78030045/ reviewed, no real blockers but I'd like a chat, brb for that [11:11] sure [11:11] wallyworld: right, so that's the kind of thing i'm thinking of that we should really make trivial to do, and it doesn't appear to be currently [11:11] there would be release scripts for it too [11:12] since that's what the guys use for CI [11:12] so we could look at packaging those [11:12] so far there's been no need to do it externally (apart from release) because upload tools does it [11:13] but if we get rid of upload tools, i agree 100% we need to add tooling support [11:14] wallyworld: it would actually be useful even without --upload-tools [11:14] wallyworld: i mean, even *with* --upload-tools [11:14] :-) [11:14] rogpeppe, fwereade, mgz https://codereview.appspot.com/76910044 - Client.ServiceDeployWithNetworks API [11:14] sure :-) [11:15] rogpeppe: the release scripts are hosted on lp, i can't recall the branch name right now [11:17] fwereade: if you wanted a quick hangout to clarify the branch, i can do that. ping me when you are redy [11:18] wallyworld, I'm back in the meeting hangout [11:18] ah no [11:18] rog/michael are there, let's start a new one [11:18] ok [11:18] wallyworld, https://plus.google.com/hangouts/_/76cpi6pcd36amc6k6f520f6lq8?hl=en === vladk is now known as vladk|away === vladk|away is now known as vladk === vladk is now known as vlad|lunch [11:31] mgz: does this look reasonable as a gobot config setting? http://paste.ubuntu.com/7124775/ [11:34] mgz: i've [11:34] mgz: here are the diffs: http://paste.ubuntu.com/7124790/ [11:34] jam: ^ [11:34] havin' a look [11:36] so, apart from being in the wrong format for juju set, amd I don't understand the diff at all [11:36] I'm oretty terriffied of go get as a tarmac test step [11:37] mgz: oh shit, it contains private keys [11:37] mgz: go get doesn't get anything if it's not already there [11:37] yeah, that sound have been paste.canonical.com :) [11:37] s/not // [11:37] mgz: do we need to change those keys now [11:37] ? [11:37] doesn't matter too much as we don't give the bot a public ip, so only people in canonical could screw us anyway [11:38] rogpeppe: nah, just get IS to take the paste down [11:38] oh, well, the launchpad private key is bad [11:38] that's free access to our trunk [11:39] hey everyone, come modify juju-core === vlad|lunch is now known as vladk|away [11:39] rogpeppe: I would *not* do go get as a test step [11:39] that, and it looks like you're wrapping the commands? [11:39] not sure why it looks that way [11:40] jam: i can't see how to get around it - how else do we add a new dependency without manually editing the configuration script? [11:40] jam: and go get is a no-op unless we've added a new dependency [11:40] rogpeppe: we have to do the work when updating a dep anyway [11:40] since you aren't doing -u [11:41] mgz, hey, btw, joyent-provider-storage still seems to be hanging around [11:41] mgz, we fixed the deps, right? [11:41] jam: when we update a dep, we can just do juju set tarmac bogus=foo [11:41] rogpeppe: well, we could do that anyway then [11:41] jam: to poke the bot into running the config-changed hook [11:42] jam: that doesn't help when we add a new dependency [11:42] jam: because the dependency won't be in trunk [11:42] jam: so go get -u .../juju-core/... won't fetch it [11:42] rogpeppe: I'm willing to have some potentially dangerous operations be manual, tbh [11:42] if it isn't something that happens all the time [11:42] jam: i'm not sure what you mean by "wrapping the commands" BTW. are you referring to the yaml quoting wrapping? [11:43] jam: why is this potentially dangerous? [11:43] rogpeppe: your diff has certain "verify_command" lines on 2 lines [11:43] jam: yaml quoting concatenates lines that aren't separated by a blank line [11:43] rogpeppe: it is downloading 3rd party code without a human actualyl running the command [11:44] jam: so is the "go get -u .../juju-core/... [11:44] " [11:45] rogpeppe: we initi [11:45] initiate it manually by changing config [11:45] vs everytime the bot sees a branch to merge [11:46] jam: maybe we should have a separate config setting holding additional branches to go-get [11:46] rogpeppe: that sounds like a good way to trigger it. [11:46] jam: in fact, that would be trivial to do, i think [11:47] jam: i don't think it requires any changes to the charm [11:49] * perrito666 wishes he would stop writing git pull when he tries to bzr pull [11:51] perrito666: `alias git="echo use bzr you fool"` [11:51] mgz: that won't work for *too* much longer :) [11:51] mgz: that is actually an idea I am really considering [11:51] you just need a noreallygit alias too :) [11:52] mgz: well "\git" is that in bash, IIRC [11:52] heh, I will only have this machine until friday so I could very well do that [11:52] jam, mgz: ok, how about this? http://paste.ubuntu.com/7124845/ [11:52] you can certainly do "\rm foo" to get around "alias rm=rm stuf" [11:52] * rogpeppe only just manages to avoid pasting private keys again :-) [11:53] rogpeppe: where is that unzip mongodb-server coming from [11:53] unalias -a is my friend [11:53] I could actually do a wrapper that checks in what kind of repo I am and do the proper thing without making me feel bad for misspelling bzr :p [11:53] rogpeppe: I nearly poked you :) [11:53] mgz: that's already there [11:54] mgz: it's actually the end of an apt-get install line [11:54] mgz: those are two packages that it's apt-get installing [11:54] oh dear god the diff syntax [11:54] I see [11:54] thanks [11:54] mgz: but yaml has wrapped the line, oh so helpfully [12:10] dimitern: i've made (almost) all the changes pwd [12:10] dimitern: ignore me for the moment [12:13] dimitern: PTAL https://codereview.appspot.com/77600048 [12:13] mgz: so does it look ok? [12:13] mgz: if so, i'll try it out [12:14] bodie_, ping [12:14] perrito666: it seems you have bzr whomai borked on your local machine [12:14] it's "Horacio n Dur" [12:14] mgz: ah, marvels of intermachine encoding [12:14] I guess macs suck with non-ascii? :P [12:14] mgz, did I miss a response to the joyent-storage question? [12:14] mgz: that is actually ubuntu server [12:15] fwereade, what's up :) [12:15] which does indeed suck with a few things non ascii [12:15] fwereade: probaly not, it just needs landing [12:15] something's been borked whenever I've tried, but I could actually force it through [12:15] bodie_, hey, i saw just looking at your MP -- would it be possible to get lbox set up so I can do shiny happy line-by-line comments on the review? [12:16] bodie_, to be fair, I haven't seen anything that needs commenting yet [12:16] mgz: thanks for the heads up, Ill fix it [12:16] perrito666: r2437.3.3 is fine, and that's the one *I* committed on ubuntu server :) [12:16] bodie_, but referencing particular bits of code inLP reviews is really tedious ;) [12:17] Understand, what's missing for me to be fully set up? [12:18] Rietveld? [12:18] mgz: again, my ubuntu server :p [12:20] natefinch: ping [12:20] bodie_, in one of the docs -- possibly CONTRIBUTING? it describes lbox setup [12:21] bodie_, I'm pretty sure you just need to auth with google on the CLI to use it [12:21] rogpeppe: sorta here [12:22] natefinch: if you had a moment, i wondered if you could join this call for a few moments to discuss bootstrap-state [12:22] bodie_, it also enforces description format and lets you auto-link bugs and stuff [12:22] wwitzel3 too, presuming you're pairing with nate currently [12:22] fwereade, the problem is that I'm working on a headless remote host configured with 13.10 since my local workstation is on 14.04 and refuses to play nice [12:22] https://plus.google.com/hangouts/_/calendar/bWFyay5yYW1tLWNocmlzdGVuc2VuQGNhbm9uaWNhbC5jb20.sbtpoheo4q7i7atbvk9gtnb3cc?authuser=1 [12:23] I tried using the happy MP technique in the doc and it asked me to open a web browser, which was impossible... [12:23] rogpeppe: I'm here [12:23] bodie_, you don't need to do anything *right now*, I've just approved it for you [12:23] bodie_, for which, tyvm [12:23] bodie_, sorry brb [12:23] wwitzel3: could you join us? [12:25] dimitern: any chance of a LGTM on that branch you reviewed? [12:25] rogpeppe: keep getting not allowed to join [12:25] rogpeppe: joining [12:25] wwitzel3: try changing authuser=1 to authuser=0 [12:25] wwitzel3: in the URL [12:25] wwitzel3: probably need to be in your canonical account [12:26] yep on my canonical account [12:26] rogpeppe: can you send me an invite [12:26] wwitzel3: the account is hard-coded in that URL (the first or second login with "authuser") [12:26] I usually strip that off [12:27] mgz: apparently "I am in argentina but set this up as an english server" confused a little bit the settings and it let me without proper LC_ALL [12:28] jam: it tells me I am the first one there, then I join, and then I get the not allowed message, this is on my canonical account, tried authuser=0 and removing it al ltogether [12:29] wwitzel3: I just invited your Canonical account [12:29] jam: thanks [12:29] wwitzel3: well, the link worked for me, but meh :) [12:31] http://blog.labix.org/2011/11/17/launchpad-rietveld-happycodereviews [12:31] anyone know if there's a way to do this in headless mode? [12:31] I'm working on a remote while we get 14.04 mongo nonsense up to speed [12:32] speaking of which, here's today's 14.04 mongo nonsense if anyone has a few brain cells to spare: http://paste.ubuntu.com/7124946/ [12:35] rogpeppe, i was mostly concerned with not using statetesting [12:36] rogpeppe, LGTM [12:37] rogpeppe, fwereade, I still need a review on https://codereview.appspot.com/76910044 please [12:37] bodie_, is that consistent? we have intermittent "no reachable servers"es that nobody's managed to get to the bottom of [12:38] mgz, ping [12:38] dimitern: hey [12:38] i'll double-check, but i'm pretty sure this is what I got last time [12:38] fwereade: bodie_: that particular test can just be run again, we haven't managed to track down why it takes >45s to start up the server. [12:38] it doesn't usually [12:38] mgz, I was wondering about your serviceNetworks branch [12:38] dimitern: thanks! [12:39] jam, wrt dimitern's review, I feel like we *really* need API versioning :/ [12:39] mgz, how far away are you from landing it? [12:39] dimitern: yeah, I need to add a test and land it, have just been poking jenv things [12:39] dimitern, and I'm afraid I have to eat, cath's just back [12:39] if it's blocking your path I'll go ahead and do that [12:39] fwereade, sure, when you can [12:39] mgz, almost - i can land mine without yours and then do a follow-up [12:40] to integrate [12:40] dimitern: I'll go ahead and finish it up [12:40] mgz, cheers! [12:40] perrito666, are you working on "CLI "juju deploy --network/--exclude-network"" card? [12:42] dimitern: I began last night but reached nothing in the time I had, I am now with the bug fwereade just threw at me, you can take it if you want (I just assigned to myself next available task, I have no particular interest in it" [12:42] ) [12:42] perrito666, not to worry, just checking to update the blueprint [12:49] mgz, can you handle the joyent call tonight? I need to stop a bit early [12:49] fwereade: sure [12:55] newest 14.04 mongo stuff (you were right jam, the timeouts went away on their own -- this is what I was seeing yesterday) [12:55] http://paste.ubuntu.com/7125084/ === vladk|away is now known as vlad|lunch === vlad|lunch is now known as vladk|away === vladk|away is now known as vlad|lunch === vlad|lunch is now known as vlad| === vlad| is now known as vladk|offline === vladk|offline is now known as vladk [13:07] rogpeppe, do you have time to look at https://codereview.appspot.com/76910044 ? [13:08] dimitern: am currently pairing with voidspace; should be able to have a look later. [13:08] rogpeppe, ok then [13:32] dimitern: could we not just add IncludedNetworks and ExcludedNetworks to params.ServiceDeploy, and make sure that the behaviour when they're empty is the same as the current behaviour of Deploy? [13:32] dimitern: i.e. keep the existing API call [13:33] rogpeppe, except we can't verify if the apiserver actually did anything when we set these [13:33] rogpeppe, (i.e. an old server will just ignore them) [13:34] rogpeppe, hence the new API call - we can test whether it's supported [13:35] dimitern: if we're talking to an old server, is giving an error actually better than doing something without networks? [13:35] dimitern: (given that we can't specify networks on that server) [13:35] did anyone have any thoughts on that test report? [13:36] oh [13:36] it's the mapreduce issue with not having the js engine [13:36] rogpeppe, yes, because we can detect and report it immediately, rather than hitting issues later [13:37] rogpeppe, if the server does not support it, that's fine - we can't do it, but it's better to know early from UX perspective [13:38] should I open a bug report for the issue? [13:40] bodie_, it seems you're using the juju-mongodb package? [13:40] bodie_, it doesn't have the v8 js engine built-in, hence the error [13:40] right [13:40] so that's a bug, right? [13:41] bodie_, please file one, yes [13:41] I know natefinch and a couple of others were discussing this yesterday [13:42] now, I'm not getting this error on my 13.10 instance [13:42] even though it is configured the same way (with juju-mongodb) [13:43] that's because the package in saucy is probably different? [13:43] however, I think its version of juju-mongodb is different -- 2.4.6 [13:43] yeah [13:45] dimitern: ok, i guess that's fair enough [13:46] dimitern: i don't see why we don't make DeployWithNetworks backwardly compatible with Deploy though [13:47] rogpeppe, what do you mean? [13:47] dimitern: well, you currently require some networks to be set [13:47] dimitern: i don't really see that's necessary [13:48] rogpeppe, that's the only thing different from servicedeploy [13:48] rogpeppe, why'd you call it otherwise? [13:48] dimitern: if it wasn't for the backward compatibility issue, we'd just call it Deploy, right? [13:48] dimitern: in some ways it would just be better to call this DeployV2 or something [13:49] dimitern: from a client point of view, they could *always* call DeployWithNetworks rather than Deploy [13:49] bodie_: the current position is that juju-mongodb is *only* for trusty, and older versions should use regular mongodb (with SSL) [13:49] rogpeppe, yeah [13:49] dimitern: (and that's true for our client code too) [13:49] rogpeppe, and if we *had* api versioning it would've been even easier [13:50] bodie_: sorry... you hit us just as this stuff was stabilizing (but before it was actually stable) [13:50] dimitern: not sure about that - if we went william's direction, you'd need to copy the entire API code [13:51] all good, I got my remote working so I'm happy [13:52] natefinch, isn't the juju-mongodb on Saucy just a repackaging of the system default? [13:52] rogpeppe, any api should have means of telling you "i support this" for a specific version [13:52] https://bugs.launchpad.net/juju-core/+bug/1295140 <--- filed bug [13:52] <_mup_> Bug #1295140: Trusty juju-mongodb map-reduce fails due to lacking js engine [13:52] bodie_: I have no idea. Possibly. [13:52] rogpeppe, and the ability to change the interface between versions [13:52] esp. one we need to support for 5y [13:53] another question: let's say I want to run "real" mongo on my workstation (I'm working on another project that uses it, which might need the js engine.) Can I have both packages installed? [13:53] dimitern: for this specific thing, i had in mind that we could ask the API what calls it supports, and potentially what the argument and return types look like [13:53] also, hullo [13:53] dimitern: that would have made it easy to add arguments to the call and still preserve the ability to check that the API implements it correctly, without needing versioning [13:54] dimitern: one other thing: you can embed params.ServiceDeploy into params.ServiceDeployWithNetworks [13:54] rogpeppe, yeah, that will save us a lot of boilerplate in the long run [13:55] rogpeppe, i did that initially, but didn't like it very much [13:55] bodie_: no idea about having multiples. I just have one, which is real mongodb built with SSL. That's probably your best bet. [13:55] rogpeppe, wasn't sure it'll serialize properly as well to be honest [13:55] dimitern: it serialises correctly [13:55] dimitern: here's another possibility: just add the parameters to Deploy [13:56] dimitern: but also add DeployWithNetworks as an alias for Deploy [13:56] yeah, that would be nice to get working [13:56] but since make install-dependencies installs juju-mongodb, I feel like that should work before I go tweaking things to make it work [13:56] rogpeppe, hmm.. that's a interesting possibility [13:56] I have my remote working, so I'm content until that gets cleared up [13:56] dimitern: then clients that care can call DeployWithNetworks; eventually we can deprecate DeployWithNetworks. [13:57] bodie_, it should be possible to have both packages running, since they use different ports for mongo, but i doubt anyone tested this [13:57] rogpeppe, ok, write that in the review pls [13:58] rogpeppe, i'll get to it once mgz lands his state changes [13:58] dimitern: ok, will do [13:58] thanks :) I think I'll wait to make sure the packaged version works before changing anything [13:58] i've just spent a week trying to get my tests to pass at all [13:58] so, the fewer degrees of freedom, the better [13:58] bodie_, :) fair enough === vladk is now known as vladk|offline [14:18] dimitern: for bug 1294776 does the node itself need to also be 14.04? I upgraded my MAAS provider to 14.04 but I have an all-machines log [14:18] <_mup_> Bug #1294776: No debug-log with MAAS, 14.04 and juju-core 1.17.5 [14:20] wwitzel3, istm you need 1.17.5 juju client bootstrapping on a 14.04 (v1.5 I think?) maas env [14:20] mgz, how goes bug 1291165 ? [14:22] dimitern: yeah, that is what I have .. 14.04 maas, 1.17.5 client, precise node ... I will install a trusty node as well and try it there. [14:24] wwitzel3, if've sure you rebuilt cmd/juju & cmd/jujud before bootstrapping with --upload-tools? [14:25] sinzui: doing a little juggling, will try to land today [14:27] dimitern: yeah I removed them before I re-ran go install. [14:29] mgz, wwitzel3 . I think CI will pass the current rev. I will defer your bugs to the next release (which might be tomorrow if your fixes land...or I call it 1.18.0 [14:30] sinzui: thanks for the update [14:30] sinzui: that sounds okay [14:34] Hey I am trying to run script for a test and, at some point the script creates an instance of amazon and tries to run "juju --show-log upgrade-juju -e amazon --version 1.17.6" which fails saying there are no matching tools available, I am running juju from trunk [14:34] any hints? [14:40] perrito666, better use --debug than --show-log, and put it after the command; you won't need -e envname if "amazon" is your current (juju switch) [14:41] dimitern: Ill make the changes, altough that is run by the testing script (which is not mine) [14:41] perrito666, then --version is not really needed (unless you want to force a specific version). paste the log you're getting? paste.ubuntu.com [14:41] dimitern: tx, Ill re run with the debug flag [14:41] Morning all [14:42] hey niemeyer [14:42] niemeyer: hiya [14:43] hi niemeyer [14:45] Yos! [14:49] rogpeppe: I updated our code with your pastebin, and modified it so it compiles.... I think it's the right translation to actual code, but when we do environs.NewFromAttrs() it says "Environment is not prepared" Which is like... uh, yeah, how can I prepare it before I have it to prepare? [14:49] rogpeppe: the new code: http://paste.ubuntu.com/7125553/ [14:51] natefinch: ah, i think you probably need to call environs.Provider(cfg.Type(), and then call prov.Prepare on the provider [14:51] rogpeppe: ahh [14:52] dimitern: http://paste.ubuntu.com/7125593/ [14:53] natefinch: alternatively you could use configstore.NewMem to create a configstore.Storage and call environs.Prepare [14:54] natefinch: i'm not sure that's worth doing though [14:54] dimitern: ignorethe python traceback there [14:55] rogpeppe: (or anyone) do you remember where we got to with a juju-level error for doing retries of provider transient issues at the sprint? [14:55] we don't seem to have landed anything [14:56] mgz: i can't quite remember if we wanted to land that on the providers themselves, or the code that calls them [14:56] a bit of both [14:57] mgz: did those gobot changes look ok to you in the end, BTW? [14:58] rogpeppe: I have some general fears still, but I'm happy to let you try blowing things up :) [14:58] perrito666, are you sure there are actually 1.17.6 tools available? [14:58] and have confidence We Can Rebuild It [14:58] mgz: i don't do the go get any more in verify, FWIW [14:58] dimitern: ¯\_(ツ)_/¯ most likely not [14:58] mgz: (but i'm sure you saw that) [14:59] yeah, last version seemed much less risky [14:59] perrito666, what's this script testing? [14:59] dimitern: backup/restore [14:59] For what I see in their jenkins logs they where running this with .5 [15:00] mgz: cool. i'll push it and see what happens. [15:00] perhaps I should try to fetch that rev [15:06] perrito666, I see [15:07] perrito666, try looking in the bucket for what tools are there [15:14] oh ffs, you can't do juju set with the output of juju get [15:14] that is really crappy behaviour [15:14] and the error is really not obvious [15:16] rogpeppe: that is ugly [15:17] huh, but... it must've worked before [15:17] i must be doing something wrong [15:17] rogpeppe: right, it sucks [15:18] mgz: ah, no i wasn't doing anything wrong [15:18] mgz: yes it does [15:18] you need to dedent everything a level and remove all the config junk [15:18] mgz: yeah [15:18] mgz: i remember going on about this before, but it stayed the same for compatibility reasons [15:18] mgz: but having encountered it for real, it really does suck badly [15:19] * rogpeppe writes a little shim to automate the crappy editing required [15:25] rogpeppe: do I need to prepare the environment after calling provider.Prepare? provider.Prepare returns an environ... seems like it would be weird to call environs.NewFromAttrs() to make a new environ again [15:26] natefinch: no, Prepare prepares the environment, not unsurprisingly [15:26] rogpeppe: ok, so, when the tests run, they're still getting a "environment not prepared" error [15:27] natefinch: where are you getting the environment config attributes from? [15:27] natefinch: you were obviously never a boy scout then [15:27] voidspace: I quit after cub scouts, it's true [15:27] "always be prepared"... [15:27] bdum-tish [15:32] rogpeppe: from dummy.sampleconfig [15:34] natefinch: right - they need to come from the environment [15:36] rogpeppe: I think they do? http://paste.ubuntu.com/7125800/ [15:37] rogpeppe: full file: http://paste.ubuntu.com/7125804/ [15:37] natefinch: no, they don't [15:37] natefinch: configs are immutable [15:38] natefinch: you need to get the env returned by Prepare and call Config on it to get the config [15:39] rogpeppe: ahh, ok. weird. Sure. [15:42] rogpeppe, updated https://codereview.appspot.com/76910044 - is it better now? [15:42] dimitern: looking [15:42] rogpeppe: ok, now the tests are saying environment destroyed, which is progress, sorta. [15:45] dimitern: reviewed [15:48] rogpeppe, cheers [15:48] * dimitern is away for 2h [15:53] mgz: a little workaround for juju's misbehaviour: http://paste.ubuntu.com/7125888/ [15:53] mgz: i've named it "juju-set" [15:55] anyone using goimports with vim? [15:56] voidspace: probably a lot of people, but not me :) [15:56] hah [15:56] I'm currently failing to get it working [15:57] voidspace: I had thought it was a drop in replacement for gofmt [15:58] voidspace: haven't actually used it [15:58] natefinch: you have to tell vim to use goimports instead [15:58] and the docs say: For vim, set "gofmt_command" to "goimports": [15:58] voidspace: or just rename it and put it ahead in the path? :) [15:58] but not actually showing how to do that [15:59] natefinch: hah [15:59] I was just thinking about goimports [15:59] voidspace: linux people are bad at directions. I don't know why [15:59] would have made my first commit a lot lazier [15:59] but I don't trust it [16:00] I had to insert an import by hand into 20 files :P [16:00] mgz: fwereade: do you guys have time to sync up with dstroppa on the joyent provider? [16:00] bodie_: I trust it, but I prefer to see the information about imports going into and out of the code... it's important information at times [16:00] mgz: fwereade I have a conflict but it would be nice to see where the joyent provider currently is. [16:01] mgz: how do i get ssh access to gobot node 0 (so i can run debug-log)? [16:04] ah, to set a variable in .vimrc you don't use set you use let [16:04] now it works [16:04] mgz: hmm, [16:04] 2014-03-17 11:53:25 INFO juju.worker.uniter context.go:255 HOOK # cd /home/tarmac/gwacl-trees/src/launchpad.net/gwacl; bzr pull --overwrite [16:04] 2014-03-17 11:53:25 INFO juju.worker.uniter context.go:255 HOOK Unable to obtain lock held by go-bot@bazaar.launchpad.net on taotie (process #31845), acquired 3 seconds ago. [16:04] <_mup_> Bug #31845: Debian sync too soon renders uninstallable in dapper [16:04] 2014-03-17 11:53:25 INFO juju.worker.uniter context.go:255 HOOK See "bzr help break-lock" for more. [16:04] 2014-03-17 11:53:25 INFO juju.worker.uniter context.go:255 HOOK bzr: ERROR: Could not acquire lock "(remote lock)": bzr+ssh://bazaar.launchpad.net/%2Bbranch/gwacl/ [16:40] brb, lunch [16:50] mgz: i'm seeing lots of this kind of thing on the 'bot: http://paste.ubuntu.com/7126134/ [16:51] mgz: are the "could not acquire lock" messages expected, or do i need to manually break the lock? [16:52] hi rogpeppe, natefinch : Do either you you have a minute to review this branch that increments the version: https://codereview.appspot.com/78320043 [16:53] sinzui: LGTM [16:53] thank you rogpeppe [16:58] natefinch: how's it going? [17:00] rogpeppe: I think it's working, our code just expects an instance to have been created, so I have to figure out how to get one of those in the environment (our code call env.Instances) [17:01] natefinch: you should be able to call StartInstance on the Environ [17:05] natefinch: you could perhaps do that directly after you call Prepare [17:19] rogpeppe: I'm surprised at how hard this is. Is there something that'll return the right StartInstanceParams that'll give me a generic machine? I don't know what fields to fill out, and an empty one just fails. [17:19] natefinch: your best bet is to look inside the dummy.StartInstance implementation, i'm afraid [17:19] natefinch: i could tell you what to do, but i'd have to do that first... [17:20] rogpeppe: that's fine [17:21] rogpeppe: aww, but I like hand holding, makes me feel safe [17:21] wwitzel3: :-) [17:31] rogpeppe, wwitzel3: from the package docs: The configuration YAML for the testing environment must specify a "state-server" property with a boolean value. If this is true, a state server will be started the first time StateInfo is called on a newly reset environment. [17:32] natefinch: i think you'll find that there is a state-server property already there [17:34] rogpeppe: yep, it's there and defaulted to true. But calling it returns "dummy environment has not state configured." sigh [17:34] it's like no one's ever actually tried to *use* this package [17:35] natefinch: calling what returns that? [17:35] rogpeppe: env.StateInfo() after calling Prepare(). DOcs made it sound like it would start up a dummy state machine. [17:36] natefinch: why are you calling StateInfo? [17:36] rogpeppe: "If this is true, a state server will be started the first time StateInfo is called on a newly reset environment." [17:37] natefinch: (BTW i'm pretty sure the code i gave you (largely inherited from before) sets state-server to false [17:37] natefinch: why do you want a state server? [17:37] rogpeppe: you're right, I missed that it was setting state server to false [17:37] rogpeppe: setting that to true makes StateInfo return "environment is not bootstrapped" which at least makes sense. [17:38] natefinch: why are you calling StateInfo? [17:38] natefinch: FWIW the docs are out of date - the state server is now started when Bootstrap is called [17:38] rogpeppe: I was trying to find a shortcut around having to write out a whole StartInstanceParam with MachineConfig, since I had no clue as to how to populate them correctly [17:39] natefinch: the dummy environment never creates instances unless you call StartInstance [17:39] natefinch: if you look in dummy.environ.StartInstance, it looks pretty clear which fields need to be set [17:40] rogpeppe: yes, but it's dumb that I have to look at the implementation to figure out what to set all those things to. Why not just set them for me if they're not set? Like I said, it's like no one has ever actually used this package. [17:40] natefinch: looks like MachineNonce, StateInfo.Tag, APIInfo.Tag [17:41] natefinch: mostly StartInstance is not called directly, but by higher level code that is expected to set those fields [17:41] natefinch: what you're doing is unusual, but i don't think you'll find it's that hard [17:42] natefinch: MachineConfig{MachineNonce: "bootstrap-nonce", &state.Info{Tag: "machine-0}, &api.Info{Tag: "machine-0"}} might do the job [17:43] natefinch: oh, and MachineId: "0" [17:44] rogpeppe: it needs machineId, too. Yes, it's not hard, I guess I just would have assumed someone would have made a helper method that would just set some reasonable defaults for people who don't care about the particulars of the bootstrap node. [17:44] natefinch: if it was done in more than one place, it would be worth doing [17:45] natefinch: once upon a time i seriously considered making the dummy environment create an instance at bootstrap time, but it broke loads of tests, so i didn't [17:46] natefinch: i guess you could add it as a config option [17:46] rogpeppe: now that I know what to look for, I see several tests are doing this, actually [17:46] natefinch: which ones, out of interest? [17:47] rogpeppe: worker/provisioner/kvm-broker_test.go has a startInstance method that does it. same with the lxc broker [17:49] rogpeppe: environs/jujutest/livetests does the same sort of "make up all the fake info and call startinstance" though, modifying it to fail on purpose [17:49] rogpeppe: I guess that's not several, but it's a few [17:50] natefinch: the broker tests aren't calling the dummy environ [17:51] natefinch: and in the end, there's no really good default for those parameters - they are genuine parameters to the StartInstance call [17:52] rogpeppe: I can make a function that takes a single string for machine id and defaults all the rest of it... that seems pretty defaultable. [17:53] natefinch: i guess if you want fake values for APIInfo and StateInfo, and the same nonce for all instances [17:54] rogpeppe: you just make the nonce "foobar-" + machineId [17:54] rogpeppe: Though to be fair, I don't really know what we use the nonce for. [17:55] natefinch: it's only used to guard against an extremely unlikely case [17:55] natefinch: that will probably never actually happen [17:55] natefinch: if the provisioner dies just after it's started the instance but before it's recorded the instance id in the state [17:56] natefinch: then when it starts again, it'll start another instance [17:56] natefinch: the nonce means that we can know when that old instance connects, that it's not the one we're expecting [17:57] natefinch: so for testing purposes, it can be anything tbh [17:57] natefinch: i wouldn't be against a testing.FakeMachineConfig(machineId string) *cloudinit.MachineConfig function FWIW [17:59] rogpeppe: I see. Thanks for the explanation. And yeah, that's basically all I really wanted. And maybe something in dummy to start up an environment easily. I just don't want anyone to have to go through my pain again. [17:59] natefinch: BTW i'm seeing replicaset test failures in the 'bot: https://code.launchpad.net/~rogpeppe/juju-core/521-peergrouper-publish/+merge/211785/comments/500728/+download [18:01] rogpeppe: that's annoying and sucky. I haven't really had a chance to go back and try to make them more reliable. [18:03] * rogpeppe is done for the day [18:03] such is my luck, found a bug by fixing another :p [18:04] rogpeppe: btw, there's juju/testing/instance.go which has a StartInstance method that takes an environment and a machineid :) It doesn't quite work, but it's close [18:04] s/method/function/ [18:05] natefinch: ah, i guess it needs tools [18:05] rogpeppe: yep [18:06] natefinch: i think you'll find that's more hassle than it's worth [18:06] rogpeppe: probably [18:10] hey what is under cmd/plugins, it it made by us too? [18:10] I see that restore backup seems to be re-implementing ssh and scp which are under utils [18:14] perrito666: yeah, it's made by us. I'm not entirely sure why it's reimplementing those things [18:15] natefinch: apparently it is reimplementing scp without using the identity file from ~/.juju which fails, at least on ec2 with a very sad and undescriptive error :p [18:16] perrito666: bzr blame to figure out who to complain to ;) [18:17] rogpeppe: well done on fixing the bot :-) [18:18] natefinch: roger.p but I am not sure if he is the author or just someone who moved stuff [18:20] perrito666: I think roger wrote at least some of it. send an email to juju-dev@lists.ubuntu.com if you want more information, I think most of the UK guys are out for the day by now. [18:34] natefinch: what would be roger.p name expanded? :p [18:34] perrito666: sorry, Roger Peppe, aka rogpeppe on irc [18:34] perrito666: he's in the UK. [18:34] ah I should have figured that on my own (who he is, not where) [18:35] perrito666: it's ok, there's a lot of people on the team [19:31] done for the day [19:42] o/ [19:47] thumper: morning [19:47] hey thumper [20:20] * thumper is off to a physio appt === thumper is now known as thumper-physio === BradCrittenden is now known as bac [21:05] mramm: ping === thumper-physio is now known as thumper [21:08] sinzui: how close are you to writing the release notes? [21:09] sinzui: I should write up something on the proxy support [21:09] thumper, streams.canonical.com did not update, so the release is stalled. [21:09] you can add to https://docs.google.com/a/canonical.com/document/d/1CAN-tmQYGLdy1Dd6Ra13EjzqYDivfVZnwRhTfjAdlOQ/edit [21:10] and I can revise if needed [21:10] ok, will do now [21:10] sinzui: can you make it so I can edit? [21:10] oops [21:11] thumper, reload [21:11] ta [21:11] I want to make sure I understand this bit about dynamic type. [21:11] http://golang.org/ref/spec#Type_assertions [21:11] the phrasing of this is kind of unclear. [21:12] "x.(T) => "asserts that the dynamic type of x is identical to the type T."" [21:12] I thought Go didn't have dynamic types at all [21:12] therefore, isn't this really saying: "interfaces are a container type; empty interfaces are satisfied by all types, and so can contain any type" [21:17] so it's not REALLY dynamic, just.... virtually dynamic. [21:17] bodie_: x needs to be an interface [21:17] yeah [21:18] the phrase "dynamic type of x" threw me off, I guess [21:20] sinzui: can you look over the addition there? [21:20] sinzui: actually, time to write some more [21:20] I will [21:29] sinzui: look ok? also added a section for lxc-clone [21:29] I see [21:32] thumper, this is all goos [21:32] good [21:33] cool [22:01] sinzui: ping? [22:03] perrito666, hello [22:03] have a moment for me? [22:03] Maybe in 15 minutes [22:03] sinzui: no hurry, it can wait [22:03] thank you === vladk|offline is now known as vladk === marrusl is now known as marrusl_afk === marrusl_afk is now known as marrusl [22:21] hi perrito666 [22:21] ji, sorry for the impolite ping instead of hello, I was paying attention at something else [22:22] say, I am working in https://bugs.launchpad.net/juju-core/+bug/1291022 [22:22] <_mup_> Bug #1291022: Cannot restore a state-server on ec2 and openstack [22:22] * sinzui nods [22:23] sinzui: yet, I am getting completely different errors :| [22:23] http://pastebin.ubuntu.com/7127660/ [22:23] can you tell me the specs of the installation where you ran the restore that you pasted on the ticket? [22:24] It would seem that it goes trough machine 0 setup and it blows on machine 1 [22:24] * perrito666 wonders if anyone ever managed to restore an ec2 using this [22:24] perrito666, 1. you get the crucial error I see when working with hp or aws [22:25] perrito666, The instrumentation of failure might be different because of the credentials and my version of euca/nova? [22:26] perrito666, the specs? do you mean the env.yaml I used [22:27] sinzui: 1) ah I thought that was part of the test given the message on line 155 [22:28] thumper, you know the uniter/debug timeouts -- I have a paste that says where they are when they timeout, in case you don't and it rings any bells: http://paste.ubuntu.com/7127717/ [22:29] perrito666, This cam from juju. I saw it on my command line for hp and ec2. I put the test into juju CI anyway wondering if I had a local setup problem: [22:29] error: cannot restore bootstrap machine: cannot get public address of bootstrap machine: machine "0" has no public address [22:29] perrito666, juju did standup a state server though. you can even get the status if it. [22:29] sinzui: I encountered some other issues (besides yours) that is what puzzled me [22:30] maybe juju is impatient. the public address will be available if it waits a little longer [22:30] sinzui: I think that is the problem, perhaps a race condition, altough, after that there is another bug which I solved on my local version :) [22:30] so you would not have arrived much further [22:31] perhaps it works here bc of the lag to the server [22:31] sinzui: http://pastebin.ubuntu.com/7127730/ [22:32] that's promising [22:32] perrito666, sinzui: fwiw we obviously *do* have that public address *somewhere* because we just sshed to it -- can we get it from there, instead of whatever we're using to look it up that's racy/faily? [22:33] fwereade: I think the issue is different [22:33] fwereade: I am in south américa and my connection to amazon is rather slow :) that gives the machine time to be provisioned and get an ip [22:33] perrito666, fwiw I have certainly run backup/restore against ec2, and seen it work, in the past [22:34] fwereade: my guess if that even if we could get hold of the ip (which I think we can) we would need to wait anyway [22:35] fwereade: well, running 1.7.6 here I found out that restore reimplements ssh/scp but omits to use identity file [22:35] at least in the context of the test, where an id_rsa is created for it [22:35] perrito666, ha, good catch [22:35] perrito666, that's worth a fix independent of anything else [22:35] other parts use utils/ssh which does use the right id_rsa and work [22:35] so for the sake of fixing this particular issue I hardcoded a few things on my local version to see if I could get to the end of the actual restore === vladk is now known as vladk|offline [22:39] perrito666, am I right in thinking that it's the rsyslog stuff that's failing there on machine 1? [22:39] perrito666, but regardless, that "need to wait anyway" is interesting,expand please? [22:41] sorry I was tending the laundry [22:41] fwereade: well, I was not able to reproduce the actual error reported by sinzui [22:41] perrito666, Since I have never seen a pass of my test, there are some lines that I assume will work. If the exit code of the restore is 0, the script calls status until it sees all the machines and unit agents have started. That has a 10 minute timeout. [22:43] I need to look into it but I guess that -> cannot get public address of bootstrap machine: machine "0" has no public address [22:43] perrito666, you have an error none-the-less. juju-backup exited and stated the update failed [22:43] means that it has to wait a bit more since the only difference between me and the test machines is a extrmely poor connection [22:44] I will take a deeper look [22:44] perrito666, this is the test run from a few hours ago: http://ec2-54-84-137-170.compute-1.amazonaws.com:8080/job/functional-backup-restore-devel/86/console [22:46] sinzui: I do get the connection error, which is strange because after that all marks success [22:47] well back to the research then :) I guess Ill tackle those one by one I only wish the test would not take so long [22:52] sinzui: thank you you have been very helfpul [22:57] fwereade: btw, aren't you on holiday [22:57] or was that yesterday? [22:57] perrito666, that was yesterday :) [22:58] agh, that always happens to me when I work from home [22:59] perrito666, it's ok, I'm actually programming this evening, and that makes me happy [22:59] perrito666, it must be late for you too ;p [22:59] well, I am debugging, which makes me happy, so we are all happy [22:59] fwereade: yes it is almos 8pm [23:00] got caught with this bug [23:00] perrito666, if you're still around when axw shows up he might have something useful to say about the rsyslog complaints on machine 1 [23:00] perrito666, maybe drop him an email when you stop if he's not around yet [23:00] fwereade: sure, can you translate axw into a real name.lastname :p ? [23:01] perrito666, ha, sorry, it's andrew wilkins [23:01] * fwereade thinks, and has a sudden crisis of faith [23:01] * fwereade was right [23:32] pop quiz: is floating point a valid configuration value type [23:32] marco-traveling: and I think no [23:32] would anyone care to refute that point ? [23:48] thumper: https://bugs.launchpad.net/juju-core/+bug/1295420 [23:48] <_mup_> Bug #1295420: local environment does not survive reboot on ppc64el [23:48] ^ i'm confused about this one [23:48] the units appear to be up [23:48] and there is no indicatoin that they are looping trying to reconnect [23:48] in their logs