/srv/irclogs.ubuntu.com/2016/04/13/#juju-dev.txt

wallyworldcherylj: so, we'll need to get that fix for bug 1567170 fixed00:00
mupBug #1567170: Disallow upgrading with --upload-tools for hosted models <upgrade-juju> <juju-core:In Progress by cox-katherine-e> <https://launchpad.net/bugs/1567170>00:00
cheryljyes, it landed in next, so we have some time00:00
wallyworldah phew ok00:00
mwhudsonwallyworld: so juju is looking for mongodump in /usr/lib/juju/bin/mongodump?00:02
wallyworldmwhudson: from memory, yreah00:02
mwhudsonERROR while creating backup archive: while dumping juju state database: error dumping databases: error executing "/usr/lib/juju/bin/mongodump": 2016-04-13T00:02:21.072+0000error parsing command line options: --dbpath and related flags are not supported in 3.0 tools.; See http://dochub.mongodb.org/core/tools-dbpath-deprecated for more information; 2016-04-13T00:02:21.072+0000try 'mongodump --help' for more information;00:02
mwhudsonsounds like juju needs moar fixing00:02
mwhudsonbut well no reason not to upload my package00:03
wallyworldmwhudson: yeah, juju is currently hard coded to look in the mongo 2.4 binary path for mongodump00:03
perrito666wallyworld: I fixed my patch, can you look at it so I can merge it after dinner?00:03
wallyworldperrito666: will do00:03
wallyworldmwhudson: it should be a quick fix to sort out that mongodump path, i'll do that today00:04
mwhudsonwallyworld: that was after i copied the 3.2 tools to /usr/lib/juju/bin/00:04
mwhudsonwallyworld: looks like the command line needs to change too00:04
wallyworldoh right, yes, i didn't read the error00:04
wallyworlddamn it00:04
mwhudsonBTW MIR for this is going to be a doozy00:04
wallyworldyes00:05
mwhudsonbut that's not today's problem either00:05
wallyworldmwhudson: so we have today to get a blessed beta4 for includsion in xenial main00:05
wallyworldis my understanding00:05
mwhudsonwallyworld: well i guess Someone (tm) should get to working filing MIRs for the deps00:06
wallyworldmwhudson: yeah, i must admit i have nfi about the process with all that00:06
wallyworldit is being driven by others00:06
wallyworldmwhudson: but i thought we had permission to put mongo packages needed for juju into main00:07
wallyworldalong with juju itself00:07
wallyworldisn;t that already approved?00:07
mwhudsonwallyworld: oh maybe00:08
wallyworldi thought so but am out of the loop a little on all that00:08
menn0wallyworld, axw: I'm thinking about picking up bug 1456916. this also relates to these old tickets: bug 892552 and 80211700:29
mupBug #892552: juju does not extract system ssh fingerprints <docs> <feature> <ssh> <pyjuju:Triaged> <juju-core:Triaged> <https://launchpad.net/bugs/892552>00:29
wallyworldmenn0: it will be a fair bit of work00:30
menn0wallyworld, axw: to me, the easiest win seems to be to use per-model known hosts files for juju ssh and juju scp (instead of /dev/null)00:30
perrito666wallyworld: why would we embed base suite?00:31
wallyworldperrito666: because that supresses logging output to console and other things00:31
perrito666k00:31
menn0wallyworld, axw: that doesn't help with the "first connect" problem but does prevent MITM after the first connect while avoiding the scary warnings when addresses are reused between models00:32
wallyworldmenn0: seems ok to me - so long as we can extract the fingerprints from cloud init, but i am not an expert00:32
menn0I guess there's still the problem of killing a machine and recreating it in the same model which could lead to the same address being reused00:32
wallyworldthat is the issue00:32
wallyworldone of00:33
menn0wallyworld: yeah, one of00:33
menn0wallyworld: ok so the ultimate solution would be for juju to extract the ssh key for each new machine from cloud-init and store it... and then have juju ssh and juju scp get told the key before connecting so it can be written into the client's known_hosts00:36
menn0wallyworld: something like that?00:36
axwmenn0: yep00:37
wallyworldmenn0: +100:37
wallyworldmenn0: i assume we pass pass a bespoke known hosts file to the client each time00:37
wallyworldmwhudson: are we putting juju-mongo3.2 into trusty?00:39
wallyworldcherylj: i think you did a fix so that if mongo 3.2 were not found, it would not retry? ill need to retest, but it appeared not to work when i bootstrapped a trusty controller. took ages to bootstrap and cloud init was filled with mongo3.2 retries00:41
wallyworldi may be able to get a fix done today if i can sort out some other issues00:42
axwwallyworld: we don't pass any known_hosts, we pass /dev/null. that's part of the problem00:46
axwI railed against that at the time it was done, but the change went in anyway00:47
wallyworldsigh00:47
wallyworldaxw: awesome, i removed juju-mongodb (only have mongo 3.2 installed) and tests fail \o/00:47
axwwallyworld: :/00:48
axwwallyworld: I'm guessing testing/mgo.go needs updating to look in the right spot00:48
wallyworldyep00:48
wallyworldi might worry about that later00:48
wallyworldperrito666: btw, removing ensureAdminUser is fine; need to double check restore, but bootstrap etc all works as expected00:53
perrito666sweeeet, this is a great week00:53
redirsee you tomorrow juju-dev01:08
=== redir is now known as redir_eod
cheryljwallyworld: yeah, I did. The fix was in juju/utils, so you'll need to make sure your deps are up to date to pull it in01:16
wallyworldok, i'll double check01:18
wallyworldcherylj: ah, i changed my scripts (long story) and my godeps one had an issue, utils just got updated, so i'll retry01:19
cheryljok, phew01:20
cherylj:)01:20
thumpermenn0: if you get a minute https://github.com/juju/gomaasapi/pull/3301:20
wallyworldmwhudson: when you upload the mongo 3.2 tools, the package will get installed automatically with mongo 3.2 db right?01:22
* thumper needs food01:23
* thumper goes to hunt in the kitchen01:23
wallyworldmwhudson: i'm testing a fix for that mongodump issue (the path and the args) and have no tools available - can you provide me wit the deb i can install manually?01:24
mupBug #1569632 opened: status: decide on statuses for migration <juju-core:Triaged> <https://launchpad.net/bugs/1569632>01:24
mupBug #1569632 changed: status: decide on statuses for migration <juju-core:Triaged> <https://launchpad.net/bugs/1569632>01:30
mwhudsonwallyworld: it's in ppa:juju/experimental01:33
wallyworldta01:33
mwhudsonwallyworld: juju-mongo-tools3201:33
mwhudsonwallyworld: juju-mongo-tools3.201:33
mwhudsonrather01:33
wallyworldmwhudson: yay, my fix worked, backups good now01:38
mwhudsonwallyworld: nice01:38
wallyworldmwhudson: but we'll need that tools deb in the repos etc before beta4 goes out01:39
mwhudsonwallyworld: slangasek said he'd look at it today01:39
wallyworldawesome01:39
mupBug #1569632 opened: status: decide on statuses for migration <juju-core:Triaged> <https://launchpad.net/bugs/1569632>01:45
=== alexisb-afk is now known as alexisb
alexisbwallyworld, menn0, axw is one of you available to look at: https://bugs.launchpad.net/juju-core/+bug/156946701:48
mupBug #1569467: backup-restore loses the hosted model <backup-restore> <blocker> <ci> <regression> <juju-core:Triaged by cherylj> <https://launchpad.net/bugs/1569467>01:48
cheryljI suspect that it has come from the made-model-workers branch01:49
axwalexisb: this is a known deficiency of backup/restore, meant to be fixedin 2.1 or later IIRC01:49
cheryljbut it's just a theory at this point01:49
cheryljI don't think it is01:49
cheryljI can do this test manually and it works01:49
cheryljIt's just failing in CI01:49
cheryljfor some reason01:49
axwcherylj: oh? I was under the impression that backup/restore didn't work with hosted models01:49
cheryljaxw: the backup is being created from the admin model01:50
alexisbaxw, BR should work on the admin model01:50
axwok01:50
cheryljthe problem that's happening in CI is that the dummy hosted model that is created to rebootstrap with is not removed01:50
cheryljand the existing models don't seem to get "hooked up"01:50
=== natefinch-afk is now known as natefinch
cheryljI'm wondering if the restore is actually dying in the controller01:51
wallyworldi'm working on some other backup fixes for mongo 3.2 (with tools), can look a bit later01:51
cheryljand it doesn't complete01:51
cheryljI think we need another run with the environment kept after the failure01:51
alexisbthank you wallyworld we leave it in your capable hands01:51
cheryljI'll update the bug with where I am with things01:51
cmarsanyone seen messages like this when a unit gets a hook error? https://paste.ubuntu.com/15803425/02:07
cmarsjuju resolved --retry doesn't seem to get picked up unless i reboot the machine that it's happening on02:08
cmarsshould i open a bug?02:08
natefinchcmars: probably02:09
cmarsok02:09
cmarsd'oh, i already did. ok, attached a full log to LP:#156613002:13
mupBug #1566130: awaiting error resolution for "install" hook <juju-core:Triaged> <https://launchpad.net/bugs/1566130>02:13
natefinchwallyworld, anastasiamac: I have a question about the imagemetadata api endpoint.  It has code to default the arch to amd64: https://github.com/juju/juju/blob/master/apiserver/imagemetadata/metadata.go#L184   ...when would that be triggered? Why would we ever get image metadata that doesn't specify an arch?  Isn't the arch like one of the most important pieces of information?02:28
anastasiamacnatefinch: hopefully never...02:29
anastasiamac(as in hopefully nver triggered)02:29
natefinchanastasiamac: the reason I ask is because of bug #156479102:29
mupBug #1564791: 2.0-beta3: LXD provider, jujud architecture mismatch <blocker> <lxd> <juju-core:Triaged by natefinch> <https://launchpad.net/bugs/1564791>02:29
anastasiamacnatefinch: so when u reproduce the bug, u fall into this code?02:30
natefinchanastasiamac: when using LXD, machines after the bootstrap machine on non-amd64 hosts are downloading amd64 juju binaries for some reason, which obviously don't work02:30
natefinchanastasiamac: it's easy to reproduce the bug, it's very hard to add debugging changes, because it only happens if you *don't* use upload-tools.  I'm actually not sure how to test this with my own binary02:31
anastasiamacnatefinch: I *think* u will only have no arch by this stage if ur image metadat does not have arch... which would b weird02:32
wallyworldnatefinch: i think some early simplestream metadata may have omitted the arch, not sure now. but now a days, it should never be ""02:32
natefinchwallyworld: ok, this may be a red herring then.02:32
wallyworldnatefinch: well, depends on the simplestreams metadata02:33
wallyworldif they generate metadata without an explicit arch, then boom02:33
natefinchactually, looks like they're explicitly requesting the wrong tools, now that I re-read the logs ni the bug02:34
natefinchAttempt 1 to download tools from https://10.0.3.164:17070/tools/2.0-beta3-xenial-amd6402:35
natefinchso, not really the fault of the streams that it gave them what they were asking for02:36
natefinchI'm having a heck of a time trying to figure out how we determine the arch that eventually goes into that download URL, though02:36
wallyworldnatefinch: it should be the arch of the host on which the tools are to be run02:41
wallyworldmenn0: can i bother you for a 99% red one? http://reviews.vapour.ws/r/4562/02:50
menn0wallyworld: looking02:52
menn0wallyworld: best. change. ever.02:54
wallyworldyay :-)02:55
natefinchwallyworld: I know the arch should be the arch of the host on which it is run, but in this case, the bug is that it's not :)02:58
wallyworldi need to read the bug02:59
natefinchwallyworld: basically just that non-amd64 LXD environments are downloading amd64 tools for some reason03:00
mupBug #1554677 changed: Provider help topics need to be updated for 2.0 <2.0-count> <docteam> <juju-release-support> <juju-core:Invalid> <https://launchpad.net/bugs/1554677>03:00
mupBug #1569652 opened: help text for juju grant needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569652>03:00
mupBug #1569654 opened: help text for juju revoke needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569654>03:00
wallyworldwere they bootstrapped on amd6403:01
wallyworldwith --upload-tools03:01
natefinchwallyworld: no. it's been seen on arm64 and s390x03:02
natefinchwallyworld: upload-tools actually fixes the problem03:02
wallyworldhmmm, not sure then, i'd have to debug03:05
wallyworldyou'd need to trace the simplestreams request and response03:05
natefinchwallyworld: do you have tips on how to debug? Since upload-tools avoids the bug, I don't really know how to get my own jujud into the system, but still have it look to simplestreams to get tools for further machinoes03:06
=== menn0 is now known as menn0-afk
wallyworldi'd just hack the code somewhere, eg don't store the uploaded tools in state to force a simplestreams check or something03:07
wallyworldnot sure off hand, i'd need to read the code03:08
natefinchwallyworld: ok, np03:08
mupBug #1567104 changed: Unable to connect to API <ci> <intermittent-failure> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1567104>03:12
terjehi, I'm trying to understand when config.yaml is parsed when deploying a charm.03:19
terjeI'd like to use some values stored in config.yaml when my install, start and stop hooks are executed.03:19
terjeDo I have the right idea/03:20
terje?03:20
natefinchterje: yep.... anything the user sets in the charm's config will be available to the charm code by having the charm call the config-get command, which will any configuration set on the charm (default in yaml)03:23
natefinchterje: https://jujucharms.com/docs/stable/authors-hook-environment#config-get03:23
terjeok, great.03:25
cheryljwallyworld: looks like perrito666's fix for the mongo path has some genuine test failures:  http://juju-ci.vapour.ws:8080/job/github-merge-juju/7344/console03:25
wallyworldcherylj: already on it :-)03:25
cheryljthanks :)03:26
wallyworlda couple of missing "."03:26
terjenatefinch: is config-get a shell function, sourced prior to executing my hooks?03:26
terje(I don't see a shell command on my system)03:26
natefinchterje: yep, there's a bunch of shell commands that get installed with a charm.  They're called "hook tools" in juju terminology: https://jujucharms.com/docs/stable/authors-hook-environment#hook-tools03:27
natefinchterje: they are in the path when a hook is executing03:27
terjeawesome, thank you.03:27
terjeok03:27
wallyworldaxw: https://bugs.launchpad.net/bugs/1551779 is fixed right?03:30
mupBug #1551779: New azure provider ignores agent mirrors <2.0-count> <azure-provider> <jujuqa> <regression> <streams> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1551779>03:30
axwwallyworld: no, didn't make the cut: https://github.com/juju/juju/pull/506803:31
wallyworldok, np03:31
axwit's ready to go whenever03:31
wallyworldjus saw the bug get changed, i thought it was fix committed03:31
wallyworldaxw: i have to go afk for 45 minutes or so, if you see any landing failures, could you please retry?03:40
axwwallyworld: okey dokey03:40
wallyworldta03:41
mupBug #1568177 changed: configFunctionalSuite.TestUsingTCPRemote lxdclient no addresses match <ci> <lxd> <regression> <test-failure> <unit-tests> <juju-core:Invalid by sinzui> <https://launchpad.net/bugs/1568177>03:43
thumpersweet04:05
thumperwell that was out of context...04:06
thumperit was for this: <wallyworld> mwhudson: yay, my fix worked, backups good now04:06
mwhudson:)\04:06
thumperirc window was scrolled04:06
natefinchman, juju debug-log is sloooooooow04:21
menn0wallyworld: http://reviews.vapour.ws/r/4563/ reviewed04:45
wallyworldmenn0: ty04:45
wallyworldmenn0: the previous PR was actually lgtm, i just fixed the tests, i'll see if i can pull the job04:45
wallyworldor i can tweak those method names in a driveby next time04:46
menn0wallyworld: it's really not that important04:48
menn0wallyworld: don't pull the current job04:48
wallyworldmenn0: ok, i'll fix real soon in another branch04:48
menn0wallyworld, axw: regarding SSH host key management... looks like there's 2 ways to tackle it04:59
menn0you can have cloud-init post them to a URL04:59
menn0or your can pre-generated them and have cloud-init install them for you04:59
menn0I prefer the latter as it's simpler, but it does mean a little extra work for the server to do for every new machine05:00
wallyworldmenn0: we did explorer having a listener on the cloud init url at one point (for provisioning status and errors), but it is more moving parts05:01
wallyworldwhat's the cpu cost of generating a key?05:01
menn0wallyworld: pre-generating them server side does seem better05:01
menn0wallyworld: I will check05:01
axwmenn0: I don't think we can do option 1 without a lot of added complexity05:04
axwas in, where do we post to05:05
axwmenn0: my intention was to generate client-side for bootstrap, then have the server generate a new key and publish it into state05:05
axwmenn0: then we'd query state for public keys when we want to SSH05:05
axwno prompting needed for verifying fingerprints05:06
menn0axw: I don't like the complexity of #1 either. we'd need a endpoint on the API server.05:06
menn0axw: I think we're thinking the same thing.05:06
menn0axw: what do you mean generate the key client side and then have the server generate a new key though?05:07
menn0axw: what i'm thinking is that when a new machine is to be created, a the host keys are generated on the server and inserted into state, and also passed to cloud-init05:08
menn0when you pass the keys to cloud-init, ssh keys aren't generated on the machine and the one that were passed are used instead05:08
menn0axw: http://cloudinit.readthedocs.org/en/latest/topics/examples.html#configure-instances-ssh-keys05:08
menn0axw: "ssh_keys"05:08
axwmenn0: sec, trying to find something. there's something about cloud-config not being completely secure. I think it might just be because anything on the machine can query the metadata05:11
menn0axw: ok, that's worth following up05:11
axwmenn0: eh can't find it, I'm sure there's a bug aobut it tho. but basically on AWS and others, you can get the cloud-config metadata by GETting a statically defined URL05:12
axwmenn0: no ACLs other than being on the machine05:13
menn0axw: ok that would be bad05:13
axwso if you wanted to run something non-privileged on the machine, it could easily become privileged05:13
axwmenn0: so, what I was thinking is that we'd pass through ssh_keys, and then have the machine agent generate a new one on startup05:13
axwmenn0: the initial ssh_keys one is really only necessary for the bootstrap machine tho05:14
menn0axw, wallyworld: FWIW generating both the RSA and DSA keys at the default (recommended) bit sizes takes less that 0.2s (combined) on my machine05:14
wallyworldmenn0: and for dense openstack deployments with containers, there may be several spun up at once05:15
axw(and containers can access the metadata URL)05:15
wallyworldi guess the host controller needing to run that many containers would cope05:16
axwmenn0: not sure if what I said about bootstrap & ssh_keys made any sense, let me know if a hangout would help05:16
menn0axw: it mostly makes sense but a hangout would be helpful05:17
axwmenn0: ok just eating lunch, give me 15 mins or so05:17
menn0axw: np05:17
axwwallyworld: sorry, got distracted and forgot to check your merge again05:22
wallyworldaxw: tis ok. there was a spurious failure, i resubmitted05:23
axwwould be good to have the CI bot sending messages in here05:23
menn0axw: +105:24
=== mup_ is now known as mup
axwmenn0: https://plus.google.com/hangouts/_/canonical.com/juju-ssh-keys?authuser=105:38
axwif you're free now05:38
menn0axw: coming!05:40
axwmenn0: wrong button05:50
axwbrb05:50
menn0LOL05:50
axwwhat have I done05:50
dimiternyay! master can bootstrap on xenial again :)06:01
dimiternthere's another issue today though06:13
dimitern2016-04-13 06:12:08 ERROR juju.worker.dependency engine.go:526 "proxy-config-updater" manifold worker returned unexpected error: unknown watcher06:13
dimitern id (not found)06:13
wallyworldaxw: this shit just keeps popping up everywhere :-( http://reviews.vapour.ws/r/4564/06:48
axwwallyworld: :/  looking06:49
wallyworldta06:49
axwwallyworld: LGTM06:54
wallyworldty06:54
dimiternwallyworld: hey, thanks for fixing that juju-mongodb3.2 issue!06:59
wallyworlddimitern: np, one more to go, landing now, affects restore06:59
wallyworldwasa joint effort with horatio07:00
dimiternwallyworld: I've found a new proxyupdater issue on master, which I'm testing a fix for - such a fix should qualify for landing on master, but first I'll file a bug report for it07:00
wallyworldok. we need to get a bless within 6 hours or so, maybe a bit more07:01
mupBug #1569725 opened: proxyupdater api facade does not set NotifyWatcherId in the result <juju-core:In Progress by dimitern> <https://launchpad.net/bugs/1569725>07:13
dimiternfrobware, voidspace, dooferlad: http://reviews.vapour.ws/r/4565/ fixes the bug above, please take a look07:23
frobwaredimitern: looking07:40
frobwaredimitern: apart from the test changes is the fix just in proxyupdater.go?07:44
frobwaredimitern: ah, I see it.07:44
dooferladdimitern: +1 from me.07:50
* dooferlad will be back a bit later07:51
dimiternfrobware: the fix is mostly in the api/proxyupdater changes07:51
frobwaredooferlad: are we doing 1:1 in 10?07:52
frobwaredooferlad: oh, it's 9:30...07:53
dooferladfrobware: indeed07:53
* dooferlad really is going now07:53
dimiternfrobware: I've observed at last what you're describing - lxd containers coming up with 1 NIC (as reported by lxc info), but inside having multiple NICs; applying the machine profile we create directly on the container manually seems to fix this (lxc info shows 8 NICs as expected)07:53
frobwaredimitern: it depends... the output from lxc list (with netinfo) can dribble in07:55
frobwaredimitern: if you can get to the same stage then don't apply the profile manually, just sit on watch lxc list for a bit07:55
dimiternfrobware: so not seeing all nics there is ok as long as they actually work - that's what you're saying?07:55
dimitern:)07:55
frobwaredimitern: there's the two case: 1) we don't get anything. 2) as you've descibed, but I'm not 100% sure this is because the info from lxc list can dribble in over time.07:56
frobwaredimitern: I want to change the way we apply the profile anyway. it can be applied to the container directly (need to expose some LXD api)07:57
dimiternfrobware: I've seen the dribbling you're talking about07:57
frobwaredimitern: want to sync for 30 mins?07:58
dimiternfrobware: don't you have another call?07:58
frobwaredimitern: would be interested in any results from LXD bashing07:58
frobwaredimitern: yep, but in 30mins07:58
dimiternfrobware: I'm not there yet (heavily testing lxd deployments in w/ w/o charms)07:58
frobwaredimitern: sure, but (gentle nudge) let's sync anyway. :)07:59
dimiternfrobware: so if you don't mind I'd like to get the AC removal well tested first and finish it, so I can focus on LXD testing07:59
dimiterni.e after standup will be better07:59
frobwaredimitern: sure07:59
dimiternfrobware: cheers08:00
frobwarejam: ping08:02
jamfrobware: hi08:02
frobwarejam: I'm guessing my PR for detectSubnet() does the wrong thing...08:02
jamfrobware: so its entirely possible that we're using it incorrectly, but the intent of detectSubnet is find a subnet that is not in use08:03
jamand the highest one we found +1 is not in use, but clearly the highest one we find *is* in use.08:04
frobwarejam: so then my fix is not a fix...08:04
frobwarejam: it would read better as detectSubnetNotInUse() :-08:04
jamfrobware: renaming "detectSubnet" to findUnusedSubnet would probably be a step in figuring out what is wrong08:04
jamfrobware: jinx?08:04
jamparaphrase jinx08:05
dimitern2016-04-13 08:04:42 DEBUG juju.cmd.juju.commands ssh.go:180 proxy-ssh is false08:05
frobwarejam: OK, I'll revert and look at that this morning.08:05
dimiternwtf?! since when08:05
dimiterncan't juju ssh 1/lxd/0 because of that08:05
jamdimitern: there was a big discussion about it recently08:05
dimiternonly juju ssh 0 works08:05
dimiternjam: and it was decided proxy-ssh is bad?08:06
frobwaredimitern, jam: interesting. pretty sure I was ssh'ing to 0/lxd/0 yesterday08:06
jamdimitern: the main motivation was that in multi-model controllers, proxy-ssh means you have to have ssh access to the API server.08:06
jamwhich is very bad for security08:06
voidspacedimitern: frobware: is "next" unblocked yet? (as in - do lxd tests pass again, can we land branches)08:06
jamIf I let you create a model on my controller, that doesn't mean I want you to have SSH access to root my API server.08:06
voidspaceah, I see updates on master and next08:07
dimiternjam: it depends whether 0/lxd/0 has a dns-name coming from a vlan (e.g. 10.100.19.0/24), which might only be accessible via the controller08:07
voidspaceso probably08:07
jamfrobware: dimitern: well aren't X/lxd/Y supposed to be on the routable subnets anyway?08:07
jamdimitern: so for people that have complex networking setups, they can do the jumps themselves, which is slightly unfortunate, or they can pass "--proxy" to juju ssh08:08
frobwarejam: yes, though it's nominally easier (for me) to think of them as logical machines (i.e., 0/lxd/3) then to dig (ho) out its IP addr08:08
jambut the default is that you can only use it if you are an admin on the controller.08:08
dimiternjam: they are, but what we deem the machine's private address for ssh still uses the legacy scoped selection + sorting08:08
dimiternnice! --proxy it is then08:08
dimiternyay! works08:08
jamdimitern: so for people that aren't admins "--proxy" will fail (which is why we set it to default false)08:09
jambut if you have access to the API server its available for you08:09
dimiternjam: yeah, this makes sense, but unfortunately also means we have to sort out the private address picking now08:10
jamdimitern: well, we should generally fix that anyway, right ? :)08:10
dimiternjam: indeed :)08:10
frobwaredimitern, jam: http://reviews.vapour.ws/r/4566/08:13
jamfrobware: shipit08:14
frobwarety08:14
jam'this change is not incorrect' is confusing08:14
jambut the change itself is good08:14
dimiternfrobware: LGTM08:14
frobwarejam: :) the change is incorrect (was in my head, but clearly not my fingers).08:16
dimiternwallyworld: hey, is there a way to disable the model switching to "default" from "admin" after bootstrap?08:16
dimiternit's a bit frustrating to do parallel bootstrap tests on different controllers08:17
dimiternaxw: ^^08:17
wallyworlddimitern: no, that was the intended behaviour08:17
axwdimitern: not at the moment. that shouldn't stop parallel bootstrap though08:18
wallyworldwe don't wanted users in general doing things with the admin model08:18
frobwarewallyworld: it's an odd experience first time round though08:18
dimiternwallyworld, axw: makes sense, but it's a bit inconvenient to have to pass -m local.xxx:yyy each time.. I guess needs to be scripted08:18
wallyworldfrobware: why is it odd? you deploy workloads to hosted models08:19
wallyworlddimitern: juju switch is your friend08:19
dimiternthe only reason I do it it's because I don't want to wait yet another 5m after bootstrap to be able to add a container to a machine in the default model08:19
frobwarewallyworld: as a new user I bootstrap and then try and add-machine lxd:0 and it doesn't. I guess most people deploy workloads.08:20
dimiternwallyworld: switch doesn't work well with parallel bootstraps - each does a switch at the end08:20
frobwarewallyworld: heh, dimitern's comment is what I try to avoid too08:20
wallyworldfrobware: the default hosted model is empty that is true08:21
wallyworldmachine 0, the old so called bootstrap machine, is not something we want users to think about08:21
frobwarewallyworld: and I still don't understand how I can get upgrade-juju to work in the default model08:21
wallyworldthe controller is an inrernal detail08:21
dimiternI almost wish to have a --use-admin-model flag to bootstrap :) i.e. I want you to not switch to "default" as I know what I'm doing08:22
axwperhaps we could special case --default-model=admin? (pretty sure that is broken atm, now that I think of it)08:23
axwso if you did "juju bootstrap -d admin", then you would have no secondary model08:23
dimiternaxw: that sounds exactly what I'd use08:23
wallyworldfrobware: i think you need to upgrade the controller tools first08:23
wallyworldfrobware: hosted models need to use tools compatible with their host08:24
frobwarewallyworld: ok, let me spin up a machine in the default model and report on my upgrade step. my experience my actually be a symptom of bug #1569361 as I'm generally only trying to use LXD containers08:25
mupBug #1569361: LXD containers fail to upgrade because the bridge config changes to a different IP address <network> <juju-core:In Progress by frobware> <https://launchpad.net/bugs/1569361>08:25
voidspacebabbageclunk: did your storage stuff land?08:32
voidspacebabbageclunk: I see that it didn't yet08:37
voidspacebabbageclunk: I have a branch with deployment status implemented for maas 2 - trying it with your storage stuff merged in08:37
voidspaceok, it fails because a default zone is specifed08:37
babbageclunkvoidspace: No, I was out by the time they got Jenkins unblocked. Do you know, is the next branch still going?08:38
voidspacebabbageclunk: stuff has landed on next - so I assume we're still using it08:38
babbageclunkvoidspace: How do I retry a merge - is it just $$retry$$08:38
voidspacethumper: should we be targetting next or master08:38
babbageclunkvoidspace: cool, thanks.08:38
voidspacebabbageclunk: $$anything$$08:38
babbageclunkvoidspace: really? I thought there were different commands?08:39
voidspacebabbageclunk: nope08:39
voidspaceit's a regex match08:39
babbageclunkvoidspace: ok, fixing merge conflicts and kicking it off again.08:42
babbageclunkvoidspace: I've heard mention of $$jfdi$$ though - is that a special case?08:44
voidspacebabbageclunk: that is special08:46
voidspacebabbageclunk: so, *something* is adding a zone of "default" to my StartInstance call - which is causing the AllocateMachine call to fail08:46
voidspacethis didn't happen before I don't think08:46
voidspacebut I haven't found where it's added yet08:46
voidspaceah no - the machine was deployed, so there actually were no machines available08:47
voidspacethe error message was just confusing!08:47
babbageclunkvoidspace: ok, that was an easy merge. Just running the tests and pushing now, then I'll queue the merge again.08:48
voidspaceok, now I get: "ERROR could not record instance in provider-state: cannot record state instance-id: Not Found08:48
voidspace - 4y3h7p"08:48
voidspacebabbageclunk: so somewhere we're being inconsistent with what we use as an id08:48
voidspacehowever, it looks like bootstrap continues08:49
voidspacebabbageclunk: this is with your storage branch and my branches with storage/constraints/deploymentStatus08:50
voidspacecloud-init is running08:52
voidspacedimitern: frobware: so with the latest of my branches (not yet tested) and babbageclunk's not-yet-merged storage branch08:53
voidspacefrobware: dimitern: bootstrap gets as far as deploying the node (maas status changes to Deployed)08:53
dimiternvoidspace, babbageclunk: great!08:53
voidspacewaiting to see if it gets any further - bootstrap has not yet returned. It has already reported one error, which will probably be fatal later but it hasn't stopped bootstrap.08:54
dimiternI'll give maas2 bootstrap a try today then08:55
voidspaceERROR failed to bootstrap model: bootstrap instance started but did not change to Deployed state: instance "4y3h7p" is started but not deployed08:58
voidspacenot true - it is Deployed08:58
voidspaceprobably caused by:08:58
voidspaceERROR could not record instance in provider-state: cannot record state instance-id: Not Found08:58
voidspace - 4y3h7p08:58
wallyworldaxw: off to soccer, i had to require that restore fix, pprpof test error, if it fails again and you notice, could you requeue for me?09:00
axwwallyworld: ok, gotta go make dinner shortly though09:00
wallyworldnp, only if you notice09:01
wallyworldi'll check later09:01
wallyworldlooks like restore is f&cked09:01
wallyworlderrors setting restore status09:01
axw:/09:01
wallyworldtxn assert error09:01
wallyworldbut Assert is empty09:01
wallyworldneed to diagnose09:01
axwfwereade_: I have pulled Status and Life back out put params.Model, and made worker/undertaker responsible for setting model status. if you have time, PTAL09:19
fwereade_axw, will do, tyvm09:20
fwereade_axw, while they're not *immediately* relevant, did you have any thoughts re the philosophy-of-status essay in my reply?09:21
voidspacebabbageclunk: if you merge voidspace/maas2-deployment-status into your storage branch09:33
voidspacebabbageclunk: and then attempt to bootstrap09:33
voidspacebabbageclunk: you should see the "cannot record state instance-id" error09:33
voidspacebabbageclunk: it would be great to work on that09:34
voidspacebabbageclunk: isn't there also your interfaces work to complete? (a MAAS 2 version of maasObjectNetworkInterfaces09:35
babbageclunkvoidspace: yup - I need to get stop-instances and interfaces up to date with next and do PRs for them.09:36
voidspacebabbageclunk: maas2Instance.volumes also needs implementing - and *may* be the cause of this failure (unlikely though)09:36
babbageclunkvoidspace: then I'll grab your branch and see if I can find the instance-id problem09:36
voidspacebabbageclunk: cool09:43
=== cargonza_ is now known as cargonza
voidspacedimitern: that system id is correct09:55
voidspacedimitern: the deployed machine is 4y3h7p, the rack controller is 4y3h7n09:55
dimiternvoidspace: hmm, but does the provider-state file get created ok?09:57
voidspacedimitern: so it's possible a bug in the way we fetch the instance (machine)09:57
voidspacedimitern: no idea09:57
voidspacedimitern: it needs investigating09:57
dimiternvoidspace: and then we get 404 trying to get instance 4y3h7p?09:57
voidspacedimitern: but the id is correct09:57
voidspacedimitern: well, that's what it looks like on the basis of no investigation beyond checking the system id of the machine09:58
axwfwereade_: sorry, went afk. I do like the philosophy of separating collection, and summarisation/representation/visualisation. part of the reason why I removed the migration statuses from my PR09:58
dimiternvoidspace: maybe we're not passing agent-name and it doesn't find it..09:58
voidspacedimitern: babbageclunk is going to look into it09:58
voidspacedimitern: we are passing agent name09:58
dimiternvoidspace: ok09:58
voidspacedimitern: well, at the juju level09:58
voidspaceit's possible gomaasapi screws things up :-)09:58
voidspacebut we can check that too09:58
axwfwereade_: i.e. because migration and lifecycle are quite different, and so their statuses should probably be recorded separately09:58
axwfwereade_: what I don't have a good idea about is how to represent all of that to the user. but at least we can make that call at the UI level10:01
babbageclunkfrobware, dimitern, frobware: StopInstances branch - http://reviews.vapour.ws/r/4567/10:12
babbageclunk(menn0 told me the trick of removing changes from the branch it was chained off - sorry about the other times it wasn't done!)10:13
dimiternbabbageclunk: LGTM10:27
dimiternbabbageclunk: urm.. I meant the other one of yours, looking at the one above now10:28
mupBug #1569802 opened: add support for "decrement-container-interfaces-mtu" config option <juju-core:Triaged> <https://launchpad.net/bugs/1569802>10:28
babbageclunkdimitern: awesome, thanks10:33
dimiternbabbageclunk: reviewed10:36
dimiternmgz: aren't we using go 1.6 for merge gating now? just noticed "go version go1.2.1" still used by github-merge-juju10:58
babbageclunk:( My maas2-storage merge run got a failure in worker/resumer tests.10:59
babbageclunkThey pass when I run them locally - anyone else seeing that?11:01
dimiternbabbageclunk: yeah, that's one of the flaky ones - seen it before, just $$retry$$11:02
dimiternfrobware, babbageclunk: fyi - https://github.com/juju/juju/pull/5130 if you have no objections, I suggest merging this11:46
babbageclunkdimitern: makes sense to me.11:49
frobwaredimitern: I got a failed CI unit test run this morning for my LXD revert - do you know if this was already present in next?11:50
dimiternfrobware: which one?11:52
frobwaredimitern: http://juju-ci.vapour.ws:8080/job/github-merge-juju/735911:52
dimiternfrobware: that looks like it's on next and also a mongo-related flakiness11:56
frobwaredimitern: yeah, submitted again11:57
mupBug #1555211 changed: Model name that "destroy-model" accepts doesn't match "list-models" output <2.0-count> <juju-release-support> <juju-core:Fix Released> <https://launchpad.net/bugs/1555211>12:11
TheMue(late) morning12:18
voidspacebabbageclunk: did you make any progress tracking that issue?12:18
babbageclunkvoidspace: no, sorry - was making review changes and wrangling branches.12:21
babbageclunkvoidspace: I just got up to trying out your branch now, but when I try bootstrapping I get "ERRIR Requested map, got <nil>."12:22
wallyworldfwereade_: i am stupid, can i ask you to look at something?12:23
wallyworldi sort of hope for ann answer without having to dig too deeply and debug12:24
babbageclunkvoidspace: Ed Hope-Morley was just here.12:24
voidspacebabbageclunk: you need to set the MAAS2 feature flag12:26
voidspacebabbageclunk: ah, cool12:26
voidspacebabbageclunk: export JUJU_DEV_FEATURE_FLAGS=maas212:26
babbageclunkvoidspace: thanks, was just asking that.12:27
voidspacebabbageclunk: otherwise it assumes maas 1 (we put the maas 2 work behind a feature flag)12:27
babbageclunkvoidspace: now I get a panic!12:28
babbageclunkvoidspace: nil-pointer dereference. Do I need to be on a later version of MAAS?12:29
babbageclunkvoidspace: http://pastebin.ubuntu.com/15809705/12:31
babbageclunkvoidspace: Oh, is that because the storage is nil? Does this branch have the storage changes in it?12:33
voidspacebabbageclunk: no - you need my branch plus storage12:33
voidspacebabbageclunk: is storage merged?12:34
babbageclunkvoidspace: ok12:34
babbageclunkvoidspace: No, grr - and the build for it just failed, I think because interfaces just got merged.12:34
babbageclunkvoidspace: 5th or 6th time's the charm!12:35
voidspace:-)12:36
babbageclunkvoidspace: the fun bit is, I've still got a merge for stop-instances in the queue. That's based off storage, and I've updated it now so storage might get merged with that.12:43
babbageclunkvoidspace: What happens to the storage PR in that case? Will it just become merged automatically when all of its changes are already in the destination branch?12:45
babbageclunkvoidspace: Right, my head's feeling a bit explody, I'm going for a run.12:45
voidspacebabbageclunk: if you set stop-instances to merge and that is based off storage then yes - merging stop-instances will merge storage I think12:47
voidspacebabbageclunk: but as you want to merge both that doesn't matter12:47
voidspacebabbageclunk: not sure what will happen to the PR, it will *probably* get marked as merged12:48
babbageclunkvoidspace: yup, that's all good.12:48
* babbageclunk is actually going for a run now13:18
=== babbageclunk is now known as babbageclunk-afk
fwereade_wallyworld, sorry, missed you, in meeting13:19
fwereade_wallyworld, how can I help, if you haven't already solved it?13:19
wallyworldfwereade_: there's a txn that returns Aborted - it appears to have just started to act up13:20
wallyworldfunc (info *RestoreInfo) SetStatus(status RestoreStatus)13:20
wallyworldin state/backups/restore.go13:20
wallyworldthe initial state being passedin is Pending13:21
wallyworldand the txn fails, so restore aborts13:21
wallyworldi can't see why off hand13:21
wallyworldif i comment out the assert, it works13:21
wallyworldinitially, it's an empty assert for pending13:21
wallyworldah, not state/backups, just state13:22
fwereade_wallyworld, hold on, ringing a bell...13:22
fwereade_wallyworld, heh, there might be a few things going on13:23
wallyworldit's such a simple txn13:24
fwereade_wallyworld, the failure would seem to indicate that something else has already set the status away from pending13:24
wallyworldfwereade_: not really13:24
wallyworldfor pending, the assert is empty13:25
wallyworldah, but initially there won't be a doc13:25
fwereade_wallyworld, d'oh, yes13:26
wallyworldso it should be Insert13:26
wallyworldso how the fuck did this ever work13:26
wallyworldthe code is from 201413:26
fwereade_wallyworld, heh, I actually think I must have broken it13:27
wallyworldmaybe something else inserts a doc initially13:27
wallyworldoh, when?13:27
fwereade_wallyworld, creating a RestoreInfoSetter would implicitly set a status, which would trigger txn failures when two things created them at once13:28
fwereade_wallyworld, especially infurating when one of them was only creating the "setter" in order to get, grrmbl13:28
wallyworldsee https://bugs.launchpad.net/juju-core/+bug/1569467/comments/213:28
mupBug #1569467: backup-restore loses the hosted model <backup-restore> <blocker> <ci> <regression> <juju-core:Triaged by cherylj> <https://launchpad.net/bugs/1569467>13:28
wallyworldthat comment has a timeline of sorts13:29
fwereade_wallyworld, but, yeah, if there wasn't *something* else creating the restore status, I don't see how that could have ever worked13:29
wallyworldfwereade_: a quick code search shows nothing now is creating an initial entry13:29
wallyworldcherylj: see scrollback - that restore issue has been identified as due to a refactoring earlier - i don't think it can be fixed in time for beta413:30
fwereade_wallyworld, concur13:31
wallyworldcherylj: we will just have to release note it and fix for the next release13:31
fwereade_wallyworld, but, well, I made that change a long time ago and I'm 99% sure it was on MADE-model-workers pre-bless... maybe something else got mangled in a merge?13:32
wallyworldfwereade_: or CI didn't pick it up13:32
wallyworldbecause the reason it has started failing is due to newer multi-model tests13:32
fwereade_wallyworld, right, but I'm with you in that I can't see how it could have worked at all13:33
wallyworldwhere the hosted model is created with a name named after the test13:33
fwereade_wallyworld, (by the way, fun feature of that file: const currentRestoreId = "current")13:33
wallyworldfwereade_: one option maybe just to get it working is to comment out the restore status setting13:34
fwereade_wallyworld, ha13:34
wallyworldas in restore will work but status will be unknown; i'd have to check to see where status is used13:34
fwereade_wallyworld, yeah... you know, I'm actually not sure it is even used13:35
wallyworldfwereade_: looks like a watcher is used to set a restoring flag on the machine agent13:36
wallyworldso we can block api calls13:37
wallyworldso it sort of is needed i think13:37
fwereade_wallyworld, yeah, sort of, even though that flag is not goroutine safe, and doesn't appear to have any way to dc existing connections13:38
fwereade_wallyworld, wait a mo13:39
fwereade_wallyworld, if the assert is empty13:39
fwereade_wallyworld, I don't think that'd ErrAborted, would it?13:40
wallyworldfwereade_: tl;dr; no quick fix for beta4 for inclusion in xenial13:40
wallyworldgiven we need to get a CI bless asap now13:40
fwereade_wallyworld, surely it would run and try to modify a document that wasn't there and fail silently?13:40
fwereade_wallyworld, yeah, agreed13:41
wallyworldfwereade_: that's what i thought, but it seems it does because the doc doesn't exist and Insert is not used13:41
fwereade_wallyworld, oh, that scenario explicitly gives us ErrAborted?13:41
wallyworldi'm going by what the logs report13:41
wallyworldappears so13:41
wallyworldaccording to the logs13:41
wallyworldeither way, it's broken13:42
wallyworldfwereade_: i hacked up a version where for pending, the first status set call, i made the Assert nil, and that seemed to allow it to get futher13:42
wallyworldso in that case it may have silently failed, because the next status set call to restoring failed13:43
fwereade_wallyworld, it'll still fail later though, won't it? FinishRestore will never succeed13:43
wallyworldsince that call did have an assert13:43
wallyworldyep13:43
mupBug #1569898 opened: cmd/pprof: sporadic test failure <juju-core:New> <https://launchpad.net/bugs/1569898>13:44
wallyworldso the restore nazi says "no restore for you in beta4" (with apologies to Seinfeld and the Soup Nazi)13:44
wallyworldcherylj: when is the drop dead cutoff for beta4?13:45
cheryljha, yesterday13:45
cheryljheh13:45
cheryljwe need to get a release out asap13:45
cheryljthis whole restore situation is confusing to be because it works for me on joyent13:46
cheryljto me, not to be13:46
cheryljheh13:46
cheryljwallyworld: in your recreate, did you see anything weird for mongo in syslog?13:48
wallyworldcherylj: didn't look in syslog - the error is quite apparent from the juju logs13:49
wallyworldcherylj: are you sure it worked?13:49
wallyworldit may have appeared to work13:49
wallyworldit would look like it did from juju status13:49
wallyworldbut it would not have13:49
cheryljwallyworld: I could run juju status on the hosted model and it showed me the right info (correct machine / service) and list-models showed the right info13:50
cheryljI bootstrapped with a different model name for the default model13:50
cheryljand that was right too13:50
wallyworldhah ok, i did not see that in my testing, it failed deterministically, and the cause is now apparent from the code13:51
wallyworldcherylj: did you use upload-tools13:51
wallyworldyour restore may have grabbed beta3 tools13:51
wallyworldwhich may not have the problem13:51
cheryljI did upload-tools13:52
cheryljer wait13:52
cheryljnot for restore, you're right13:52
wallyworldthat may well be the reason13:52
cheryljthank goodness there's some sense to the situation then13:52
cheryljheh13:52
wallyworldyeah, agreed, we needed to be able to explain it13:52
wallyworldbut sadly we will go to beta4 without restore working13:53
wallyworldcherylj: i landed a few branches today to fix various issues with restore and mongo3.2; so all that should be ok now, but of course now that that is fixed, we see this other issue, although i did much of my testing on trusty containers for the lastest failures13:54
mupBug #1569898 changed: cmd/pprof: sporadic test failure <juju-core:New> <https://launchpad.net/bugs/1569898>13:56
natefinchwallyworld: do you know where I should be looking for the code I need to hack for upload-tools?14:02
mupBug #1569898 opened: cmd/pprof: sporadic test failure <juju-core:New> <https://launchpad.net/bugs/1569898>14:02
mupBug #1569914 opened: help text for juju show-controller needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569914>14:02
wallyworldnatefinch: to do which bit?14:02
wallyworldnatefinch: did you see john's explanation?14:03
wallyworldyou  may not need to hack anything14:03
natefinchwallyworld: I saw the text, but it doesn't really help me.14:04
wallyworlddoesn't it explain why amd64 is being chosen?14:04
wallyworldthe provider is not asking for the right arch14:05
=== dimitern` is now known as dimitern
wallyworldi only skimmed it14:05
natefinchwallyworld: it doesn't say where the code is that it's talking about. The provider is a ton of twisty code14:05
wallyworldi have not looked at it14:05
natefinchwallyworld: also, when he says images, does he mean the OS image or the tools image?14:06
wallyworldos image14:06
natefinchwallyworld: well, ok, I know that's incorrect14:06
natefinchwallyworld: the alias of the OS image may be ubuntu-trusty, but the arch is correct... we can see that in lxd... and the fact that the OS image runs at all means it's the right arch14:07
natefinchwallyworld: the problem is that cloud-init is requesting the wrong tools version14:07
natefinchwallyworld: e.g. Attempt 1 to download tools from https://10.0.3.164:17070/tools/2.0-beta3-xenial-amd64...14:08
mupBug #1569914 changed: help text for juju show-controller needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569914>14:08
wallyworldright ok, so that last bit is the binary version string14:09
natefinchwallyworld: what I have been trying to figure out is how we generate the URL to request.... it's just really hard to trace it back just by looking at the code, and I haven't been able to figure out how to use upload-tools and still let the code request stuff from streams14:09
wallyworldi gave you instructions :-)14:09
wallyworldwhich i have not tried, i think they will work14:10
natefinchwallyworld: I don't know where any of that code lives14:10
natefinchwallyworld: I spent a few hours trying to find that code last night14:10
wallyworldi'd have to search for it to be exact. there's a ToolsStorage struct in state which is used to store the tools14:11
wallyworldthen i'd sesrch for what increments the version Build field14:11
wallyworldto see how to stop that ebing incremented14:11
wallyworldyou could also trace what sets the cloud init config14:12
wallyworldsee see where it is telling it to download tools of a certain arch14:12
natefinchI have tried that, too.14:13
katcowallyworld: cherylj: doh... sorry i inverted the fix to that bug14:13
wallyworldkatco: you had your glasses on back to front14:13
cheryljheh14:13
katcowallyworld: lol14:13
mupBug #1569914 opened: help text for juju show-controller needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569914>14:14
wallyworldnatefinch: i just did a quick code search - did you look at func InstanceConfig() in instanceconfig.go ?14:17
wallyworldthat's where the cloud init tools are set up i think14:17
cheryljnatefinch: some (possibly) interesting factoids14:17
cherylj1 - This test had been passing on arm64 until the host was updated to xenial14:17
tych0frobware: hi, what's the current state of lxd/juju?14:18
tych0frobware: i'm finally done with some customer stuff and can get back to looking at it now14:18
tych0(well, i have to fly back to denver, but i can look this afternoon/late evening)14:18
cherylj2 - the problem with s390 could be attributed to s390x not being an valid arch in beta3 (see bug 1554675)14:19
mupBug #1554675: Unable to bootstrap lxd provider on s390x <lxd> <s390x> <juju-core:Fix Committed by cherylj> <juju-core 1.25:Fix Released by cherylj> <https://launchpad.net/bugs/1554675>14:19
wallyworldnatefinch: so looking at that code, it appears the tools arch comes from the machine's recorded HardwareCharacteristics, which may be nil14:21
wallyworldthis is just a guess - i've not seen this code before, it's all been refactored14:22
wallyworldso when the container is created, if the hardware characteristics do not include the arch, that could explain it14:22
wallyworldbut i'd need to trace it through14:23
wallyworldyou don't need to hack around upload tools to do that14:23
wallyworldjust add extra debugging14:23
wallyworldcherylj: natefinch: using upload tools would get around that invalid arch issue in beta314:25
cheryljwallyworld:  for the s390 case at least.  Don't know if it's the same for arm14:25
wallyworldcherylj: arm should have been properly defined in juju since forever14:26
=== babbageclunk-afk is now known as babbageclunk
cheryljyeah, I know :(14:27
cheryljbut, it may not make a difference14:27
cheryljhow could they have bootstrapped a s390x lxd provider anyway?14:28
cheryljI don't know...  just spewing data points14:28
sinzuiwallyworld: cherylj: since agents use deb archs "dpkg --print-architecture" on the client host will show probbly arch for the container14:28
babbageclunkvoidspace, dimitern: gah! Is allWatcherStateSuite.TestStateWatcherTwoModels another flaky test?14:28
cheryljyes14:29
babbageclunk:(14:29
babbageclunkoh, cherylj, that probably wasn't to me, was it.14:29
cheryljbabbageclunk: it was, sorry :)14:30
babbageclunkcherylj: d'oh14:31
babbageclunkcherylj: ok, requeuing. Thanks!14:31
natefinchwallyworld: where's the code that gets the arch from the machine?14:31
wallyworldcan't recall, i 'll look14:32
tych0frobware: i just tried a deploy with master on GCE, looks like it's still broken with no network. i know you said you had a patch for this in progress, what's the state of it?14:32
=== tasdomas` is now known as tasdomas
katcocherylj: really quick review for inverting that bug fix? http://reviews.vapour.ws/r/4571/diff/#14:34
cheryljkatco:  we should probably cancel the $$merge$$ request on my revert, then14:34
cheryljsinzui: can we do that? ^^14:35
wallyworldnatefinch: i've traced it back from the state docs - there's a SetInstanceInfo() API on the machine facade called by the provisioner14:35
cheryljit's still in the queue14:35
sinzuicherylj: me trues14:35
wallyworldnatefinch: and that gets it's infro from StartInstance()14:35
katcocherylj: whatever is easier14:36
sinzuicherylj: your PR?14:36
wallyworldnatefinch: this is maas right?14:36
natefinchwallyworld: lxd14:36
cheryljsinzui: https://github.com/juju/juju/pull/513114:36
natefinchwallyworld: sounds like the problem may be that startinstance isn't setting the arch when it should be14:36
wallyworldyes, which is what john said i think14:37
sinzuicherylj: I don't see it in the queue to cance14:37
sinzuiwow 2 hours ago14:37
cheryljyeah, there's quite a backlog for merging14:37
sinzuicherylj: revert-upload-tools is canceled14:38
cheryljthanks, sinzui  :)14:38
katcosinzui: ty!14:38
wallyworldnatefinch: looks like lxd does the right thing at a quick look14:38
wallyworldbut all this can be debugged14:38
natefinchwallyworld: yeah, doing that now14:39
wallyworldok, good luck, i'm out of here for a few hours to zzzzzzzzz14:39
natefinchwallyworld: good, talk to you tomorrow14:39
wallyworldttyl14:40
bogdanteleagasinzui, cherylj, can this get bumped to a higher priority? https://bugs.launchpad.net/juju-core/+bug/156767614:42
mupBug #1567676: windows: networker tries to update invalid device and blocks machiner from working <juju-core:Triaged> <https://launchpad.net/bugs/1567676>14:42
bogdanteleagathe machiner is broken14:42
cheryljbogdanteleaga: sure I can target for rc114:44
babbageclunkvoidspace: ok, so I see the power-settings clearing bug Tim was talking about, I think.14:45
voidspacebabbageclunk: heh, much better not to set the power :-)14:46
katcocherylj: any suggestions on what to pick up next?14:47
cheryljyou can take bogdanteleaga's bug he just mentioned :)14:47
katcocherylj: let me tal14:47
cheryljI just added a card for it14:47
katcocherylj: can i reproduce this on linux, or do i need a windows installation?14:48
cheryljkatco: I suspect it's windows only14:50
katcocherylj: do we have any windows installations to test against?14:50
cheryljkatco: there is in CI.  sinzui, abentley - can katco access a MAAS that has windows images to deploy?14:51
sinzuicherylj: katco sure. I can add katco to munna14:52
katcosinzui: cherylj: ty... any documentation on how to utilize this?14:52
sinzuikatco: I have no documentation. These masses are all new to me14:53
katcosinzui: ok14:54
katcosinzui: do i need to be on a vpn or anything?14:54
sinzuikatco: cloud-city and the CI runs have configureations in them14:54
sinzuikatco: you will not, you well enter as the CI bot with all its privs14:55
katconatefinch: standup time15:02
frobwaretych0: it's currently in master15:03
frobwarealexisb, tych0: is is possible to get GCE creds to poke around?15:03
dimiternalexisb: ping15:07
alexisbdimitern, omw15:09
dimiternok15:10
mupBug #1569948 opened: help text for juju list-machines needs improving <helpdocs> <juju-core:New> <https://launchpad.net/bugs/1569948>15:14
mupBug #1569949 opened: log spam: "skipping observed IPv6 address ..." <juju-core:New> <https://launchpad.net/bugs/1569949>15:14
natefinchkatco, ericsnow: and once I figure out how to do this dance with upload-tools, I'll write it down so others can benefit from it.15:25
katconatefinch: sounds good15:27
ericsnownatefinch: nice15:28
katcoericsnow: natefinch: btw they're doing something to the sidewalk again -.- i'm hopeful they don't cut anything this time15:28
ericsnowkatco: buena suerte15:28
terjeI'm deploying a charm I'm working on to private openstack clouds. In doing so, I need a few things (endpoints, username/pw, token's), etc.15:34
terjeCurrently I put them in config.yaml and use config-get to access them when the charm deploys but since they differ, per install this isn't going to work15:35
terjeis there a better way to go about this?15:35
katcoterje: you might have more luck in #juju15:36
katcoterje: that's where the charming folks hang out, and i'm sure they've run into that problem before15:37
cheryljperrito666: ping?15:37
perrito666cherylj: pong15:37
natefinchyeah, folks on this channel just aren't as charming15:37
cheryljperrito666: looks like the mongo path changes broke windows unit tests:  http://paste.ubuntu.com/15813652/15:37
perrito666cherylj: whaaa? I am pretty sure I +build !windows to that test15:38
mup_Bug #1569963 opened: log spam:  image metadata, apiworkers manifold worker, KVM <juju-core:New> <https://launchpad.net/bugs/1569963>15:38
mup_Bug #1569969 opened: No way to set credential for current model. <juju-core:New> <https://launchpad.net/bugs/1569969>15:38
perrito666cherylj: there it is https://github.com/juju/juju/blob/master/mongo/internal_test.go#L4 I wonder what is going on15:39
perrito666natefinch: do you know if build flags are valid for tests?15:39
terjelulz, ok. thanks. There's never anyone active in #juju but I'll give it a shot.15:39
cheryljperrito666: the failing test is  in state/backups/internal_test.go15:42
natefinchperrito666: absolutely15:42
cheryljwhich does not have the windows build flag15:42
perrito666cherylj: oh, I see, I did not touch that why would it be failing15:42
cherylj(sorry, I cut that part off from the paste)15:42
* perrito666 goes check15:43
cheryljhere's the full paste:  http://paste.ubuntu.com/15813799/15:44
=== mup_ is now known as mup
perrito666cherylj: I see no state/backups/internal_test.go15:44
perrito666cherylj: actually, grep says that test is not here15:45
cheryljhttps://github.com/juju/juju/blob/master/state/backups/internal_test.go#L2815:45
perrito666cherylj: ohhh, I see, Ian most likely merged this while my patch was on the queue15:46
perrito666there it is15:47
terjecrickets in #juju ..15:49
katcomarcoceppi: anyone that can help terje out?15:49
marcoceppiterje: katco hi, I'll answer in #juju15:50
katcomarcoceppi: thx dude15:50
terjeyea, thanks!15:50
katco`gah... stupid construction! power keeps cutting out15:59
katco`thank god the internet seems unaffected15:59
fwereade_praise be to the internet16:01
katco`may we all bask in its warm glow and loving embrace16:02
katco`so sayeth we all16:02
=== katco` is now known as katco
natefinchsinzui: we have 2.0beta3 in streams somewhere, right?16:03
natefinchor mgz_ ^16:03
sinzuinatefinch: devel streals16:03
sinzuidevel streams16:03
natefinchsinzui: what's the url for that? I'm trying to write some documentation and I can't actually find those tools in streams. I'm sure I'm just missing them somewhere16:04
sinzuinatefinch: agent-stream: devel16:04
sinzuino need to set agent-metadata-url16:05
natefinchsinzui: no no... what do I type into chrome?16:05
natefinchsinzui: I just want to see what's available16:05
sinzuinatefinch: This is the official streams location https://streams.canonical.com/juju/tools/streams/v1/index2.json16:06
natefinchsinzui: where's the actual list of available images?  I don't know how to parse that json16:08
sinzuinatefinch: images? oh, that would be cloud-images.ubuntu.com16:09
natefinchsinzui: s/images/tools16:09
natefinchsinzui: for example: https://streams.canonical.com/juju/tools/proposed/16:10
natefinchsinzui: except, with 2.0beta3 in the list16:10
natefinchsinzui: this is for human consumption, not machine16:10
sinzuinatefinch: that is obsolete from a long time ago16:10
natefinchsinzui: somewhere there is a link to juju-2.0beta3-trusty-amd64.tgz .... can you pleaase just find that url for me?16:11
sinzuinatefinch: https://streams.canonical.com/juju/tools/streams/v1/index2.json is what juju uses16:12
sinzuinatefinch: in that file is a path the the stream you want to use, "devel"16:12
sinzuinatefinch: a devel juju will then read https://streams.canonical.com/juju/tools/streams/v1/com.ubuntu.juju-devel-tools.json16:13
natefinchsinzui: what is the base of the relative path that they give? e.g. "agent/2.0-beta3/juju-2.0-beta3-trusty-amd64.tgz" ?16:16
sinzuinatefinch: the agent-metadata-url used by Juju. Juju's default is https://streams.canonical.com/juju/tools16:17
mupBug #1569982 opened: pathsSuite.TestPathDefaultMongoExists failing on windows <blocker> <ci> <juju-core:Triaged by cherylj> <https://launchpad.net/bugs/1569982>16:18
natefinchsinzui: ahh, thank you16:18
sinzuinatefinch: The directories are browsable on that server :) https://streams.canonical.com/juju/tools/agent/16:19
natefinchsinzui: yes, that's the URL I was looking for16:19
sinzuicherylj: bug 1559715 is about the model instances being left behind16:23
mupBug #1559715: restore-backup is unreliable <backup-restore> <ci> <destroy-controller> <destroy-environment> <regression> <juju-ci-tools:Triaged> <juju-core:Triaged> <https://launchpad.net/bugs/1559715>16:23
sinzuicherylj: I will re-title it16:23
cheryljperrito666: https://github.com/juju/juju/pull/513516:29
cheryljsinzui: yeah, good idea16:29
tych0jam: frobware: https://github.com/juju/juju/pull/513616:46
frobwaretych0: your testing for this problem is from the tip of master?16:47
tych0frobware: yes16:47
frobwaretych0: ok, makes perfect sense16:48
tych0frobware: although i haven't tested against "next", but it looked to me like they were the same16:48
frobwaretych0: the reason I was asking is because there is (or has been a race) in that part of the code16:48
tych0right, i assume that is what you were working on?16:49
frobwaretych0: the "if len(networkConfig.Interfaces) > 0 " can happen very occasionally on MAAS16:49
tych0you mean it is == 0 even on maas?16:49
frobwaretych0: or, put another way, it's possible for len == 0 even on MAAS...16:49
frobwaretych0: let me dig out the bug16:49
tych0frobware: right, i'm not testing on mass, but gce16:49
tych0and it is always broken for me16:50
frobwaretych0: bug #156439516:50
mupBug #1564395: newly created LXD container has zero network devices <bootstrap> <conjure> <network> <juju-core:In Progress by dimitern> <https://launchpad.net/bugs/1564395>16:50
tych0that's what i was complaining about a few weeks ago16:50
frobwaretych0: can you send me the machine-0.log without your fix?16:51
mupBug #1566531 changed: Instances are left behind testing Juju 2 <ci> <destroy-environment> <ec2-provider> <jujuqa> <juju-ci-tools:Invalid> <juju-core:Fix Released> <https://launchpad.net/bugs/1566531>16:51
mupBug #1570009 opened: pathsSuite.TestPathDefaultMongoExists fails because of windows path <ci> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1570009>16:51
tych0frobware: sure16:51
tych0(i'm on a plane right now so it might be slow :)16:51
frobwaretych0: planes are fast. :-D16:51
tych0frobware: but i think without the above juju/lxd container type is basically broken everywhere, no?16:51
cheryljcan I get a quick review?  http://reviews.vapour.ws/r/4574/16:52
frobwaretych0: yes-ish. what's not clear is whether that's due to the bug ^^ -- ie., by the time we get to "your patch" it was going to be empty come what may16:52
tych0frobware: http://paste.ubuntu.com/15815783/16:52
tych0frobware: oh. does juju provide network config in all cases?16:53
tych0frobware: i read somewhere in the code that it was opitonal16:53
tych0maybe in the struct InstanceSpec comments or something16:53
frobwaretych0: checking...16:57
=== redir is now known as redir_brb
tych0frobware: ah, it's on StartInstanceParams16:59
* babbageclunk is BACK!17:00
mupBug #1570009 changed: pathsSuite.TestPathDefaultMongoExists fails because of windows path <ci> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1570009>17:21
=== redir_eod is now known as redir
frobwaretych0: followed up in RB17:31
cheryljperrito666: review, pretty please?  http://reviews.vapour.ws/r/4574/17:31
frobwarecherylj: updated the release notes but will follow-up again tomorrow in the cold light of day...17:31
perrito666cherylj: ship it17:32
cheryljtyvm, frobware!17:32
tych0frobware: i'm not sure i understand your comment17:41
tych0frobware: since we don't create those devices at the moment, don't we want to use the default profile whether they're nil or not?17:42
mupBug #1305509 changed: state/watcher: possible data race in commonWatcher <race-condition> <juju-core:Fix Released> <https://launchpad.net/bugs/1305509>17:51
mupBug #1517747 changed: provider/joyent/gomanta: data race <2.0-count> <race-condition> <juju-core:Triaged> <https://launchpad.net/bugs/1517747>17:51
mupBug #1570031 opened: Cannot bootstrap MAAS2 since Juju2 does not use MAAS API V2 <juju-core:New> <https://launchpad.net/bugs/1570031>17:51
frobwaretych0: it's not clear whether we should immediately fall back to "default"17:53
frobwaretych0: I need to able to test this.17:54
tych0frobware: what other options are there?17:54
natefinchI love the way in juju status that we try to save horizontal space by labelling the Instance ID column "INS-ID" ... but then the actual ID is juju-c9d1b54c-95ba-4046-8b16-06e16b02ada8-machine-017:55
frobwaretych0: NetworkConfig.Device and NetworkConfig.NetworkType may have valid values17:55
tych0frobware: right, but nothing in the code uses those right now right?17:55
frobwaretych0: in container/lxd.go no, but that could be an oversight having only tested this with MAAS17:56
frobwaretych0: I'm trying to understand from the POV of the other providers, particularly AWS with and without juju's address-allocation feature flag17:57
tych0right. i'm not proposing a fix for that, i'm proposing a fix for something else: that there is no networks at all in containers on GCE or AWS17:57
frobwaretych0: so it wasn't clear to me this was broken on AWS.17:57
tych0i think it's broken everywhere that doesn't provide network configuration, which includes AWS right?17:58
tych0i haven't actually tested it there, i just heard someone (maybe you?) mentioned that GCE and AWS were similar in that respect17:58
frobwaretych0: just trying on AWS18:05
mupBug #1570031 changed: Cannot bootstrap MAAS2 since Juju2 does not use MAAS API V2 <juju-core:New> <https://launchpad.net/bugs/1570031>18:12
mupBug #1570035 opened: Race in api/watcher/watcher.go <ci> <race-condition> <regression> <juju-core:Triaged> <https://launchpad.net/bugs/1570035>18:12
cheryljkatco: ericsnow just opened up a bug with the same error of that windows bug you're working on18:17
cheryljkatco: and I'm assuming he's not on windows :)18:17
katcocherylj: k18:17
cheryljkatco: so maybe there's a way to recreate without windows18:17
katcocherylj: dunno... ericsnow, are you? ;p18:17
cheryljbug 156996318:17
mupBug #1569963: log spam:  image metadata, apiworkers manifold worker, KVM <juju-core:New> <https://launchpad.net/bugs/1569963>18:17
ericsnowcherylj: not on windows :)18:17
ericsnowkatco: ^^^18:17
katcocherylj: this looks like a completely different error?18:18
cheryljmachine-0: 2016-04-13 14:54:23 ERROR juju.worker.dependency engine.go:526 "apiworkers" manifold worker returned unexpected error: setting controller network config: cannot set controller provider network config: cannot set link-layer devices to machine "0": invalid device "unsupported0": Type "" not valid18:18
katcocherylj: oh nm i see the message now18:18
cheryljok, thought I was going crazy18:18
cheryljwhich is entirely possible18:18
katcoaren't we all? heh heh heh18:19
frobwaretych0: I'm using your tree and AWS seems busted (for add-machine lxd:0)18:25
tych0frobware: oh? what's the symptomp?18:26
frobwaretych0: bleh, scrap that. Warning != Error.18:27
tych0frobware: ok, my abttery is going to die. let me know what you figure out about aws18:33
frobwaretych0: just testing one more path...18:34
* frobware mulls over the fact that he is doing basic sanity bootstrap... that a machine and/or CI could do...18:39
frobwaretych0: not sure if you're still about but ... http://pastebin.ubuntu.com/15818135/18:41
frobwaretych0: that's your tree, bootstrapped as: JUJU_DEV_FEATURE_FLAGS=address-allocation juju bootstrap a1 aws --upload-tools18:41
frobwaretych0: I'll need to dig into this more tomorrow18:41
frobwaretych0: so, the problem above is because:18:48
frobwareubuntu@ip-10-229-48-181:/var/log/lxd/juju-machine-0-lxd-0$ sudo lxc profile list18:48
frobwaredocker18:48
frobwaretych0: there is no default profile18:48
mupBug #1568668 changed: landing bot uses go 1.2 for pre build checkout and go 1.6 for tets <juju-ci-tools:New> <https://launchpad.net/bugs/1568668>19:03
=== alexisb is now known as alexisb-afk
mupBug #1568668 opened: landing bot uses go 1.2 for pre build checkout and go 1.6 for tets <juju-ci-tools:New> <https://launchpad.net/bugs/1568668>19:18
katconatefinch: how's your stuff going?19:19
natefinchkatco: I may have just found a key piece.... I still haven't figured out how to disable all the upload-tools stuff, but I just found a spot where we haven't set the arch when getting user data config (i.e. the thing that sets up cloudinit and which determines the tools we download)19:21
natefinchkatco: maybe... still not sure19:21
cheryljkatco: do you know if there was ever a plan to support nested lxd containers for the lxd provider (such that deploy --to lxd:# would work)?19:22
katcocherylj: that's certainly a use-case19:23
cheryljkatco: but would we expect it to work now? (because we don't allow it because of the "can host containers" check)19:24
katcocherylj: i don't think we specifically added support for that in the provider19:24
cheryljok19:24
katcocherylj: so right now it doesn't work because of a security setting?19:25
rick_h_cherylj: katco that's the profile issue19:25
cheryljkatco:  I think it's because of the check that we do to determine if a machine can host a container19:25
rick_h_cherylj: katco where you have to use the docker profile to get that to work19:25
cheryljthe check is "are we a container" I think19:25
katcorick_h_: cherylj: right, that's where i was going... can we tweak the profile to disable that security check19:25
katcocherylj: oh, it's a juju thing, not lxd?19:26
cheryljwait, I'm thinking of a different bug19:26
cheryljmaybe it's not that check that's failing19:26
cherylj(sorry, I'm slowly losing my mind)19:26
cheryljah, yes it is the same error output:  "cannot add a new machine: machine 1 cannot host lxd containers"  but it doesn't fail at deploy time?  weird.19:28
cheryljthis is bug 1569106 for reference19:28
mupBug #1569106: juju deploy  <service> --to lxd:0 does not work with lxd provider <conjure> <lxd> <placement> <juju-core:New> <https://launchpad.net/bugs/1569106>19:28
mupBug #1568668 changed: landing bot uses go 1.2 for pre build checkout and go 1.6 for tets <juju-ci-tools:New> <https://launchpad.net/bugs/1568668>19:30
natefinchkatco or ericsnow: care to pair on this?  A fresh pair of eyes may be a big help19:36
ericsnownatefinch: sure19:37
katconatefinch: trying to get this windows test going19:37
ericsnownatefinch: I need a break :)19:37
natefinchericsnow: cool19:37
natefinchkatco: np19:37
natefinchkatco: good luck19:38
=== JoseeAntonioR is now known as jose
tych0frobware: wat20:37
tych0frobware: how is there no default profile? that is odd.20:37
thumpermorning20:45
perrito666hi thumper20:46
thumperhey perrito66620:47
* perrito666 wonders what exactly did he change in his linkedin lately that provoked a wave of recruiters20:48
=== terje is now known as Guest13601
mupBug #1569072 changed: juju2 bundle deploy help text out of date <landscape> <juju-core:New> <https://launchpad.net/bugs/1569072>20:52
=== \b is now known as benonsoftware
natefinchkatc0, cherylj: pretty sure ericsnow and I figured out the problem with lxd on non-amd64.21:00
cheryljyay!21:00
cheryljnatefinch: what was it?21:00
natefinchcherylj: we were getting a list of valid tools, and not filtering it for valid architectures before picking one off the list.  It just happens to always be amd64 first... and just happens to be ignored during bootstrap21:01
cheryljnice21:02
=== _stowa_ is now known as _stowa
mupBug #1570096 opened: No way to remove user; remove-user command is missing <juju-core:New> <https://launchpad.net/bugs/1570096>21:28
redirthat seems like a pretty solid bug21:34
=== axw___ is now known as axw
thumperwallyworld: meeting?22:03
wallyworldthumper: on way, last meeting ran over22:03
=== aluria` is now known as aluria
perrito666wallyworld: I am leaving for like an hour or so, if you change your mind regarding the standup please have anastasiamac_ or axw contact me via some communication protocol from this century, preferably one that rings my phone such as twitter22:38
wallyworldperrito666: ok, will do22:39
anastasiamac_wallyworld: axw: I proposed a quick fix for cloud lookup to include built-in providers consistently http://reviews.vapour.ws/r/4579/23:05
anastasiamac_cherylj: if u don't want it in beta4 ^^^, I can re-propose against next with more testing around the area...23:06
thumpertrivial review for someone: https://github.com/juju/gomaasapi/pull/3723:19
thumperaxw: you on call?23:20
axwthumper: I am23:20
axw(currently reviewing in fact)23:20
* axw enqueues23:20
axwthumper: can we not change gomaasapi to drop the empty-value ?op=23:23
thumperaxw: we *could*, but I'm more hesitant to change parts that are used already...23:23
thumperit is almost certainly likely to be fine23:24
thumperbut still has me a bit squeemish23:24
axwthumper: ok23:24
menn0axw: quick state API question: http://paste.ubuntu.com/15822102/23:52
menn0I think I prefer the latter23:52
wallyworldnatefinch: how goes the non amd64 lxd provider fix?23:52
ericsnowwallyworld: we paired right before he had to go for dinner and it looks like we came up with a fix23:57
ericsnowwallyworld: natefinch should be back in a little while to wrap it up23:58
wallyworldericsnow: oh, that is awesome23:58
wallyworldwhat was the root cause?23:58
axwmenn0: sorry going to meeting, will look in a little while23:59
ericsnowwallyworld: the list of tools that gets passed in is basically "all available" and amd64 is the first one23:59
menn0axw: no rush23:59
ericsnowwallyworld: the provider was simply using the first one in the list23:59
ericsnowwallyworld: needed to filter for arch first23:59

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