/srv/irclogs.ubuntu.com/2016/02/24/#juju-dev.txt

ericsnowwallyworld: I'm becoming less convinced that merging the charm store call is worth trying before we've settled the charm store API with Uros and co.00:41
wallyworldericsnow: it's not settled? how is the new worker been done then?00:42
ericsnowwallyworld: making it work will require touches in the charmrepo code that may not be desireable00:42
wallyworldif there's no api?00:42
ericsnowwallyworld: I'm talking about the call to the charm store (the worker part isn't a problem)00:43
wallyworldso the worker doesn't do anything?00:43
ericsnowwallyworld: it only runs the updater that got passed in to the worker's config00:44
wallyworldand that is a stub then i guess?00:44
ericsnowwallyworld: ultimately the worker triggers an API call and the charm store API call happens on the controller00:44
wallyworldok, i guess i was expecting the api to be sorted before starting on the worker00:45
ericsnowwallyworld: I'm talking about the charm revision updater and I think you might be talking about the new resource poller :)00:45
wallyworldwe're talking about both i think?00:45
ericsnowwallyworld: k00:46
wallyworldanyways, if the api is not done, then yeah we need to sort that first00:46
ericsnowwallyworld: anyway, the API server makes a call to charmrepo.CharmStore.Latest(), which gives back a slice of ints (for charm revisions)00:46
wallyworldyes00:47
ericsnowLatest, in turn, uses that "meta" GET to get that info00:47
wallyworldyes00:47
ericsnowand that does not support resources yet, AFAIK00:47
wallyworldok, that's what i wasn't sure of, i thought it would if we were polling for respource updates00:48
ericsnowso that will have to happen plus the CharmStore.Latest() method will have to change its signature00:48
wallyworldyep00:48
wallyworldgiven a charm is now a tuple, it makes sense for Latest() to need updating00:49
=== cherylj_ is now known as cherylj
ericsnowI would not be surpised if the charm store API grew a more dedicated way to get the combined  info we want for the worker00:49
wallyworldpossibly00:50
ericsnowI will still combine the workers, even if (for now) we are making multiple charm store API calls00:50
wallyworldthat would be good00:50
wallyworldless moving parts00:50
cheryljcan I get a review?  https://github.com/juju/juju/pull/451400:51
cheryljIt's a backport of a PR that's been merged into master00:51
cheryljand is reviewboard not picking up PRs?00:51
wallyworldcherylj: rb has been flakey this week00:51
wallyworldlooking00:51
ericsnowwallyworld: and necessary once we consolidate the 2 charm store API calls00:51
wallyworldyep00:51
wallyworldfits the model better too00:51
alexisbwallyworld, tab completion has stopped working for me also00:52
alexisbwith the latest master00:52
wallyworldalexisb: damn, i thought there was something wrong00:52
wallyworldnot surprised00:52
alexisbug00:53
wallyworldbecause cli has changed so radically00:53
wallyworldhence i raised it :-)00:53
alexisbI didnt remove any tab completion code though00:53
alexisband it was working with my last commit00:53
alexisbthis is new00:53
wallyworldno, but the code uses the cli to figure out what to tab complete00:53
wallyworldhmmm, ok00:53
wallyworldmaybe false alarm, i'll try running the make target00:54
natefinchI filed a few bugs about our tab completion.. in many cases it just panics00:56
natefinchor at least it did in 1.x00:56
wallyworldalexisb: i just ran the make target "install-etc" and it seems to wrok again00:57
wallyworldmaybe that was all i was missing before00:57
wallyworldcherylj: +1 on that pr00:58
alexisbweird the only thing I changed in my setup was a new pull of master00:58
natefinchalexisb: I had problems with tab completion barfing if the "current" environment (now, model) wasn't bootstrapped01:00
wallyworldif any command returns an error, it won't work01:00
natefinchwallyworld: the problem I had was that it would spew out garbage into the terminal in that case01:01
wallyworldas it uses the CLI "juju help commands" to figure stuff out01:01
alexisbnatefinch, interesting01:01
alexisblet me mess with that for a minute01:02
wallyworldgarbage on terminal would do it yeah01:02
natefinchwallyworld: oh yeah, the ridiculous code that reads the stdout of a run of the command... good lord01:02
natefinchwallyworld: I remember making a ton of tests fail by inserting a fmt.Printf() for some debugging code and BOOM all this code that reads stdout failed01:03
wallyworldsometimes our tests look at what's written to the user but that makes them fragile01:04
alexisbok my issue was different01:05
alexisbI had a conflict on the alias and it toasted the whole thing01:05
alexisbsorry for the false alarm01:05
wallyworldalexisb: this scares me01:06
wallyworld# juju-core.bash_completion.sh: dynamic bash completion for juju cmdline,01:06
wallyworld# from parsed (and cached) juju status output.01:06
natefinchahh, yeah, I've done that01:06
wallyworldjuju status output is now all different01:06
wallyworldso completion will fail for machines, services etc01:06
alexisbwallyworld, lovely01:07
wallyworldi have no idea how the cli completion stuff works, just saw the comment in the file01:07
wallyworldwe'll need to fix that, yay01:07
alexisbwallyworld, its magic ;)01:07
wallyworldi think in this case it is01:08
alexisbwell for right now it is working for me01:08
alexisbso I ill go back to storage, but put it on the list of to-dos01:08
axwwallyworld: sorry had to cut you off before, was there anything else to discuss?01:32
wallyworldaxw: no problem at all, we covered it all. i have pushed changes to that beta1 cleanup pr01:33
axwwallyworld: LGTM, thanks01:34
wallyworldta01:34
menn0thumper: I think I've found out why the apiserver appears to be dying before the logsink request is done01:55
menn0thumper: the waitgroup is only increment for "normal" api requests01:55
thumperand...01:56
menn0thumper: the "streaming" style requests don't appear to be counted01:56
thumperah..01:56
menn0so /log, /tools, /charms etc all don't count01:56
menn0interestingly, fwereade_ emailed me last night as he's seeing the same problem01:56
axwwallyworld: teeny one https://github.com/juju/juju/pull/451502:13
wallyworldlooking02:13
wallyworldaxw: ship it, thanks for fixing02:15
axwwallyworld: ta02:15
wallyworldaxw: http://reviews.vapour.ws/r/3940 should be go for another look when you get a chance03:49
axwwallyworld: sorry, had to go get jeremy. furiously trying to finish this branch, will look soon04:42
wallyworldno hurry, all good04:43
natefinchman I hate the new bootstrap.  The error messages are all horrible04:56
natefincherror: controller name and cloud name are required04:57
natefinch...no, no they're not.  And actually, cloud name isn't even something you can specify04:57
natefinchI wish we had a juju env command that would print out what directories juju thinks it's supposed to be using.05:00
natefinch(among other environment variables... but right now I'm concerned that it's using some other JUJU_DATA directory... but I don't know what one it thinks it's supposed to be using05:00
natefinchwallyworld. axw, menn0: did we break the lxd provider? I don't seem to be able to switch to it anymore (I'm on wily using go1.4, so it05:06
natefinchit's definitely getting compiled etc)05:07
wallyworldnatefinch: we didn't, lxd did05:07
natefinchwallyworld: ahh05:07
natefinchwallyworld: well shit05:07
wallyworldthey changed stuff upstream without any regard for juju :-(05:07
wallyworldjohn is working with them to fix05:08
natefinchwallyworld: so uh... I guess I have to test on amazon, since there's no more local?05:08
wallyworldfor now yes :-(05:08
wallyworldunless you pin lxd beta205:08
natefinchhmm, pinning is probably easier05:08
wallyworldnot sure if debs are still around somewhere05:09
wallyworldgoogle may help find them05:09
natefinchwallyworld: oh, like lxd itself, not the API library. I see.  Well, crap05:11
wallyworldyup05:11
natefinchwhelp, guess I'll mess with that in the morning05:13
axwwallyworld: sorry  :(  https://github.com/juju/juju/pull/451705:51
wallyworldnp :-)05:51
axwwallyworld: I had to change the format of show-controllers/list-controllers, so something to look out for and see if you agree with05:51
wallyworldok05:51
axwwell I didn't *have* to, but I think it makes more sense this way05:52
axwwallyworld: were you not able to move the LocalControllerByName into modelcmd?05:53
wallyworldaxw: ah, yeah, i kept it separate, i should have moved it05:54
wallyworldi'll do that next05:55
axwwallyworld: I think that would be good. keeps the policy away from storage05:55
axwwallyworld: ok, thanks, will continue reading05:55
wallyworldaxw: lgtm, a lot is mechanical. i look forwar dto resolving all the conflicts :-)06:24
axwwallyworld: I'll bet. thanks!06:25
axwwallyworld: in case it wasn't obvious from my last PR, it should be possible to stop using configstore in most commands now. it's now only used for bootstrap config in juju/api.go06:28
wallyworldaxw: i noticed :-)06:28
wallyworldjust shitloads of tests to fix06:28
axwwallyworld: indeed06:28
axwwallyworld: sorry, mind's all over the place - did you tell me this morning what was next after this PR?06:29
wallyworldaxw: yes, but now i've forgotten, let me think06:29
axwheh :)06:30
wallyworldaxw: that's right, we talked about doing the "admin" model thing, but i need to email qa. one quick fix - can we write to jujuclient store earlier in bootstrap process so we don't get a stupid error trying to run status before bootsttap has finished?06:31
wallyworldso the "admin" work can be started, and i'll email qa overnight06:31
wallyworldwe also have login/logout06:32
axwwallyworld: sure. yep, was intending to work on login next06:32
wallyworldaxw: the error i refer to is "no controller defined"06:32
axwwallyworld: can't see it getting done before I leave tho06:32
axw(login command that is)06:33
wallyworldcan make a start, keep the prs small06:33
axwwallyworld: have you confirmed with cmars about storing macaroons in accounts.yaml? if not, I'll send an email now06:41
axwsorry, probably asked and answered already06:41
wallyworldaxw: we discussed it verbally in capetown and it's in the spec so i haven't sent email but feel free to double check06:42
axwwallyworld: I think we're going to have to prompt the user to set an admin password after bootstrap06:47
axwwallyworld: or I suppose we could just print out the random string...06:47
axwwallyworld: but anyway, if the user has to input their password to login, they need to know what it is :)06:48
wallyworldaxw: we now would store that admin password in accounts.yam right06:48
axwwallyworld: indeed. do we want to continue supporting password as well as macaroon?06:48
wallyworldi think so in order to not have them lose admin access06:49
axwwallyworld: I was thinking macaroon exclusively. this will help for restoring a backup too: after restoring, you plug your password back in to authenticate06:49
wallyworldah, wait sorry, got that wrong06:49
wallyworldmacaroon replaces password till it expireds06:50
axwwallyworld: at which point you type it in manually, right? otherwise why use a macaroon at all06:50
wallyworldi think looing up password in yaml is better than what we have now, we can iterate on making it easier06:51
wallyworldyes, you'd type it in06:51
wallyworldaxw: here's part 1 of autoload-credentials http://reviews.vapour.ws/r/3954/ i'm off to soccer soon so no rush08:26
axwwallyworld: will take a look a bit later on08:39
wallyworldnp08:39
dimiternjam, dooferlad, voidspace,10:01
dimiternstandup10:01
voidspacedimitern: omw10:02
dimiternfrobware, dooferlad, voidspace, here it is: http://paste.ubuntu.com/15186527/10:50
perrito666morning10:52
perrito666dimitern: ping?10:55
dimiternperrito666, morning :)10:55
perrito666morning, have a question, are you a go-amz member?10:56
perrito666in github I mean10:56
dimiternI used to be at least... maybe I still am10:57
perrito666I have a lgtm https://github.com/go-amz/amz/pull/66 could you merge please?10:58
dimiternperrito666, merged10:59
perrito666thank you10:59
dimiternvoidspace, bootstrap error is due to spaces discovery indeed: "GET /MAAS/api/1.0/spaces/?op=list HTTP/1.1" 400 276 "-" "Go-http-client/1.1"11:20
dimiternhere's the line causing it https://github.com/juju/juju/compare/maas-spaces2#diff-9f2d224cfe3d5b5450772b51d95b625aR6711:22
dimiternthat would've been caught by a simple live bootstrap11:23
dooferladdimitern: Are we returning to https://plus.google.com/hangouts/_/canonical.com/juju-sapphire ?11:28
dimiterndooferlad, I guess so, omw11:29
dooferladvoidspace: we are starting if you are interested11:30
voidspacedimitern: ok, thanks11:38
voidspace"juju help" lists "juju init" as a command, but it isn't...12:16
voidspacedimitern: how do you set the oauth key?12:28
voidspacedimitern: I've done "auth-types: AAAA...." using auth-types instead of maas-oauth from the doc you suggested12:29
voidspacedimitern: but that gets me an "unmarshall error" when I add the cloud12:29
voidspacedimitern: i.e. what does your yaml look like to add-cloud please12:31
dimiternvoidspace, here's what I have in ~/.local/share/juju/clouds.yaml: http://paste.ubuntu.com/15186890/12:33
voidspacedimitern: ah, a *literal* [oauth1]12:34
dimitern:) that seemed odd to me as well, but the previous example was using 2 types12:34
voidspacedimitern: where do you add the key then?12:35
voidspacedimitern: now when I bootstrap it says "credentials not found"12:35
dimiternvoidspace, in ~/.local/share/juju/credentials.yaml12:36
voidspacedimitern: oh...12:36
voidspacedimitern: can you pastebin me the format for that too please :-)12:36
voidspacedimitern: never mind, found it12:37
dimiternvoidspace, :) ok, just a sec12:37
voidspacedimitern: in that same email12:37
dimiternvoidspace, yeah12:37
dimiternit's all in there12:37
voidspacedimitern: I appear to be bootstrapping now12:38
voidspacedimitern: now testing the fix for the discovery bug12:38
voidspacedimitern: http://reviews.vapour.ws/r/3955/ (but testing this first)12:39
dimiternvoidspace, reviewed12:43
dimiterndooferlad, frobware, voidspace, so interfaceDoc -> linkLayerDoc, state.Interface -> state.LinkLayer ? (what?)12:47
dimiternstate.LinkLayerLink ? LinkLayerDevice ?12:48
dooferladdimitern: state.LinkLayer12:49
dimiternmaybe LinkLayerConfig12:49
dimiterndooferlad, link layer whay?12:49
dimiternwhat12:49
dooferladif that is what it returns...12:49
dimiternI need a sensible singular name12:49
dooferladoh, I see.12:49
dooferladLinkLayerConfig seems reasonable12:50
dimiternok, then the doc can be linkLayerConfigDoc and the collection - linkLayerConfigsC12:50
dooferladyes, that sounds good12:52
voidspacedimitern: https://github.com/juju/gomaasapi/pull/614:02
voidspacedimitern: if we merge this then we don't need an additional test in juju because the current code will fail with this revision of gomaasapi14:03
voidspacedimitern: I will verify that - and obviously the juju PR needs to switch gomaasapi revision14:03
natefinchGood got, it took 7 minutes for xchat to start up14:13
natefinchs/got/god14:13
natefinchalexisb: do we have a timeline for when the lxd team will get in a fix so Juju can use lxd?14:16
alexisbnatefinch, we discussed this morning, there is about 2 more days of development work from jam14:16
frobwarevoidspace: adding you as assignee for master (for your current PR). Would be good to get in today as next beta build will be cut this thursday.14:17
frobwarevoidspace: ah, scrap that. I suspect this change isn't on master anyway, correct?14:18
natefinchalexisb: ok, didn't realize we were the ones responsible for the fix. That's unfortunate.14:18
alexisbwell it is a team effort14:19
alexisbtych0 has helped us on juju core things14:19
natefinchalexisb: that's true14:19
alexisbthe teams are working together14:19
natefinchalexisb: well good, I think we could use some collaboration14:19
mgzcollaboration is for the weak?14:20
* natefinch considers using manual provider for local work14:21
alexisbnatefinch, I have been using vmaas14:26
alexisbbut I also have the old lxd installed :)14:26
alexisbvmaas is working well for me14:26
natefinchI have tried setting up vmaas a couple times and could never get it to work right...14:27
natefinchhonestly, all I need is a single machine to test my stuff against.  Hell, I could almost use manual provider against local machine, if I wasn't afraid it would hose my machine14:27
tych0natefinch: alexisb: as in the launchpad bug + the old PR, i can cherry pick just the API fix if you want and make a PR14:28
alexisbtych0, that would be awesome if you have time14:29
tych0i'm not sure that ever needed to get rolled into a feature branch14:29
tych0but i don't really know how your guys' process works :)14:29
tych0sure, i'll post it this morning.14:29
alexisbtych0, yea we need to do a better job of educated community contributors14:29
tych0or just make the contribution process less complicated :)14:30
alexisbboth really14:30
alexisbtych0, please do use the latest master14:31
tych0yes, of course14:31
alexisbmgz, would you be available for tych0 if he has questions14:31
tych0should be pretty simple. what i really need is reviewers :)14:31
alexisbI will be out for a but this morning and cherylj is currently transporting kiddo14:31
mgzyeah, I can review too14:31
alexisbmgz, thanks!14:32
alexisbwhat tych0 is working on would hopefully unblock master14:32
natefinchdo we still support the manual provider?14:33
natefinchdo we have docs about how to use bootstrap?  Because, seriously, the error messages and help text are infuriating14:35
alexisbjam  you still around today?14:36
cheryljnatefinch: yes, we still support manual provider.  Are you trying to use it with the 2.0 cloud credentials stuff?  (I haven't tried it with the new changes yet)14:36
perrito666natefinch: I use vmaas creating from instructions cherylj passed me with some modifications14:40
dimiternvoidspace, sorry, I've missed your message earlier, but you've got LGTM on the gomaasapi PR14:40
natefinchcherylj: yeah... I added a "manual" provider to my environments.yaml in the new juju data directory and bootstrap just says ""14:42
natefincher14:42
natefinch"error: controller name and cloud name are required"14:42
natefinchwhich is hugely unhelpful14:42
natefinchgiven that it doesn't actually give you a way to specify controller name or cloud name14:43
cheryljyeah the help needs to be updated14:43
natefinchunless the help docs are wong14:43
natefinchwrong14:43
mupBug #1456757 opened: TestAddressChange fails <ci> <go1.5> <intermittent-failure> <test-failure> <wily> <juju-core:Triaged> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1456757>14:44
cheryljnatefinch: try juju bootstrap my-manual-controller manual/<ip of manual machine>14:44
natefinchso, the help docs are completely wrong?14:45
cheryljnatefinch: yes.  it's going to be addressed14:45
cheryljnatefinch: check the release notes for some better info14:45
natefinchcherylj: I'm pretty aghast that we let major changes to commands land without changes to the help docs14:46
cheryljnatefinch: the docs team is leading an effort to improve the help text for all the commands14:46
cheryljwhich is nice14:46
natefinchcherylj: there's no excuse for us not updating our CLI help docs.14:47
tych0mgz: ok, false alarm on the fire drill. i'm guessing jam has already done all of this, so i'd say let's wait for him to update lxd-container-type14:47
cheryljnatefinch: I understand your concern, and it does make a poor user experience.  But, the command changes barely made it in to beta1 as it was14:47
cheryljtoo much to do, not enough people :(14:47
natefinchsorry, i gotta run and pick up my daughter from school, she's evidently sick14:47
cheryljyikes!14:47
natefinchback in a bit14:48
=== natefinch is now known as natefinch-afk
mgztych0: okay14:48
jamalexisb: I'm in and out15:05
alexisbtych0, had some questions on how he could help out15:05
alexisbjam, ^^15:05
jamtych0: my work towards it is in github.com:jameinel/juju lxd-container-type-no-disk if you want to give that a poke15:06
jamtych0: unfortunately it isn't just API issues15:06
jamwe need to get rid of the disk files15:06
jambecause we fixed our test suite to not allow you to write to $HOME during a test15:06
tych0jam: what do you mean "get rid of the disk files"?15:06
jamand that's where the LXD code was writing files15:06
ericsnowkatco, natefinch-afk: FYI, my patches landed (in the feature branch)15:06
tych0oh, right15:06
tych0jam: is it updated to use your new APIs that you made for LXD?15:07
jamtych0: we should be using the EnvironConfig structure that we already have15:07
jamtych0: I'm working through that, yes.15:07
tych0jam: ok, sounds good. should i just leave you to it?15:07
jamtych0: well, I only have a couple hours left today if you could give it some time (right now is dinner, and soon bedtime for my son)15:08
jamgood/bad is that "go test' in tools/lxdclient is running but segfaulting15:08
jamso you should have some hints what needs to be fixed15:08
tych0:)15:08
jamtych0: did you get the first branch merged? (NewClientFromInfo )?15:08
tych0jam: well, i took out your merge commit and rebased it15:09
tych0just waiting for stgraber to come online and hit merge (or if you want to do the same, i can close mine and do that)15:09
jamthat's fine, as long as the change is there15:09
tych0yeah, i'm +1. if you want to rebase instead of merge then I can merge it myself :)15:09
jamI'm not a big fan of rebase, so if you want to do that part for me, feel free.15:09
tych0yep, i did15:10
tych0just waiting on stgraber to merge, and then we'll have both in lxd master15:10
tych0and we can use a "real" hash for the juju deps file15:11
tych0anyway, let me try and sort out a make file issue for a different project, then i'll give your branch a look15:11
jamtych0: so the things I'm aware off15:11
jam1) we want to use ENvironConfig and set the client cert in there and have it passed into the lxdclient code15:12
jaminstead of having it generated15:12
jam2) we need to fix Architecture (which I think I've done)15:12
tych0and then the ClientStatus thing too, i suppose?15:12
jam3) We need to fix provider/lxd/instance.go so that Addresses() makes a call back into lxdclient to get the addresses15:12
jamrather than having them cached15:12
jammy thought was that since both provider/lxd and container/lxd are going to need Addresses15:13
jamthen we should have the code to convert ClientStatus => network.Addresses in lxdclient15:13
tych0makes sense15:14
katcoericsnow: awesome15:19
katcoericsnow: natefinch-afk: morning15:19
ericsnowkatco: \o15:19
=== natefinch-afk is now known as natefnich
=== natefnich is now known as natefinch
natefinchkatco: morning15:23
natefinchkatco: this not having lcd or local provider is kind of screwing my productivity btw15:28
natefinchs/lcd/lxd15:28
katconatefinch: lxd is borked in our branch?15:29
natefinchkatco: not the provider, lxd itself changed15:30
natefinchkatco: thus breaking our provider15:31
katconatefinch: oh, right... yeah. can you pin an older version?15:31
katconatefinch: probably worth it to get that functionality back15:31
natefinchkatco: probably, but I have no idea how to do that (get some older version of the lxd deb...?)15:31
katconatefinch: haven't done this in quite some time, but check out 3.10: http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html15:33
katconatefinch: this looks even easier: http://blog.andrewbeacock.com/2007/03/how-to-install-specific-version-of.html15:34
perrito666natefinch: version of ubuntu?15:35
natefinchperrito666: wily15:36
perrito666you have lxd from the ppa?15:36
natefinchI think installing the older version with apt-get is worker15:36
natefinchI don't know how to tell that15:38
dimiterndooferlad, frobware, voidspace, here's the giant rename PR: http://reviews.vapour.ws/r/3959/ - please focus on the second commit, as even though I tried not to miss something, a few doc comments might need fixing15:38
sinzuinatefinch: katco  the "=x.y.*" technique works with non-superdeded packages. Other wise you need to find a ppa with the old paackages or download them directly from Lp15:38
perrito666natefinch: I presume you have the ppa, just removing the ppa and deinstall-reinstall should workI am pretty sure lxd provider works without the ppa in willy15:39
dimiterndooferlad, frobware, voidspace, that PR needs to land before I can continue15:40
dimiternor whichever version of it gets approved15:40
dooferladdimitern: looking15:41
dimiterndooferlad, cheers15:41
frobwaredimitern: dooferlad: will look in a bit15:41
dimiternthanks15:41
dooferladdimitern: could you remind me what linkLayerDeviceDoc.Index is used for and why we don't expect it to change over a reboot?15:43
dimiterndooferlad, it can change, we don't expect it to be immutable15:44
dooferladdimitern: thats OK then :-)15:44
dimiterndooferlad, :) ta15:45
dooferladdimitern: what do we use it for?15:45
dooferladdimitern: and, I guess, where does it come from? If we are looking at the output of 'ip link' then I think we can use names instead of indexes for commands to update stuff15:46
dimiterndooferlad, I think it's nice to have it, as it can be used for as an extra thing use along with the MAC for matching observed devices to stored-in-state devices15:46
dooferladdimitern: If that is all, I would drop it.15:46
dimiterndooferlad, why so?15:47
dimiterndooferlad, that argument applies to any of those fields basically15:47
dooferladdimitern: the MAC shouldn't change. One thing is enough.15:47
dimiterndooferlad, I'm not sure that's guaranteed, but yeah15:48
dooferladdimitern: personally I would make all commands that interact with the network to work with names, but always check that the name still matches the MAC.15:48
dimiterndooferlad, the model at least does not presume the macs are immutable15:49
dooferladdimitern: the MAC isn't immutable (Intel cards for example will let you change it), but the idea is they are fixed and globally unique.15:49
dimiterndooferlad, yeah, or at least locally unique depending on the format15:50
dimiterndooferlad, for virtual interfaces or e.g. bonds macs can absolutely change15:50
dimiternbut that's ok15:51
dooferladdimitern: I think it is fine for us to break if it changes at runtime. From the point of view of Ethernet, if the MAC changes it is just a different device on the same bit of wire.15:51
dimiterndooferlad, agreed - a changed mac can be handled as a new device appearing with the same name15:52
dooferladdimitern: absolutely what I was writing.15:52
dimiterndooferlad, those cases will be handled by the update ops15:54
dimiterndooferlad, i.e. "merge as best as you can what you already know's there on the machine with what we've just observed"15:54
dooferladdimitern: sounds good.15:55
voidspacedimitern: maas space fetching PR updated, manually tested, plus tested that the tests fail without the new gomaasapi revision but pass with it15:56
voidspacedimitern: http://reviews.vapour.ws/r/3955/diff/#15:56
dimiternvoidspace, ok, but I see no changes to add a test or bump dependencies.tsv ?15:57
voidspacedimitern: dammit, there was15:57
voidspaceI don't see it either15:57
voidspacethink I reverted it15:57
dimiternlooks like it15:58
voidspacedimitern: it's there now15:58
katconatefinch: hey sorry, did you get it figured out?15:58
xnoxcalendar: hi, could you please review https://github.com/juju/juju/pull/4480/files ?15:59
xnoxhm nick not found.15:59
dimiternvoidspace, yeah, I can see the deps bump, but please add a quick test as well15:59
xnoxdear "On-call reviewer" -> where is the calendar =)))))15:59
voidspacedimitern: as I commented before - it doesn't need one15:59
voidspacedimitern: if you run the tests with the old code but the new gomaasapi then tests fail with bad request15:59
voidspacedimitern: there's a new test for that code path in gomaasapi though16:00
katcoericsnow: hey got time for a quick chat?16:00
ericsnowkatco: sure16:00
dimiternvoidspace, hmm, ok then16:00
katcoericsnow: moonstone16:00
dimiternvoidspace, makes sense, let's get it in16:00
voidspacedimitern: cool, thanks16:00
dooferladxnox: the calendar is, I think, private to the Canonical Juju team. Todays reviewers are cherylj and mattyw.16:01
natefinchkatco: yeah pretty much.... perrito666 helped me clean out the PPA version, the regular version from wily seems to work fine16:01
voidspacedimitern: if you need convincing, bump the gomaasapi revision on maas-spaces2 and run the maas provider tests16:01
dimiternvoidspace, yeah, I did that :)16:02
voidspace:-)16:02
xnoxdooferlad, thanks!16:03
xnoxcherylj, mattyw: please review https://github.com/juju/juju/pull/4480/files16:03
mattywxnox, I'm around if you want me to take a look at something16:03
mattywxnox, will do16:03
katconatefinch: hey can you hop into moonstone rq?16:09
natefinchkatco: sure16:11
natefinchhuzzah for having LXD back and working16:12
cheryljhmm, I think tip of master is broken.16:19
cheryljah, it doesn't like it when I switch to a different controller while it's bootstrapping16:26
katcocherylj: pushing the boundaries!16:29
cheryljyeah16:29
cheryljand finding bugs!16:29
cheryljcheck out this error:  2016-02-24 16:08:28 ERROR cmd supercommand.go:448 getting model details: model maas:admin@local:amazon not found16:29
cheryljI was bootstrapping amazon and switched to my already bootstrapped maas while it was working16:30
dimiterndooferlad, thanks for the review - Index dropped as discussed16:49
dimiternvoidspace, frobware, any objections to landing http://reviews.vapour.ws/r/3959/ ?16:50
natefinchkatco: given that we have meetings scheduled for 5am-6am and 3:30pm-7pm tomorrow, do you think I could take a couple hours off before the 3:30 to spend with my kids?  I know the 3:30 might not run that long, but I can't guarantee that, and 7pm is the kids' bedtime.16:56
katconatefinch: sec in a meeting16:57
voidspacedimitern: no objections from me16:58
xnoxmattyw, also https://github.com/juju/xml/pull/517:00
dimiternvoidspace, cheers17:01
natefinchgonna go to lunch a little early today since the kids are all home sick17:06
natefinchback in an hour17:06
=== natefinch is now known as natefinch-lunch
voidspacefrobware: dooferlad: I need this fix in gomaasapi https://github.com/juju/gomaasapi/pull/717:30
dooferladvoidspace: +117:31
voidspacedooferlad: thanks17:34
=== natefinch-lunch is now known as natefinch
katconatefinch: hey18:07
kiltyI'm receiving the errors shown in this pastebin when bootstrapping from 2.0 beta1: http://pastebin.com/pCYg4YnE  Any ideas?18:07
katcokilty: that looks like the new signed streams stuff by anastasiamac18:08
katcocherylj: do you know much about this? ^^18:08
natefinchkatco: howdy18:08
katconatefinch: hey18:09
katconatefinch: re. tomorrow's schedule18:09
mgzlooks like an ugly variation on the normal private cloud thing?18:09
katconatefinch: how have the core team meetings been going? what is discussed? i haven't attended in quite some time18:10
natefinchkatco: they're pretty hit or miss.  Sometimes almost no one shows up, or we only talk for 10 minutes, sometimes we talk the full hour, like what happened  last week.18:12
katconatefinch: i'd say skip the one for that tz and aim to go to the one on the 3rd18:13
katconatefinch: that way your day isn't terribly long18:13
natefinchkatco: sounds like a plan18:13
tych0jam: hi, so i fixed the seg fault and implemented Addresses()18:28
tych0(it's on my github gh:tych0/juju with the same branch name)18:28
tych0as well as a few other little nits18:28
tych0but i'm trying to understand what you mean by EnvironConfig generating the certs, and I'm a bit lost18:28
jamtych0: hi. I'm about to head to bed, but I'll try to point you in the right way. Thanks for working on it, btw.18:29
tych0jam: np. any pointers are good pointers, as long as they're not null :)18:29
jamso every "Provider" has an EnvironConfig which is where we put things like authorized-keys/user/password/hostname/auth-url, etc.18:31
jamThere are a bunch of common items in https://github.com/jameinel/juju/blob/master/environs/config/config.go18:32
jamthe LXD one should be an extension of the base one: https://github.com/jameinel/juju/blob/master/provider/lxd/config.go18:32
jamfor comparison I tend to look at the openstack one https://github.com/jameinel/juju/blob/master/provider/openstack/config.go18:32
tych0jam: oh, i see18:33
jamtych0: but the general idea is that we generate the LXD client cert during bootstrap18:33
jamand save it in the environ config under a particular key18:34
tych0jam: right, i guess the config gets initialized during bootstrap?18:34
jamand we'll keep passing that information in18:34
jamright18:34
tych0sounds good18:34
jamthe only bit I'm not 100% sure on is if we want to save the server's cert so that we can ensure the server hasn't changed.18:34
jamfor LXD provider, we can do that just fine18:34
jamfor container/LXD each machine is going to have a different one.18:34
jamso we'll have to think a bit more carefully there.18:35
tych0jam: well, i don't think we'll even have to bother for container18:35
tych0jam: because we can always talk over the unix socket18:35
jamah right18:35
tych0jam: which won't require cert auth at all18:35
jamno certs,18:35
tych0so i think just the server's cert, then?18:35
jamand if it wants a cert for some weird nesting thing, it can get it out of the socket.18:35
tych0yep18:35
tych0but hopefully at least initially it won't :)18:35
jamyeah, we shouldn't to start18:36
jamtych0: thanks again for picking up the work, I'll grab your branch in the morning if it hasn't already been landed. :)18:38
tych0jam: sure, sounds good. i should just pr this to lxd-container-type?18:38
jamtych0: yes18:38
tych0jam: will do, thanks18:38
jamtych0: you'll also want to update dependencies.tsv18:38
jamso that it includes the latest lxc/lxd code18:38
tych0jam: yep, i did that already18:38
tych0acutally i'm going to do it again though, and export a few more functions18:38
tych0to share some more code with LXD18:38
jamtych0: sgtm. I'd like to have less code on our wrapper when it makes sense.18:46
natefinchI need a gofmt replacement that turns a.something := foo   into a.something = foo  ... you know what I mean, just fix it.19:01
cheryljkilty, katco did you get an answer on the streams question yet?  Looks like not...19:13
cheryljkilty, katco the index2.sjson message is a known issue where juju is looking in the wrong place for image streams first, but will fall back to the right place.19:15
cheryljkilty: I saw a message similar to the "ERROR index file has no data for cloud" message you posted when messing with the rackspace provider19:16
cheryljkilty: I was able to work around it in that case by setting the image-stream to "released" rather than "daily".19:17
cheryljkilty: i.e.  juju bootstrap jujucontroller dr --config image-stream="released"19:18
katcocherylj: sorry was otp, not did not get a definitive answer for kilty afaik19:19
katcocherylj: i think mgz started to weigh in19:19
mgzyeah, from the error it looked like a private openstack19:20
mgzwhich isn't going to have image streams at our public locations anyway19:20
natefinchkatco, ericsnow: review up when you have time: http://reviews.vapour.ws/r/3949/19:20
cheryljkatco: ah, ok.  just ftr - the bug for that index2 message is bug #154789119:20
mupBug #1547891: Juju searches for index2.sjson in image streams <streams> <juju-core:Triaged> <https://launchpad.net/bugs/1547891>19:20
ericsnownatefinch: k19:20
cheryljmgz: yeah, that's what I was thinking too.19:20
mgzso I suspect some needed config didn't get brought over from 1.x to 2.019:21
katconatefinch: TAL19:21
katcocherylj: ta19:21
kiltycherylj: thanks for the suggestion, though I got the same error19:34
kiltymgz: correct, it is a private openstack19:35
cheryljkilty: I think that message may indicate that it cannot find an appropriate image to use.  What images do you have available?19:36
cherylj(it's a pretty crummy message, though, doesn't tell you how to fix anything)19:36
kiltyimage like like 14.04?19:37
cheryljyes19:37
cheryljand did this work with 1.x?19:37
kiltyyea I have 14.04 and 15.1019:37
kiltyno we couldn't get 1.x to work so we were hoping 2.0 would fix everything =)19:37
kilty1.x actually gave the same error: "ERROR index file has no data for cloud {RegionOne http://192.168.4.11:5000/v2.0} not found"19:38
natefinchericsnow: just saw your alignStoreResources method.... are you sure that's correct?  What happens when a new version of the charm gets pushed out and it has a different number of resources?19:38
cheryljah, ok.    How do you have your images indexed?19:39
cheryljkilty ^^19:39
mgzkilty: read https://jujucharms.com/docs/1.25/howto-privatecloud19:40
cheryljhey, that's handy, mgz19:40
ericsnownatefinch: for a given charm revision the same set of resource names will be associated, though the resource *details* (including revision) may be different, hence the number of resources will remain the same19:41
mgzkilty: that gives the background, all you really need is to tell juju about the images you put in glance, which isn't too painful19:41
mgzbut I'm not quite sure how the config has changed in 2.019:41
ericsnownatefinch: and service's are tied to a charm revision19:41
natefinchericsnow: ahh, ok, yeah, so the number of resources can't change unless the charm revision changes, in which case, we'll download the new resource data... though I can imagine this breaking after a charm-upgrade, since we don't remove old resources (do we?)19:42
ericsnownatefinch: if a service switches to use a different charm revision then the resources will be synced up19:42
ericsnownatefinch: yep19:42
natefinchericsnow: ahh, awesome. Nevermind then :)19:42
kiltymgz, cherylj: well I'll go through that page first and see where we end up, thanks!19:42
ericsnownatefinch: glad you asked19:43
natefinchericsnow: still makes me sad that updates returns an error that will almost always be nil unless we have a bug, though19:43
mgzkilty: all you should need is the `juju metadata generate-image` bits and set image-metadata-url19:43
ericsnownatefinch: c'est la vie :)19:43
mgzcherylj: how do we actually set image-metadata-url in a 2.0 world...19:44
kiltymgz: i didn't do the metadata generation for the 2.0 setup (it wasn't in the wiki I found)19:44
natefinchericsnow: I don't know... that'll break the juju list-resources command entirely if you ever get into that state... I wonder if it's better to just log an error or something.. I dunno.19:45
ericsnownatefinch: like you said, an error indicates something went unexpectedly wrong (e.g. data mangled across API), meaning the output from list-resources would likely be invalid anyway19:47
natefinchericsnow: yeah, I guess you're right...19:49
natefinchericsnow: damn your validation, now my test values need to actually be legitimate ;)19:54
ericsnownatefinch: mwahaha19:54
natefinchman I wish I didn't have to give a controller name... if I don't specify, just make it the same as the provider name, geez20:05
perrito666I believe the spec had that20:06
kiltycherylj: I do get some possibly prohibitive errors when generating metadata: http://pastebin.com/xzVwNLKV20:10
natefinchI should really learn to just double whatever expected time it'll take for tasks that involve the uniter20:26
natefinchkatco: does work done on Friday count for this iteration, or are we now switching to iterations starting on Friday, given that our retros will likely always be Thursdays now?20:31
katconatefinch: that's a good question. for this iteration let's count friday20:34
katconatefinch: and then we can revisit tomorrow for the following iteration20:34
mgzkilty: supply `-m NAME_OF_MODEL_CFG_THING`?20:42
kiltymgz: I'm not entirely sure what model is, and googling 'juju model' shows me strange things20:43
mgzit's what used to be an environment before we decided to confuse everyone20:44
kiltyoh so I still need the environment.cfg20:44
kiltyer .yaml20:45
natefinchkilty: yeah, it lives under $XDG_DATA_HOME now... which ends up defaulting to ~/.local/share/juju20:47
katcoericsnow: natefinch: meet in ~9 for testing discussions?20:51
ericsnowkatco: k20:51
natefinchkatco: yep20:52
katcoericsnow: natefinch: in moonstone21:03
joserick_h_: hey, did you get to put your idea on the wiki?21:03
natefinchkatco: oops coming21:04
rick_h_jose: sorry no, had wiki issues and meant to go back to it21:04
joseno worries21:04
perrito666mm github got issue templates, we should make one for our bugs since we cannot make a magic redirection to launchpad21:10
perrito666or even better, we should make one that says "Please report this in launchpad"21:10
perrito666table tests produce an excessive logging :(21:14
thumpermorning flks21:19
thumperperrito666: that they do21:19
thumperespecially if they are uniter tests21:19
* thumper goes to make another coffee21:20
ericsnowkatco, wallyworld, natefinch: I remembered21:52
ericsnowkatco, wallyworld, natefinch: the revision updater polls the charm store unauthorized21:52
ericsnowkatco, wallyworld, natefinch: so charms that require authorization are ignored21:53
ericsnowkatco, wallyworld, natefinch: that surprised me21:53
wallyworldericsnow: when that was written, there were no private charms21:54
ericsnowkatco, wallyworld, natefinch: so does the revision updater need to be updated?21:54
wallyworldericsnow: yeah, think so21:54
ericsnowwallyworld: yuck21:54
wallyworldericsnow: but we can leave it for now21:55
ericsnowwallyworld: that means keeping a macaroon in state and having some way of keeping it alive (or reviving it if it expires)21:55
ericsnowwallyworld: I'm glad to punt on it :)21:56
ericsnowwallyworld: as long as that means doing the same for resources :)21:56
wallyworldericsnow: worth taking a look to see what's needed21:56
ericsnowwallyworld: k21:57
ericsnowwallyworld: who on core is most familiar with the support for private charms?21:57
wallyworldericsnow: but right now, probably not the most important thing21:57
wallyworldericsnow: casey etc21:57
ericsnowwallyworld: k21:58
thumpermenn0: ping22:05
menn0thumper: hi22:06
thumpermenn0: state/constraints.go, I was removing extra st.docId calls22:06
thumpermenn0: setConstraintsOp replaces the doc22:06
thumpermenn0: will the model-uuid get set automatically?22:07
menn0maybe :)22:07
* menn0 checks the code22:07
thumperah poo...22:08
thumperconstraints doc is one of those documents that doesn't embed any form of key22:08
thumperso you can't just read the entire collection using a slice of docs...22:09
thumperf**xor22:09
menn0thumper: the model-uuid will get set automatically22:09
thumperneed to do the same thing as settings and read as bson.M22:10
thumpermenn0: cool, I'm just removing them as I go22:10
menn0see multiModelRunner.mungeBsonDUpdate() in state/txns.go22:10
thumperk22:10
menn0thumper: yeah, doc structs with the _id sucks22:10
thumperyou mean without?22:11
menn0without :)22:11
menn0thumper: I just found the source of those panics in the apiserver. it's basically what I thought it was yesterday but even more subtle22:13
thumperoh22:13
thumperfixable?22:13
menn0yep I have a fix. there's a few parts to it.22:14
menn0basically what was happening is that the goroutine that the server infrastructure had spun up to handle a /logsink API request was only just starting when the apiserver was told to shut down. even incrementing the apiserver's WaitGroup at the top of logsink request handler wasn't enough because the goroutine hadn't gotten to that part yet, so the apiserver still thought all requests were done even though one was about to start up.22:17
menn0so the apiserver closed it's State and then the handler got to try and use it and boom22:18
menn0i've got a clean fix22:18
menn0but it can only be safely applied to API handlers that pay attention to the server's tomb. if they could run for a long time without checking the tomb then the fix could block the apiserver from shutting down.22:19
katcoericsnow: ah yeah, that. cmars just sent me an email that i think assures us that he'll be keeping us in the loop22:20
ericsnowkatco: yeah, it's good because we'll have the same concerns with resources22:21
katcoericsnow: just forwarded the email... haven't read through fully22:22
ericsnowkatco: thanks22:22
katconatefinch: hey, went ahead and assigned the "upgrade-charm --resources" card to you. we should talk about expected completion. week from today sound ok? 3/2?22:23
katconatefinch: i'll send an email in case you miss this ping22:27
thumpermenn0: but blocking the apiserver from shutting down is better than panicing no?22:27
menn0thumper: not if it blocks the apiserver indefinitely22:30
thumpermenn0: well, true that22:30
menn0thumper: the best solution is to not block *and* not panic22:30
menn0thumper: and when I'm done that will be the case for the /log and /logsink endpoints22:31
menn0thumper: there will still be the chance of panics in the charm and tools up/download etc22:31
menn0thumper: but they've always been there22:31
menn0thumper: and the panic is handled by the server infrastructure22:32
menn0thumper: it doesn't take down the process22:32
thumperk22:32
* perrito666 finishes addressing 50 comments on a commit and falls asleep on the kb22:42
perrito666wallyworld: sorry I am pretty sure my last answer just blowed a vein in your forehead22:46
wallyworldperrito666: already blown22:46
perrito666wallyworld: https://dylansfilmandtv.files.wordpress.com/2013/07/149968-daria-mr-demartino.jpg22:47
wallyworldyep22:47
perrito666wallyworld: standup or no standup today?23:14
wallyworldperrito666: in meeting, we can talk if this one finishes before next one23:14
perrito666just asking to know if I can EOD or not23:15
mgzno rest for the wkd23:17
perrito666says the guy that lives on the country where its the middle of the night23:17
mgzhey, it's not quite midnight yet23:17
wallyworldaxw: perrito666: anastasiamac: let's do standup23:19
axwwallyworld: brt, can't stay too long tho23:20
perrito666mgz: hey testing something I think I just created a joyent controller in CIs account but given that my test failed I cannot delete it, could you via web interface?23:24
mgzperrito666: with what name?23:24
wallyworldcmars: can i schedule a meeting with you for this time tomorrow regarding login?23:24
mgzperrito666: consoles.txt in cloud-city has all our logins btw23:25
cmarswallyworld, definitely23:25
wallyworldcmars: ty, will do invite soon23:25
mgzperrito666: I don't see anything recent, just cwr-joyent from yesterday?23:27
perrito666mgz: great, then it doesnt even creates the thing23:30
mgzaxw: thanks for fixing the bootstrap ssh issue btw23:31
axwmgz: nps23:32
anastasiamaccmars: menn0: could u plz have a look at http://reviews.vapour.ws/r/3958/ and/or http://reviews.vapour.ws/r/3957/23:52

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