/srv/irclogs.ubuntu.com/2014/03/26/#juju-dev.txt

davecheneytop - 11:08:40 up 16 days,  1:34,  9 users,  load average: 5.09, 2.39, 1.0200:08
thumperdavecheney: is it fixed already?00:27
davecheneyi have a partial fix that fixes the link error during compilation00:44
davecheneyi'm going (20 mins so far ...)00:45
davecheneydoing a00:45
davecheneyfull test run to see where we're at00:45
davecheneythe fix isn't suitable for upstream, but it gives me a starting point00:45
davecheneythumper: http://paste.ubuntu.com/7154127/00:45
* thumper nods00:45
davecheneythat isn't looking to bad00:46
davecheneythe fix is basically to reverse the order of the .a files presented to the linker00:46
davecheneybut a more sophisticated fix will probably be needed00:46
thumperlooks like an ordering issue for those failures00:46
davecheneyyeah, i suspect that once the tests build00:47
davecheneythe fixes to the failed test cases will be fairly straight forward00:47
thumperwallyworld: https://codereview.appspot.com/22320043/00:54
thumperwallyworld: resurrecting a 4 month old branch00:54
wallyworldok00:54
thumperbecause I want it for my plugin00:54
thumperdavecheney: agreed00:54
davecheneythumper: email sent01:09
thumperdavecheney: oh... kay...01:09
davecheneyas i said in there, i'm working on a less horrible fix01:09
davecheneythumper: you'll see, don't panic01:10
* thumper isn't panicing01:13
wallyworldthumper: standup01:31
wallyworldthumper: wallyworld axw alexisb waigani are al waiting for you to grace us with your presence01:31
axwthumper: did you say you don't know what the minimum version of lxc we require is02:03
axw?02:03
thumperaxw: correct...02:03
axwok02:03
thumperyou should ask hallyn02:03
axwmk02:04
thumperreally, it is the one that makes lxc-start move the container into the STARTING state02:04
axwwallyworld: so the user has to resolve provisioning errors, the provisioner won't just retry?02:21
axwlike resolving charm errors?02:21
wallyworldaxw: for now yes. the provisioner can't retry without extra logic, since if it is a rate limit issue, it would just compound the problem02:21
wallyworldwe need to add extra logic to be smart about how and when auto retry happens02:22
axwyeah okay. it'd need exponential backoff and so on02:22
axwthanks02:22
wallyworldnp02:22
wallyworldso first cut is just to provide the machinery and a manual trigger02:22
axwwallyworld: does it not make sense to have the machine watcher get notified when the machine's status changes?02:33
axwwallyworld: which would make the MachinesWithTransientErrors API redundant I think02:34
wallyworldaxw: sorta. but i wanted to keep the implementations separate because 1. we are close to release and i didn't want to dick with that logic too much, 2. we may well want to have separate queues / processing requirements for handling machines with errors02:35
axwok02:36
wallyworldit's all a a bit rushed sadly02:36
axwwell it's not being used, so if it turns out it can be done without the API then we can just not use it. but at least it'll be there if we do need it02:37
wallyworldperhaps we can revert to using the normal machine watcher, but i didn't want to risk breaking existing stuff what was expecting certain semantics for that watcher02:37
axwyep fair call02:37
wallyworldaxw: it's used in the branch i'm about to propose02:37
axwwallyworld: ok02:37
wallyworldby the provisioner task02:38
axwit's internal anyway02:38
wallyworldbut we can easily change that in future if we want to do it differently as it's an internal api02:38
wallyworldyrp02:38
wallyworldthe joys of trying to get stuff into a release02:38
wallyworldmaybe i'm being overly cautious, but i do like having this stuff go in as an orthogonal implementation to what's there02:39
wallyworldto reduce risk02:39
davecheneythumper: https://codereview.appspot.com/80300043/02:44
davecheneyfix proposed for the gccgo link order bug02:44
davecheneynow to make some spaghetti and see if I can roll a custom version of gccgo-go with that fix02:44
thumperdavecheney: ack02:45
thumperdavecheney: seems reasonable02:47
thumperdavecheney: except for this 'a.p.' malarky02:47
thumper:-)02:47
axwthumper: good question about the race condition - I honestly don't know, but I think you're right and it could race. I'll use locals for those vars updated in the goroutine03:01
thumperaxw: ok03:15
thumperwallyworld: got a minute for a hangout?03:16
wallyworldsure03:16
wallyworldthumper: you setting one up or me?03:18
thumperI'll do it03:19
thumpertypical of me03:19
thumperask a question...03:19
thumperthen "oh, look, shiney"03:19
thumperhttps://plus.google.com/hangouts/_/72cpjm79q3a5ke7h17c6in5qas?hl=en03:19
thumperaxw: what are you looking at now?04:03
thumperaxw: because two things leap to mind...04:03
axwthumper: was going to do some more azure stuff, but I can shelve that again04:03
thumperaxw: the more urgent one is "warn about empty .jenv file" as opposed to being too dumb04:04
thumperaxw: second one is 'juju unset-env'04:04
axwthumper: warn about empty file and then act as if it didn't exist?04:04
thumperumm... I'm not sure04:05
thumperI'm tempted to just tell them it is there, and stop04:05
thumperthe whole reason it is created empty is to grab the namespace04:05
thumperit is only weird edge cases where it would be empty and there04:05
axwyeah true. I guess we'll need a utility to help people clean stuff up when we actually do have the config hosted04:06
* thumper nods04:06
axwI'll just have it exit for now with a message pointing at the location04:06
thumperI think that is reasonable04:07
thumperit should (fingers crossed) no longer happen04:08
axwthumper: was just looking at IRC logs and looks like mgz is still working on it. I'll do unset-env for now, if you have no objections04:16
thumperok04:16
thumperaxw: I've emailed fwereade and jam about it04:20
axwthumper: okey dokey04:20
axwderp04:31
axwthumper: I mucked up the Infof in cmd/juju/common.go04:31
axwit says bootstrap fails even when it doesn't04:31
thumperhmm...04:31
* axw fixes04:31
thumperoops04:32
mattywdavecheney, ping?04:34
axwwallyworld: quick review please? https://codereview.appspot.com/8033004304:41
wallyworldsure04:41
axwwallyworld: thanks for updating the client thing - will take another look in a bit04:41
wallyworldnp, i was glad to get a 2nd opinion04:41
davecheneymattyw: pong04:46
axwwallyworld: reviewed again - sorry, missed something before04:57
wallyworldsure, looking04:57
axwwallyworld: I can't think of a way to solve the attribute error thing without a tonne of extra work, so if you don't mind I'll land this and we can iterate later06:38
axwat least then the API will be in06:38
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
axwjam: the go.crypto/ssh ProxyCommand doesn't shell out to "ssh", it shells out to "juju ssh"06:58
axwso effectively calling back into the same go.crypto/ssh code06:58
wallyworldaxw: ok07:17
rogpeppemornin' all07:49
jammorning rogpeppe09:03
rogpeppejam: morning09:06
rogpeppejam: are you around for a quick chat?09:07
voidspacemorning all09:31
rogpeppevoidspace: hiya09:31
=== vladk|offline is now known as vladk
* fwereade is just about to do some reviews, but would like it if someone would take a quick look at https://codereview.appspot.com/80540043/10:03
perrito666good morning eeryone10:05
rogpeppefwereade: would you be available for a quick chat?10:09
perrito666fwereade: looks good altough you might want to have opinion from a more expert dev10:12
rogpeppefwereade: what problems did the tests find?10:22
fwereaderogpeppe, sure10:22
fwereaderogpeppe, just a couple of things like Checking an error and not returning10:23
fwereaderogpeppe, so a subsequent look at a FileInfo would panic10:23
fwereaderogpeppe, I had it in one place and not another10:23
fwereaderogpeppe, dirs weren't checking perms or something?10:23
rogpeppehttps://plus.google.com/hangouts/_/canonical.com/juju-core?authuser=110:24
perrito666if someone has a moment, I would appreciate this to be looked at https://codereview.appspot.com/80560043/patch/1/1000210:33
dimiternperrito666, looking10:36
dimiternperrito666, reviewed10:38
perrito666dimitern: thank yu10:38
dimiternperrito666, i forgot to mention that this won't work on windows, but that's ok I guess10:46
dimiternperrito666, or perhaps it will.. not sure (testing needed)10:47
perrito666dimitern: utils ssh lacks an implementation for windows? (I guess that would depend on cygwin or smth on that area)10:47
dimiternperrito666, no, but on windows because we're not using openssh's scp no extra arguments can be passed to the command (not sure if that's relevant)10:48
mgzcall is a bit bad for me this morning...10:48
perrito666dimitern: fixed11:03
dimiternperrito666, cheers11:05
dimiternfwereade, rogpeppe, mgz, https://codereview.appspot.com/76910044/ is ready to land - want a last look?11:05
mgzdimitern: sure11:08
perrito666anyone else wants to take a look at? https://codereview.appspot.com/80560043/patch/1/10002 it is fairly short11:17
perrito666dimitern: extra tx if you paste the links here11:21
perrito666:) different computer11:22
dimiternperrito666, sure: https://wiki.edubuntu.org/SecurityTeam/TestingMAAS  http://marcoceppi.com/2012/05/juju-maas-virtualbox/11:28
perrito666dimitern: sory, I use another machine to be able to hold hangouts that long11:29
dimiternperrito666, I should start following your lead in that soon :)11:29
perrito666I use a mac, which has hardware accel for that, yet it gets kind of hot, I guess I should get an android tablet or similar11:30
dimiternmarcoceppi, nice article btw :) ^^11:40
marcoceppidimitern: thanks, it's too bad virtualbox and maas don't play together nicely11:41
dimiternmarcoceppi, yeah, I tried myself twice before deploying maas + vbox (unsuccessful)11:41
marcoceppidimitern: it's much better to use maas + qemu/kvm11:42
dimiternmarcoceppi, I tried that yesterday and almost got it working - pxe boot working (with both cluster controller vm and a blank node using single NIC bridged to virbr0), but after commissioning the outbound networking on the new node is not working11:43
voidspacebrb11:43
marcoceppidimitern: how is your maas setup? does it own dchp, etc?11:44
dimiternmarcoceppi, yeah, it has 2 nic (lo and eth0 - the bridged one; also managed in maas for dhcp + dns)11:45
dimiternmarcoceppi, had to set the default domain config from local to "", because it seems avahi boot is not working11:45
marcoceppidimitern: is ip_forwarding setup properly with the masquard rules, etc?11:45
marcoceppidimitern: it took me a long time to get maas-master networking configured correctly11:46
dimiternmarcoceppi, and I also set the iptables rules according to the TestingMAAS article11:46
* marcoceppi reads article11:46
marcoceppidimitern: there are some scripts that might help you setup the networking, actually11:46
dimiternmarcoceppi, ip_fwd on cluster vm or on the host (the latter is on)11:46
marcoceppilatter11:46
dimiternmarcoceppi, so pxe boot works, but as the new node starts apt-getting stuff it fails to resolve archive.ubuntu.com urls11:47
marcoceppithe fact that this is saying cobbler convinces me it's out of date. I don't think maas uses cobbler anymore11:47
dimiternyeah, it doesn't11:48
dimiternbut I used the alternative (installing maas-dhcp and configuring it through the web ui)11:48
marcoceppidimitern: well, there should be a squid-deb-proxy running on maas master, you should be able to set the apt-mirror url in maas to piont to the maas master's internal network ip11:48
marcoceppibut that won't solve needed to resolve addresses outside of the machine11:48
dimiternmarcoceppi, so just install squid-deb-proxy on cluster controller, add a new archive from the web ui?11:49
marcoceppidimitern: also, is it not connecting to the outside or is it a dns lookup issue?11:49
dimiternmarcoceppi, not sure if it's just dns resolving issue or outbound networking in general, need to look into it11:50
marcoceppidimitern: if you can get to a node in maas, you should be able to ping a network address, and if you can, you'll just need to set up the proper DNS forwarding route for the maas dns server11:50
dimiternmarcoceppi, the frustrating thing is that the guide wasn't specific on how to setup the new nodes' networking when creating the vm11:50
marcoceppidimitern: just DHCP should be sufficent11:51
dimiternmarcoceppi, but following yours, i decided all vms have nic bridged to the virbr011:51
wwitzel3dimitern: I had to set the external DNS server for my nodes to resolve archive.ubuntu11:51
dimiternmarcoceppi, so the node appears and stays in commissioning (in some cases even ready), but the fqdn is something like ";; cannot resolve xyz ;;"11:51
dimiternwwitzel3, with libvirt?11:52
perrito666well as an alternative, you can use virtulbox in nat mode and then do a reverse ssh tunnel from within the maas machine11:52
perrito666the master that is11:52
wwitzel3dimitern: yes, in MAAS/settings11:53
wwitzel3dimitern: there is an Upstream DNS11:53
dimiternwwitzel3, ah, ok, I'll try that11:53
wwitzel3dimitern: also, I set the default domain to some fake internal domain, like my.maas and added the maas controller to my resolv.conf as the nameserver for that domain11:53
dimiternwwitzel3, cheers11:54
voidspacerogpeppe: want to rejoin the hangout?11:56
voidspacerogpeppe: it's empty11:56
voidspacewell, except for me...11:56
rogpeppevoidspace: will do11:57
perrito666dimitern: could you ack the chanes, just to be sure? https://codereview.appspot.com/80560043/patch/20001/3000211:59
wwitzel3rogpeppe: https://codereview.appspot.com/72500043/11:59
* perrito666 has the button hanging over the submit11:59
rogpeppenatefinch: would you be able to join us in the hangout?12:00
rogpeppenatefinch: (https://plus.google.com/hangouts/_/canonical.com/juju-core?v=1395698400&authuser=1)12:00
bodie_morning all12:04
dimiternperrito666, looking12:09
dimiternperrito666, reviewed, just one minor thing12:10
perrito666wwitzel3: was it you that asked me how to make gofmt go trough vim?12:10
dimiternfwereade, rogpeppe, mgz, poke about https://codereview.appspot.com/76910044/12:10
wwitzel3perrito666: well I can make it automatically run, I just can't get it to highlight the lines with errors12:11
perrito666wwitzel3: ah I got it to jut fix the file :p12:11
perrito666which is faster12:11
wwitzel3perrito666: well mine does that too as long as there aren't any synxtax errors12:11
wwitzel3perrito666: but if there are syntax errors, it just outputs "go fmt returned an error" and doesn't tell me what line, so I have to drop to the command line and run go fmt to see where the error actually is.12:12
perrito666wwitzel3: i think I can add that to fmt.vim :) ill try on the weekend12:13
mgzdimitern: going over it now12:14
mgzdimitern: lgtm12:20
dimiternmgz, ta!12:20
perrito666dimitern: fixed, merging then :)12:21
perrito666dimitern: thank you very much12:21
dimiternperrito666, go for it12:21
perrito666mm, apparently has a conflict with my other branch, how should I fix that?12:26
mgzpull trunk, merge trunk in to the branch you're trying to land,12:29
perrito666ack12:30
dimiternperrito666, switch to trunk, pull it in, then switch to your other branch and do "bzr merge :parent"12:30
mgzresolve the conflicts, commit, push, then tell the bot to try again12:30
dimitern:)12:30
dimiternrogpeppe, do you have a minute?12:30
dimiternrogpeppe, I'm wondering why this fails http://play.golang.org/p/VPC3P2nGYQ ?12:31
rogpeppedimitern: gimme 5 mins12:31
dimiternrogpeppe, sure12:31
dimiternperrito666, ah, one thing you might need - after merging, resolving, committing and pushing, you'll probably need to add a comment on the MP to self-approve the changes12:32
perrito666after merging and committing I du another propose right?12:38
mgzjust the landing step12:41
mgzno really need to lbox12:41
mgzflip the approved on the mp is all you really need12:41
perrito666ok, I just bzr push then go to the mp in launchpad and hit approved12:41
mgzyup12:41
perrito666ok, makes sense12:42
wallyworldjam: fwereade: i added support for multiple machines also12:46
voidspacehttp://en.wikipedia.org/wiki/Toast_sandwich12:57
dimiternrogpeppe, I'm really banging my head here on this one13:03
rogpeppedimitern: ok, looking13:03
rogpeppedimitern: what does jc.DeepEquals print?13:04
dimiternrogpeppe, mismatch at ["services"]["network-service"]: validity mismatch; obtained map[interface {}]interface {}{"charm":"cs:quantal/dummy-1", "exposed":false, "networks":map[interface {}]interface {}{"disabled":[]interface {}{"net3", "net4"}, "enabled":[]interface {}{"net1", "net2"}}}; expected <nil>13:04
dimiternrogpeppe, expected is actually not nil, but IsValid == false13:04
dimiternrogpeppe, here's the full output with some added logging: http://paste.ubuntu.com/7156594/13:05
rogpeppedimitern: the second one has "networks-service" not "network-service"13:05
rogpeppedimitern: http://play.golang.org/p/BWtpWAaiEf13:05
dimiternrogpeppe, ah!13:06
dimiternrogpeppe, tyvm13:06
rogpeppedimitern: np. i've been that same situation *so* many times!13:06
rogpeppedimitern: it was worse without jc.DeepEquals...13:06
dimiternrogpeppe, indeed :) at least it tell you at which point it fails13:07
mgzdarn plurals :)13:07
dimiternfwereade, mgz, updated https://codereview.appspot.com/76400049/ - now we show networks for services, not machines (ignore the branch name, don't know how to rename it)13:17
dimiternfwereade, I'd especially like your comments due to your not lgtm13:17
natefinchwwitzel3, rogpeppe: back in action, going to do some cleanup of the proposal branch13:24
rogpeppevoidspace: http://paste.ubuntu.com/7156661/13:25
rogpeppedimitern: are you free for a quick chat?13:26
rogpeppenatefinch: ok, cool. i'm afraid i haven't got any further with my review13:26
dimiternrogpeppe, sure13:26
natefinchrogpeppe: no problem13:26
dimiternrogpeppe, mumble?13:26
rogpeppedimitern: https://plus.google.com/hangouts/_/canonical.com/juju-core?v=1395698400&authuser=1 ?13:27
rogpeppedimitern: (i've forgotten how to use mumble...)13:27
dimiternrogpeppe, ok13:27
perrito666sinzui: hey, with the last landing you should be able to run the test for https://bugs.launchpad.net/juju-core/+bug/129102213:28
_mup_Bug #1291022: Cannot restore a state-server on ec2 and openstack <backup-restore> <ec2-provider> <hp-cloud> <regression> <juju-core:In Progress by hduran-8> <https://launchpad.net/bugs/1291022>13:28
sinzuiperrito666, fab, the test is being run with every revision. I will look for a pass with r248813:29
perrito666sinzui: plz keep me posted, I ran it successfully by integrating my branches, but ymmv13:33
bodie_HA!  I love this13:33
bodie_https://github.com/bradfitz/iter13:33
natefinchbodie_: I just saw that the other day, pretty great13:39
wwitzel3natefinch: can I call?13:41
natefinchwwitzel3: sure13:41
wwitzel3perrito666: I ended up using the syntastic bundle for vim and it does proper line highlighting or errors14:17
wwitzel3of14:17
perrito666:) that is very good news14:17
wwitzel3perrito666: yeah, it hilights the offending line and provideds the message14:18
bodie_looking for a quick leg up understanding /state/api/apiclient.go struct State14:20
bodie_if anyone has a sec, pm?14:20
bodie_thanks in advance :)14:21
bloodearnestsigh, *of course* mongodb charm doesn't implement any nagios relations14:30
voidspacealexisb: ping14:31
bloodearnestoops, that was meant for #juju14:31
=== hatch__ is now known as hatch
dimiternbodie_, api.State is the client-facing api facade, i.e. it emulates state.State, but through the api (it contains the underlying api connection as well)14:35
bodie_yeah, I saw that -- wasn't aware that it is the client frontend for State.state though. (useful!)14:36
bodie_I was going on the assumption that the API is an http endpoint but I'm thinking that is wrong. correct?14:37
marcoceppiis JUJU_HOME ~user or ~user/.juju ?14:42
marcoceppiit's the latter14:42
dimiternbodie_, strictly speaking it's a front-end of state.State as seen through the API only14:46
bodie_by API you mean the actual programmatic API, right?  Not the HTTP API14:47
bodie_I was under the impression the gui communicates with the program via HTTP API but now I'm recalling hearing that it uses websockets14:48
dimiternbodie_, the API endpoint itself is either https-based or websocket-based (the former is only used for uploading charms and fetching stuff from charms, the latter exposes the rest of the api)14:48
bodie_I see14:48
bodie_so if I want to add verbs to the API, I don't need to define them in the HTTPS frontend14:48
dimiternbodie_, if by verbs you mean api methods that can be used by clients (cli, gui, deployer, etc.), then you need to add them to api.Client as methods which call their apiserver.Client counterparts14:49
dimiternfwereade, rogpeppe, mgz, juju deploy --networks/--no-networks support, PTAL https://codereview.appspot.com/80600044/14:50
bodie_OK, I think that makes sense :) we had talked about doing it via hooks but I'm not positive that's the right way14:51
bodie_or at least, it gives me something to go on14:51
bodie_thanks for the help14:51
dimiternbodie_, what do you have in mind?14:51
=== vladk is now known as vladk|offline
dimiternbodie_, things hooks can do are very limited compared to the api14:52
bodie_service actions such as mysql snapshot14:52
bodie_there are a few of us who got roped in from the outside, trying to put it together over the next few weeks14:53
dimiternbodie_, what will that do? please, expand a bit.14:53
bodie_I think it's either an experiment to see how frustrating it is for newbies to dive into the deep end unguided, or we're on reality tv14:53
bodie_but here I am haha14:53
dimitern:)14:54
bodie_basically, a few Action words added to the command interface14:54
bodie_juju do, juju queue, juju cancel, and a couple of others14:54
bodie_the flow is like14:54
dimiternthe api code can be daunting at first, but it's really straightforward once you grok the way things pass through client->api->websocket->apiserver->state14:55
bodie_yeah, I'm kind of briding the first bit of that right now14:55
bodie_s/briding/bridging/14:55
dimiternah, so juju <command> can be added either in cmd/juju or as plugins named "juju-<command>"14:55
bodie_the flow is like -- juju do <node identifier> <service identifier> <verb as defined in the charm, e.g. snapshot> <arguments>14:56
dimiternsounds like you could use a plugin that calls juju run internally14:56
bodie_yeah, I think I get how to add a command now, I just want to make sure I understand what needs to happen once it gets triggered14:56
bodie_hm14:56
bodie_well juju run gets called by the command line already right? regardless of argument14:57
bodie_so we would just add a file to /cmd/juju/14:57
dimiternjuju run allows you to run scripts remotely on a unit or all machines inside the same context (env vars etc.) that a hook runs14:57
bodie_okay14:57
bodie_yeah, that's what I've been digging through over the last two days14:57
dimiterneither in cmd/juju/mycmd.go (for example) or as an executable juju-mycmd in $PATH - both will give you the ability to do "juju mycmd"14:58
bodie_right... and then I'll have to --upload-tools to test it (right?)14:59
dimiternno14:59
bodie_ok14:59
bodie_so let's say I want to have arguments to that command trigger stuff on the remote14:59
bodie_e.g. mysql dump14:59
bodie_the "run" on the node gets triggered by uh (checks notes015:00
bodie_)15:00
dimitern--upload-tools is needed in general to have the latest jujud binaries in the cloud; for client-side stuff (on your machine) you just need to rebuild cmd/juju or whatever other plugin/script you're using15:00
bodie_apiClient in /cmd/juju/run.go Run function15:00
bodie_triggers execution on the remote via rpc15:00
bodie_or -- triggers the remote function rather15:01
bodie_which is in /cmd/juju15:01
dimiternthe simplest way to do that is to first check if you can simulate what you need via juju run (or other commands)15:01
bodie_implementing RunCommand15:01
* bodie_ reads15:01
dimiternif it is sufficient, you can put them in a script and use that15:01
dimiternjuju run is quite versatile - check its help15:02
bodie_ok15:02
dimiternbodie_, juju ssh and juju scp are also useful to run stuff remotely or copy files across local/remote machines (but these do not give you hook contexts like run)15:05
bodie_OK, so maybe what we're actually doing is trying to make a Run alias that knows how to do certain things based on what's in the respective charm15:06
mattywrogpeppe, got a moment?15:06
rogpeppemattyw: sure15:06
rogpeppemattyw: hangout?15:06
mattywrogpeppe, we can do - irc is probably fine for this15:06
mattywunless you want to hear my voice ;)15:07
rogpeppemattyw: that's cool too, though i ache for the melodious timbre of your voice, obviously15:07
mattywrogpeppe, you're only human15:08
bodie_how poetic15:08
mattywrogpeppe, this review from fwereade https://codereview.appspot.com/75600044/diff/20001/state/user.go#newcode3215:08
mattywadmin user being allowed an empty password15:08
dimiternbodie_, i wouldn't call it "alias" (in CLI terms only actual commands can have aliases), but I got you - it's just a script that calls one or more times juju run and can take arguments15:09
mattywI'm sure there was a reason - but can't remember what/ if there was - do you have any wisdom to impart?15:09
rogpeppemattyw: i'm not really sure why we consider "admin" special in any way actually15:10
rogpeppemattyw: apart from for mongo access, which isn't relevant to this15:10
rogpeppemattyw: i'd prefer to avoid any name special-casing15:11
mattywrogpeppe, I'm starting to wonder if I snuck that code in so I didn't have to change loads of tests15:11
rogpeppemattyw: ha ha15:11
mattywrogpeppe, I'll try removing it and see what happens15:12
mattywrogpeppe, if you don't think it should be there either then I'll just have to bullet the bite15:12
rogpeppemattyw: looks like there are in fact a fair number of tests that call AddUser with an empty password15:12
dimiternI looking for reviews on https://codereview.appspot.com/76400049/ and https://codereview.appspot.com/80600044/ please15:12
rogpeppemattyw: why don't we just allow the empty password?15:12
mattywrogpeppe, I've changed a number of tests in that cl aready - you mean for all users?15:13
rogpeppemattyw: yeah15:13
mattywrogpeppe, I suppose so that makes sense15:14
rogpeppemattyw: given that a user can change a password to "password" or "a", i don't really see what preventing a blank password gives us15:14
mattywrogpeppe, very true15:14
mattywrogpeppe, fwereade I'm going to change the mp to allow the empty password for all users for now then if that's ok?15:15
fwereaderogpeppe, mattyw: that sounds fair to me15:19
fwereaderogpeppe, mattyw: state is probably not the place for that sort of policy enforcement anyway15:20
rogpeppefwereade: +115:20
mattywfwereade, rogpeppe where would be? (out of interest)15:22
rogpeppemattyw: if we wanted to, probably in the API15:22
fwereademattyw, rogpeppe: API layer IMO15:22
rogpeppenice when we concur :)15:23
dimiternfwereade, got some time to review my CLs?15:23
fwereadedimitern, first one LGTM15:41
dimiternfwereade, \o/15:41
hatchis there a way I can get a list of the charms loaded into the juju env? (uploaded and not necessarily deployed)15:46
hatchmaybe poking a db or something?15:46
natefinch rogpeppe: why is go test -c so dang slow?15:47
dimiternhatch, you could check the storage15:47
rogpeppenatefinch: it's quicker if you do go test -i first15:47
hatchdimitern cool thanks15:48
fwereadedimitern, couple of thoughts on the second, let me know when you've read it15:48
dimiternfwereade, cheers15:49
natefinchrogpeppe: that doesn't seem to make a noticeable difference.  It's just, I can compile in .2 seconds, but test -c takes 1.2-1.5 seconds for the same package15:50
natefinchrogpeppe: the reason I care is that I want to be able to find compile errors in tests when I make changes to code, and not have to actually run the tests to check.   I can recursively call go test -c in all subdirectories, but it takes forever15:51
dimiternfwereade, right now we can't verify if the provider supports networks, but we can do it later if we have a way to introspect the provider capabilities reliably15:51
=== vladk|offline is now known as vladk
roaksoaxalexisb: here17:55
roaksoaxerr17:55
roaksoaxsorry17:55
roaksoaxallenap: here17:55
allenapmgz: Can I borrow your brain? roaksoax (or one of his team) is seeing http://paste.ubuntu.com/7153235/ with Juju 1.5 but not 1.4. I can see what’s going on in MAAS, but I can’t figure out what has happened to get to this point.17:55
allenapmgz: It’s like Juju is trying to start a node that it doesn’t own.17:56
allenapOr that isn’t allocated.17:56
roaksoaxmaas 1.517:57
roaksoaxwithjuju 1.617:57
allenaproaksoax: Is this after an upgrade from precise to trusty?17:57
allenapOops, of course.17:57
mgzallenap: looking :017:57
allenapmgz: Thanks!17:57
roaksoaxallenap: this is maas in trusty17:57
perrito666rogpeppe: are you around?17:58
rogpeppeperrito666: yup17:59
perrito666rogpeppe: I have an issue and mgz said youmight have an answer http://pastebin.ubuntu.com/7158113/17:59
perrito666I want to do an instance of the struct as marked in the pastebin17:59
perrito666but GetField returns value, err17:59
perrito666do you know any elegant way to do it?18:00
rogpeppeperrito666: i might do. what the type that massNet.GetField returns?18:00
mgzallenap: so, is this from nodes/ acquire, or later?18:00
perrito666string, err18:01
mgzwe pretty much just ask maas to give us suitable things, regardless of juju version18:01
allenaproaksoax: ^18:01
mgzrogpeppe: my python insst18:02
mgz*instinct is to have a map of struct params to values, iterate over and use setattr, but reflection in go is much more heavyweight18:03
mgzallenap: I take it maas isn't logging the actual api call that was the trigger for the eventual perm error? it's a bit hard to see from the traceback, but I assume acquire, as that's when it'd start18:04
allenapmgz: Request logs should show the URL, but not the body. Logging in MAAS is not quite joined-up enough to do this easily.18:06
mgzroaksoax: can you pull out the url of the request from those logs too?18:06
roaksoaxmgz: i don't think we can18:08
rogpeppeperrito666: here's one of 3 possibilities: http://play.golang.org/p/fYV5AdaU_P18:08
allenaproaksoax: Are you able to reproduce this and do further diagnosis?18:08
roaksoaxmgz: so something I had seen long ago is for example, there are 10 nodes available in MAAS< then when you bootstrap, you have 9 available to use. SO if you add a extra server into MAAS, to have 10 available, juju would only know about 9 free and not 1018:08
rogpeppeperrito666: well 3 that i could think of straight off18:08
roaksoaxcould this be somehow related18:08
mgzrogpeppe: that's neat18:09
allenaproaksoax: Woah, that’s weird!18:09
perrito666rogpeppe: thank you18:09
allenapmgz, roaksoax: I’m really sorry, but I have to go. I’ll be back in <2 hours, once the kids are in bed.18:10
roaksoaxrharper: ^^18:10
roaksoaxrharper: mgz is requesting some type of logs for the failures you've seen18:10
rharpersure18:11
rharperso, we saw this in the juju status output: http://paste.ubuntu.com/7153156/18:11
rharperlooking on maas server logs, we saw this: http://paste.ubuntu.com/7153235/18:11
rharperbut the fundamental question is, can we bootstrap in parallel against a maas env; we have 4 jenkins instances, each one will bootstrap potentially in parallel, but never consume more hardware that we have available18:12
rogpeppeperrito666, mgz: here's another, slightly more straightforward approach: http://paste.ubuntu.com/7158165/18:13
rogpeppe(but somewhat less performant too)18:13
mgzrharper: the short answer is yes, with a current version of maas, provided you're using a seperate user account for each18:15
mgzin older versions, parallel use was borked18:15
rharpermgz: so, we're on precise -- the clients use juju-core from precise, so 1.16 --18:16
rharperwe have separpate maas user for each jenkins slave18:16
rharperso no one is using the same maas user18:16
rogpeppeperrito666, mgz: here's a third possibility: http://paste.ubuntu.com/7158198/18:16
mgzrharper: then this should certainly work. so you also have four juju users with the different maas user creds?18:17
rharpermgz: yep18:17
mgzand the maas is the one from the precise cloud archive?18:18
rharperFWIW, in practice it runs fine -- I posted above a strange juju status output where we din't have a dns value for one of the nodes; and that 403 error18:18
rharperroaksoax: what's the maas?  1.5 on trusty IIRC18:18
roaksoaxyup18:19
roaksoaxmaas 1.5 on trusty18:19
roaksoaxmgz: ^^18:20
mgzroaksoax: I can't see anything juju specific, though having an older client work when a newer one doesn't my be a helpful clue18:23
=== vladk is now known as vladk|offline
rharpermgz: any idea what that gomaasapi 403 would be about? or the permission stack trace from maas ?  is it even related to parallel stuff at all ?18:24
* rogpeppe has to run18:25
rogpeppenatefinch, wwitzel3: perhaps you could push your branch so that i can take a look in the morning18:25
rogpeppeg'night all18:26
natefinchrogpeppe: sure18:26
natefinchrogpeppe: night18:26
mgzrharper: so, the 403 is because of the perm error18:28
mgzwhy the perm error... is mysterious, it could be some scrambling from the accounts getting mixed somehow, but it could be all kinds of other things as well18:28
perrito666hey I am suddenly getting error: flag provided but not defined: --instance-id when running bootstrap, I am using trunk and boostraping in amazon18:29
rharperyeah, there was a claim of an edit -- but I can't figure out why anything would be issuing an edit18:29
rharperit's basically a juju-deployer run of an openstack install18:29
perrito666anyone bumped into thi?18:29
wwitzel3natefinch: can you hear me?18:29
natefinchnope18:29
rharpermgz: and only this one of the 7 machines that deployed and came up fine18:29
rharperfor this juju env18:29
voidspaceright, g'night all19:15
voidspaceEOD19:15
thumpermorning20:08
thumperfwereade: around?20:08
fwereadethumper, heyhey, been a while20:08
wwitzel3morning thumper20:08
thumpersure has20:08
thumpero/ wwitzel320:08
thumperfwereade: got a few minutes for a hangout?20:08
thumpero/ natefinch20:08
fwereadethumper, ofc20:08
thumperfwereade: https://plus.google.com/hangouts/_/7ecpisoldu4ri6vlrus3kt5tu8?hl=en20:09
natefinchmorning thumper20:09
wwitzel3natefinch: you back?20:18
natefinchwwitzel3: not really.  It's an online errand ;)20:18
wwitzel3natefinch: ahh ok :)20:18
thumperwwitzel3: you have set up vmaas, yes?20:28
thumperwwitzel3: can you look at https://bugs.launchpad.net/juju-core/+bug/1297899 ?\20:28
_mup_Bug #1297899: Libvirt machines deployed with MAAS and Precise is only able to successfully boot once <maas-provider> <juju-core:Triaged> <https://launchpad.net/bugs/1297899>20:28
davecheneythumper: test's running on ppc!!20:34
thumper\o/20:34
natefinchthumper: nice!20:35
thumperdavecheney: so https://bugs.launchpad.net/juju-core/+bug/1289067 fixed?20:35
_mup_Bug #1289067: arm64 multiple definition of `launchpad.net_juju_core_cmd._.0 <arm64> <ppc64el> <test-failure> <juju-core:Triaged by dave-cheney> <gccgo-go (Ubuntu):Fix Released by james-page> <gccgo-go (Ubuntu Trusty):Fix Released by james-page> <https://launchpad.net/bugs/1289067>20:35
davecheneythumper: i fixed it upstream yesterday20:35
davecheneymake sure you have gccgo-go~1.2.120:35
davecheneyreleased 8 hours ago20:35
davecheneythumper: natefinch http://paste.ubuntu.com/7158930/20:40
davecheneyactual ppc test results20:40
davecheneysinzui: http://paste.ubuntu.com/7158930/20:40
davecheney^ real honest to god test results on ppc20:40
davecheneyjust filtering out all the [LOG] lines now20:40
natefinchdavecheney: sweeeet20:40
natefinchdavecheney: https://github.com/natefinch/nolog20:41
sinzui\o/20:41
davecheneythumper: a lot of those failures are simple slice ordering issues20:42
sinzuidavecheney, I just updated wolfe-02. Just the one lib because eco are working on the machine.20:42
davecheneyprobably from stuff that is stored in a map20:42
davecheneythen we are returning the map keys20:42
sinzuiI expect great things in the next CI run20:43
davecheneysinzui: sure, you just need gccgo-go 1.2.120:43
sinzuiyep, that is what I got20:43
davecheneythumper: what is the 'official' fix to that class of test failures ?20:43
davecheneyshould I sort the results before comparing20:43
natefinchdavecheney: jc.SameContents20:43
davecheneyor is there a gocheck Checker for that ?20:43
davecheneynatefinch: thanks, that was the tool I was thinking of20:43
natefinchdavecheney: welcome20:45
sinzuidavecheney, thumper. CI is already running (well walking is a better verb) the arm64 unit tests. We are hours from seeing the result if the instance doesn't die of exhaustion: http://ec2-54-84-137-170.compute-1.amazonaws.com:8080/job/walk-unit-tests-arm64-trusty/51/console20:46
davecheneysinzui: cool20:46
thumperha20:47
davecheneysinzui: is that qemu, or the fast model simulator ?20:47
sinzuidavecheney, I think qemu. It is very slow.20:48
sinzuiI haven't been able to keep an instance up for more than 18 hours too20:48
natefinchwwitzel3: So, I don't know that I need to get back into the hangout for the last 12 minutes of the day.  Have you made any progress?20:49
natefinchwwitzel3: not sure when your EOD is today20:49
davecheneysinzui: the fast model is an oxymoron20:59
davecheneysinzui: thumper natefinch http://paste.ubuntu.com/7158982/21:00
davecheneycleaner results21:00
davecheneyso there are a bunch of simple problems like using the wrong checker21:00
davecheneythere is something in one package that causes a panic on ppc6421:01
davecheneyrepo_test.go:237: c.Assert(err, gc.ErrorMatches, expect)21:01
davecheney... error string = "invalid character '<' looking for beginning of value"21:01
davecheney... regex string = "Cannot access the charm store. Are you connected to the internet. Error details:.*"21:01
davecheneywe have a test that looks like it's not expecting to run behind a firewall21:01
davecheneylots of tool errors21:02
natefinchEOD for me21:03
davecheneyStarted service at: https://127.0.0.1:3389921:03
davecheneySet tools-metadata-url="https://127.0.0.1:33899/v1/1/juju-dist-test/tools"21:03
davecheneySet image-metadata-url="https://127.0.0.1:33899/v1/1/juju-dist-test"21:03
davecheneycaused by: Resource at https://127.0.0.1:33899/v1/1/juju-dist-test/tools/streams/v1/index.sjson not found21:03
davecheneycaused by: request (https://127.0.0.1:33899/v1/1/juju-dist-test/tools/streams/v1/index.sjson) returned unexpected status: 404; error info: 404 Not Found21:03
davecheneyThe resource could not be found.21:03
davecheneylooks like tool error again21:03
davecheneythe serious error is in RPC21:04
davecheneywhich is quiet serious 'cos that is what powers the api21:04
davecheneyok, a binch of errors because i didn't run godeps recently21:08
thumpersinzui: what are your 1.17.7 plans?21:08
davecheneysinzui: do you want21:08
davecheneya. individual bugs for these test faliures21:08
davecheneyb. one bigass bug for it all21:08
davecheneyc. no bugs, just fixes21:09
thumperwwitzel3: are you still around?21:10
sinzuidavecheney, I actually like individual bugs. Each is something valuable to say we fixed21:14
davecheneysinzui: right ok21:14
davecheneyi might do it a bit arse backwards and raise a bug when I raise a mp21:14
davecheneyi don't think it is super valuable to do a pass of all the things that re not passing21:14
davecheneywe have more than enough bugs21:14
sinzuidavecheney, I have done the same when my head is working on this fix21:15
davecheneyand they will possibly be dupes21:15
davecheneyand finally, we have the juju CI for the overall status which is reported to our betters21:15
sinzuidavecheney, We can dedupe. We always look better when we can say, we fixed more than we planned21:15
davecheneysinzui: ok, i'll use my judgement21:16
davecheney(everyone backs slowly away)21:16
sinzuithumper I really like the state of Juju. I will release 1.17.7 tomorrow. I will pick a rev that CI likes. Well I will caution that canonistack is sick and I might make those tests optional21:17
thumpersinzui: what's up with canonistack?21:17
sinzuiah, abentley has already made them optional21:17
sinzuithumper, The cloud is suffering very poor performance. Tests that took 5 minutes last month now take 30. I can complete tests in azure fater21:18
sinzuifaster21:18
thumperomg21:18
thumperthat is terrible21:18
davecheneycanonistack, now slower than azure21:19
davecheneynot something I want on a bumper sticker21:19
thumperhaha21:19
sinzuithumper, The slowness may also be exacerbating issues were juju status returns an error. Aaron is adding a retry to the rules. Retrying status for 10 minutes is faster than starting the test over for 30 minutes21:19
davecheneycanonistack, it's got electrolites21:19
davecheneycanonistack, shut her down, she's sucking mud!21:21
wallyworldthumper: ffs, lachie has left some school books at home, i need to go and take them to the school, bbiab22:52
davecheneyniemeyer: you around ?23:23
niemeyerdavecheney: yo23:23
davecheneyniemeyer: http://paste.ubuntu.com/7159729/23:23
niemeyerdavecheney: Hmm23:23
niemeyerdavecheney: What happened to the entries?23:23
davecheneythis is on ppc6423:24
davecheneybuilt under gccgo23:24
davecheneythe syscall pacakge is different there23:24
niemeyerdavecheney: Slightly awkward in this case, I suppose23:24
davecheneyniemeyer: is there a build tag for the compiler ?23:24
niemeyerdavecheney: This is an ioctl for the terminal device23:24
davecheney // +build gc ?23:24
davecheneythe constants will be the same, it is linux after all23:25
niemeyerdavecheney: It's not clear why gccgo and ppc aren't happy about it23:25
niemeyerdavecheney: Right23:25
niemeyerdavecheney: Also, FWIW, this is stolen from the stock go.crypto ssh23:25
davecheneyniemeyer: yeah, that also doesn't work on ppc :*23:26
davecheney:(23:26
niemeyerdavecheney: But it's a pretty minimal part of it23:26
davecheneyniemeyer: if I did up a patch that use a build tag on the compiler23:26
niemeyerdavecheney: This is just grabbing the username and disabling echo for the password23:26
davecheneyto either import the constants frmo syscall if the compiler is gc23:26
davecheneyor define them locally if it's gccgo ?23:26
niemeyerdavecheney: I suggest just defining them locally all the time.. if that makes ppc happy, we can just put a sad-face comment above it, and ask somebody to fix it for us eventually23:27
davecheneyniemeyer: SGTM23:27
davecheneythis is in the _linux.go file23:28
davecheneyand those constants do not change23:28
davecheneyniemeyer: will propose a patch real soon23:28
niemeyerThanks!23:28
davecheneyniemeyer: https://code.launchpad.net/~dave-cheney/goetveld/003-fix-syscall-constants-for-gccgo/+merge/21296123:39
davecheneydid this on my local machine23:39
davecheneyas lbox isn't working on ppc23:39
davecheneytesting on there now23:39
davecheneyubuntu@winton-02:~/src/launchpad.net/lbox$ lbox23:41
davecheneyUsage: lbox <command> [options]23:41
davecheneyyup, now it works23:41
niemeyerdavecheney: Have you tried an interaction that requires the terminal stuff?23:50
davecheneyniemeyer: yup, works fine23:54
davecheneyaxw https://bugs.launchpad.net/juju-core/+bug/129811523:54
_mup_Bug #1298115: utils/ssh: test failures <ppc64el> <juju-core:Triaged> <https://launchpad.net/bugs/1298115>23:54
davecheneyniemeyer: thanks!23:58
niemeyerdavecheney: No problem, and thanks for the fx23:59
niemeyerfx23:59
niemeyerfix23:59
niemeyerThinkpad's are not the same anymore23:59

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