[01:25] <thumper> oh poo
[01:26] <thumper> wanting to add something to a worker manifold, but it just defines itself as a copy of engine.AgentApiManifoldConfig
[01:26]  * thumper sighs
[01:26]  * thumper unpicks
[01:26] <thumper> perhaps after a dog walk
[03:16] <mup> Bug #1271744 changed: bootstrap on maas with --metadata-source fails <bootstrap> <maas> <maas-provider> <simplestreams> <upload-tools> <juju-core:Triaged by anastasia-macmood> <https://launchpad.net/bugs/1271744>
[03:16] <mup> Bug #1567763 changed: bootstrapping private openstack, with --metadata-source fails when instance-type constraint is specified <bootstrap> <constraints> <simplestreams> <juju-core:In Progress by anastasia-macmood> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1567763>
[03:20] <thumper> bugger
[03:20] <thumper> clean up a test and now it fails
[03:20]  * thumper reverts
[03:29] <menn0> axw: the more I think about it, the more I think your approach for those flaky MachineSuite tests is the right thing to do for now
[03:29] <menn0> axw: i'll give it a try soon
[03:29] <axw> menn0: cool
[03:33] <thumper> fark
[03:54] <menn0> thumper: http://reviews.vapour.ws/r/5342/
[04:22] <mup> Bug #1588115 changed: json: cannot unmarshal string into Go value of type nova.jsonEntity <bootstrap> <juju> <juju-core:Expired> <https://launchpad.net/bugs/1588115>
[05:35] <menn0> thumper: http://reviews.vapour.ws/r/5343/
[08:26] <rogpeppe> axw: ping
[08:26] <axw> rogpeppe: pong
[08:26] <rogpeppe> axw: yo!
[08:26] <axw> howdy
[08:26] <rogpeppe> axw: is it a bug or a feature that credentials can't be updated or deleted?
[08:27] <axw> rogpeppe: bug
[08:27] <rogpeppe> axw: ok, thought so, just checking
[08:27] <axw> rogpeppe: working on the foundations of updating them still
[08:27] <rogpeppe> axw: (if you try to update an existing credential, you get a "state changing too quickly" error)
[08:27] <rogpeppe> axw: (not the most informative error in the world :] )
[08:28] <axw> rogpeppe: oh, well that's a different type of bug :)   I just meant that we don't react to changes at the moment
[08:28] <axw> I guess we're assuming they don't exist at the moment
[08:28] <rogpeppe> axw: yeah, so there's no way for us to change them
[08:29] <rogpeppe> axw: i was wondering if immutability was by design
[08:29] <rogpeppe> axw: but it seems not :)
[08:29] <rogpeppe> axw: i think it should make an update txn if the doc already exists
[08:30] <axw> rogpeppe: yep. not set in stone, but at the moment we don't assume immutability. there's no documented workflows for updating creds, but I don't see any problem with updating existing ones
[08:31] <rogpeppe> axw: i think that perhaps it's a mistake for the transaction Run method to *always* return "state changing too quickly" if the transaction fails
[08:31] <rogpeppe> axw: whether that's appropriate surely depends on whether the transaction is designed to work in all cases
[08:32] <axw> rogpeppe: it should always be valid, except if the transaction asserts are wrong?
[08:32] <axw> (which seems to be the case here)
[08:33] <rogpeppe> axw: well, there might well be operations which are designed to fail in certain cases (for example, a Remove operation might fail because the doc doesn't exist)
[08:34] <rogpeppe> axw: or it might well be legitimate to have an operation that is supposed to fail if the doc already exists (insert vs update)
[08:35] <axw> rogpeppe: sure, but you check that at the top of the transaction loop. if it doesn't exist, you return errors.NotExistsf. otherwise you assume it's there, but add an assert; the failure causes the loop to restart
[08:36] <axw> you only get the "state changing too quickly" error if what you're chekcing at the top of the loop doesn't match what's in the assert, or if it really is happening too quickly
[08:36] <axw> changing*
[08:36] <rogpeppe> axw: that implies even more unnecessary round trips
[08:36] <rogpeppe> axw: but i guess that's par for the course
[08:36] <axw> rogpeppe: you don't *have* to use the transaction loop
[08:36] <axw> rogpeppe: this error only occurs when you do
[08:37] <rogpeppe> axw: you don't have to use the transaction loop? i thought that was the only way to run transactions these days.
[08:38] <axw> rogpeppe: state.State.runTransaction doesn't use a loop
[08:38] <axw> rogpeppe: state.State.run does
[08:40] <rogpeppe> axw: ah, i didn't know about runTransaction or the distinction between that and run
[08:41] <rogpeppe> axw: not great naming tbh - i think that Run should probably be named something that implies it will loop
[08:41] <axw> rogpeppe: agreed on that
[08:55] <rogpeppe> axw: just reported these bugs:
[08:55] <rogpeppe> axw: https://bugs.launchpad.net/juju-core/+bug/1608421
[08:55] <mup> Bug #1608421: UpdateCloudCredentials should be able to change existing credential <juju-core:New> <https://launchpad.net/bugs/1608421>
[08:55] <rogpeppe> axw: https://bugs.launchpad.net/juju-core/+bug/1608422
[08:55] <mup> Bug #1608422: it is not possible to remove cloud credentials <juju-core:New> <https://launchpad.net/bugs/1608422>
[08:55] <axw> rogpeppe: thanks
[08:56] <rogpeppe> axw: you're planning to fix these, right? (if not, we can probably do some work on it)
[08:56] <axw> rogpeppe: eventually yes, but I don't know when I will get to them
[08:56] <rogpeppe> axw: ok
[09:02] <mup> Bug #1608421 opened: UpdateCloudCredentials should be able to change existing credential <juju-core:New> <https://launchpad.net/bugs/1608421>
[09:02] <mup> Bug #1608422 opened: it is not possible to remove cloud credentials <juju-core:New> <https://launchpad.net/bugs/1608422>
[09:05] <mup> Bug #1608421 changed: UpdateCloudCredentials should be able to change existing credential <juju-core:New> <https://launchpad.net/bugs/1608421>
[09:05] <mup> Bug #1608422 changed: it is not possible to remove cloud credentials <juju-core:New> <https://launchpad.net/bugs/1608422>
[09:08] <mup> Bug #1608421 opened: UpdateCloudCredentials should be able to change existing credential <juju-core:New> <https://launchpad.net/bugs/1608421>
[09:08] <mup> Bug #1608422 opened: it is not possible to remove cloud credentials <juju-core:New> <https://launchpad.net/bugs/1608422>
[09:12] <rogpeppe> axw: is it my imagination, or are there no tests at all for the State.UpdateCloudCredentials method?
[09:19] <axw> rogpeppe: indeed, that one slipped through
[09:20] <rogpeppe> axw: i'm doing a coverage test on state now :)
[11:25] <fwereade> huh, irc wasn't open
[11:25] <fwereade> anastasiamac, can we chat about supported architectures?
[11:31] <anastasiamac> fwereade: yes we can :)
[11:32] <fwereade> anastasiamac, tell me if I get any of the following statements wrong
[11:32] <anastasiamac> fwereade: k
[11:32] <rogpeppe> axw: as a followup to the UpdateCloudCredentials thing, there are a few other methods that could do with tests in state... https://bugs.launchpad.net/juju-core/+bug/1608494
[11:32] <mup> Bug #1608494: state: not all public methods are tested <juju-core:New> <https://launchpad.net/bugs/1608494>
[11:33] <fwereade> anastasiamac, *in general*, bootstrapping with local image metadata will cause the image metadata to be uploaded and put in the database and made accessible to all environ instances created on the controller
[11:34] <anastasiamac> fwereade: right (when database is present and we have a connection to it)
[11:34] <fwereade> anastasiamac, there is a window of badness that affects *only* the environ instance that's actually bootstrapping the controller
[11:36] <anastasiamac> fwereade: kind of... i have a gut feeling that the "window of badness" has a flow on affect. If it's fixed the flow-on effect *may* be fixed too
[11:36] <fwereade> anastasiamac, that problematic environ instance is running on the same machine as the one that got the image metadata in the first place
[11:36] <fwereade> anastasiamac, (I'm pretty sure that agents won't get env config except via an api conn? or at least via the database)
[11:37] <anastasiamac> fwereade: i *think* it maybe that environ instance *has access* to the machine that has image metadata
[11:39] <anastasiamac> fwereade: well, metadata has several data soureces - database is one of thethem and we hope is the main one - but ther are also url and file data sources..
[11:39] <fwereade> anastasiamac, I don't understand the follow-on effect
[11:40] <fwereade> anastasiamac, well, sure, but I don't think we need to care what the data sources are -- we just need to care that they *match*
[11:40] <anastasiamac> fwereade: so I ahve seen bugs where private clouds (or no intrnet env) can bootstrap using --metadtaa-url (= web served data) not metadata source (= file locations)
[11:40] <anastasiamac> fwereade: but had troubles deploying workload
[11:40] <anastasiamac> fwereade: right about the match
[11:41] <anastasiamac> fwereade: so form what i've seen, the "badness" occurs before stat is open where we select tools and get custom metadata from locally accessible location
[11:42] <anastasiamac> fwereade: we detemrine supported architectures from declared data sources (which we have not declared yet) and are ignoring bootstrap custom metadata
[11:42] <fwereade> anastasiamac, so, the local stuff is not a properly configured data source for the environ? shouldn't it be?
[11:43] <anastasiamac> fwereade: when we get it, we do not have environ yet
[11:43] <anastasiamac> fwereade: we pass it into startinstance as params
[11:43] <fwereade> anastasiamac, all the more reason to create the environ knowing what data source it should use
[11:43] <anastasiamac> fwereade: data source is created
[11:43] <anastasiamac> fwereade: but data source is just the location to look at
[11:44] <anastasiamac> fwereade: what we need here is a collection of actual values
[11:44] <anastasiamac> fwereade: since we do not have anywhere to put them et. we can only pass them around
[11:44] <anastasiamac> fwereade: i *think* :)
[11:44] <fwereade> anastasiamac, the data source is an abstraction allowing us to get those values, isn't it?
[11:44] <fwereade> anastasiamac, how does an environ know SupportedArchitectures if not by looking at what some datasource provides?
[11:45] <anastasiamac> fwereade: yes, and as soon as we get a chance we put them in db :)
[11:45] <anastasiamac> fwereade: suppoted architectures does not look i db at this stage anyway.. it's somethign that needs to happen but has not yet
[11:45] <anastasiamac> fwereade: putting this custom metadata into db will not help
[11:45] <fwereade> anastasiamac, well, the provider should pretty much never be looking in the db, tbh
[11:46] <fwereade> anastasiamac, I'm not suggesting we should
[11:46] <anastasiamac> fwereade: becasue we only obtain it and use it before db is started
[11:46] <fwereade> anastasiamac, right
[11:46] <anastasiamac> fwereade: \o/
[11:46] <fwereade> anastasiamac, I'm saying that the environ we use to bootstrap is misconfigured if it's using a different data source to the one specified
[11:47] <fwereade> anastasiamac, (and that a local source needs to be uploaded and put in the db to be accessible later, but it sounds like that all works correctly anyway)
[11:47] <anastasiamac> fwereade:db upload works exactly as expected :)
[11:48] <anastasiamac> fwereade: peerfectly :)
[11:48] <fwereade> anastasiamac, (and also cautioning you against imagining that an environ ever "should" look in the db, that may be the ultimate source of the data but db concerns belong nowhere near environs)
[11:48] <fwereade> anastasiamac, cool
[11:48] <fwereade> anastasiamac, I'm sorta implicitly dismissing the follow-on concerns then
[11:49] <anastasiamac> fwereade: even better for me then :)
[11:49] <fwereade> anastasiamac, I can see an easy way to bootstrap and not be able to deploy, if you use a metadata url that's accessible to the client but not the controller
[11:49] <fwereade> anastasiamac, and that is sorta a Don't Do That Then situation
[11:50] <fwereade> anastasiamac, and it sounds like the upload of local metadata is also fine, so managing to bootstrap should imply we can deploy anything covered by that local metadata
[11:50] <fwereade> anastasiamac, remind me how data sources *are* associated with an environ?
[11:50] <mup> Bug #1608494 opened: state: not all public methods are tested <juju-core:New> <https://launchpad.net/bugs/1608494>
[11:50] <anastasiamac> fwereade: this specific fix does not deal with URL served metadata - this works. Metadat-source is a file location
[11:51] <anastasiamac> fwereade: metadata-url vs metadata-source
[11:52] <fwereade> anastasiamac, yeah -- and it really seems like there's *one* environ, that we're trying to bootstrap, which will fail if it doesn't have proper access to the local metadata
[11:52] <fwereade> anastasiamac, am I missing something? or am I pointing at the central problem
[11:52] <anastasiamac> fwereade: right. of course with my changes, i managed to bootstrap :)
[11:56] <rick_h_> morning
[13:33] <mup> Bug #1608527 opened: lxd bootstrap now slow, timing out, fails <canonical-is> <juju-core:New> <https://launchpad.net/bugs/1608527>
[13:45] <mup> Bug #1608527 changed: lxd bootstrap now slow, timing out, fails <canonical-is> <juju-core:New> <https://launchpad.net/bugs/1608527>
[13:45] <mup> Bug #1608528 opened: machineSuite.TestShortPollIntervalWhenNoStatus timing problem: expect 2, obtained 2 <ci> <intermittent-failure> <regression> <unit-tests> <juju-core:Triaged> <https://launchpad.net/bugs/1608528>
[13:45] <mup> Bug #1608529 opened: suprious 'd' in log output during lxd bootstrap <juju-core:New> <https://launchpad.net/bugs/1608529>
[13:45] <mup> Bug #1608533 opened: Race in github.com/juju/juju/apiserver/tools_test <ci> <race-condition> <regression> <unit-tests> <juju-core:Triaged> <https://launchpad.net/bugs/1608533>
[15:01] <perrito666> will be back later
[15:58] <natefinch> ug, taxes on part of my property went up by 54% since last year :/  Luckily, it's the smaller of the two parcels, but it still means over $200 a month extra I'm paying... except that it's doubled by my mortgage company this year to put extra in escrow :/
[16:15] <mup> Bug #1608597 opened: CalledProcessError for juju-2.0 deploy -m slaveX:default deployment_file <juju-core:New> <https://launchpad.net/bugs/1608597>
[16:27] <mup> Bug #1608597 changed: CalledProcessError for juju-2.0 deploy -m slaveX:default deployment_file <juju-core:New> <https://launchpad.net/bugs/1608597>
[16:33] <mup> Bug #1608597 opened: CalledProcessError for juju-2.0 deploy -m slaveX:default deployment_file <juju-core:New> <https://launchpad.net/bugs/1608597>
[16:43] <perrito666> natefinch: I understood very little of that
[16:44] <perrito666> you can move to argentina, 200 dollars is about 1/3 of my yearly tax
[16:45] <natefinch> perrito666: the property that my house is on is in two towns... one of the towns decided that the piece of land I own in their town is worth twice as much this year as was worth last year.
[16:45] <perrito666> ah, I see, we have a much more strict definition of town
[17:02]  * rick_h_ goes for lunchables
[17:03] <natefinch> rick_h_: you should really find something less processed than lunchables. Those things are terrible.
[17:26] <rick_h_> natefinch: just my way of saying 'food for lunch'
[17:26] <rick_h_> leftover blue apron meal today
[17:26] <natefinch> rick_h_: I know, just giving you a hard time :)
[17:27] <natefinch> rick_h_: I had leftover thai food :)
[17:31] <perrito666> I had .... too hard to translate, dry tomatoes, some greens, mozzarela and ham on ciabatta with a flavoured cream :p
[17:31] <perrito666> lunch caught me off my house, otherwise it would be way less pretentious
[17:48] <natefinch> perrito666: sounds tasty
[17:49] <natefinch> also, verdict on the taxes: evidently the town did a review, and realized they'd been taxing us at the residential rate, but that piece of land is in a commercial zone, which is a lot more expensive.  sigh.
[18:00] <alexisb> natefinch, 54% is crazy in one year
[18:00] <alexisb> I would have something to say about that
[18:01] <natefinch> alexisb: well, the land *is* in a commercial zone, I knew that when we moved in.  So, basically we've been getting a 33% discount for the last 6 years :/
[18:14] <hatch> when attempting to build Juju from master it is hanging on cmd/jujud has anyone ever run into this before?
[18:22] <natefinch> hatch: nope.
[18:22] <natefinch> hatch: when's the last time you did a successful build?
[18:22] <hatch> natefinch: on this machine, never
[18:22] <hatch> fresh install
[18:22] <natefinch> hatch: hm.. suspicious
[18:22] <hatch> Go 1.6.3
[18:23] <natefinch> hatch: are you using the makefile or running go install manually?
[18:23] <hatch> I was running `go install -v ./...`
[18:23] <natefinch> *nod* did you run godeps first?
[18:23] <hatch> yep
[18:23] <natefinch> I got nuthin.
[18:24] <hatch> maybe Juju doesn't build with 1.6.3?
[18:25] <natefinch> I can try it locally.... I was using 1.6.2, can try 1.6.3 easy enough
[18:25] <hatch> I've just deleted everything and it's rebuilding
[18:26] <hatch> will see if it hangs
[18:26] <hatch> yup hung again on jujud
[18:27] <hatch> I'll try downgrading to 1.6.2
[18:30] <hatch> natefinch: fwiw 1.6.2 also hangs
[18:31] <rick_h_> natefinch: ping for meeting
[18:32] <natefinch> rick_h_: oops, thanks, coming
[18:32] <natefinch> hatch: building now... probably something weird with the machine you're building with
[18:33] <hatch> natefinch: yeah, I am just not sure how I go about debugging it as there isn't any output
[18:33] <hatch> natefinch: go build also hangs
[18:34] <hatch> as expected I suppose
[19:21]  * rick_h_ goes to get boy from camp biab
[20:15] <rick_h_> katco: can you add some step by step QA docs to https://github.com/juju/juju/pull/5906 please and once there natefinch can you please look at and review and validate QA please?
[20:16] <natefinch> rick_h_: sure thing
[20:16] <katco> rick_h_: pointer to step-by-step instructions are in the review's "testing" section
[20:16] <rick_h_> katco: ah, sorry. I got an email on the PR but didn't see anything to the RB
[20:28] <rick_h_> natefinch: also please mark https://bugs.launchpad.net/juju-core/+bug/1604474 fix comitted
[20:28] <mup> Bug #1604474: Juju 2.0-beta12  userdata execution fails on Windows <azure-provider> <ci> <juju2.0> <oil> <oil-2.0> <regression> <windows> <juju-core:In Progress by natefinch> <https://launchpad.net/bugs/1604474>
[20:28] <natefinch> rick_h_: done
[20:29] <rick_h_> ty
[20:31] <rick_h_> katco: while your branch is up for review can you peek at https://canonical.leankit.com/Boards/View/122969419/123586962 please?
[20:31] <rick_h_> katco: looks like it just didn't get landed due to conflicts that maybe you could resolve/get it landed?
[20:31] <rick_h_> katco: as a quick win for the b14
[20:32] <katco> rick_h_: it looks like it doesn't have a ship it
[20:32] <rick_h_> katco: oh nvm, reviews say needs lots of love. More than just conflicts.
[20:33]  * rick_h_ follows bug to pr to RB to ... :)
[20:33] <katco> hehe
[20:47] <natefinch> man, the github CLI helper, hub, really makes testing other people's branches easy.  I can just hub checkout https://github.com/juju/juju/pull/5906  and run the code from a PR.
[20:58] <rick_h_> natefinch: <3 if you find a good pattern write it up please. I was using my old tricks from before with custom git aliases
[20:58] <rick_h_> natefinch: making it easier/faster to qa-prs is <3
[21:02] <rick_h_> natefinch: https://github.com/juju/docs/blob/adc36a78430d84f5c6ab05b271eb3b700768ba40/README.md#using-git-aliases is what we used to use
[21:04] <natefinch> katco, rick_h_: ran out of time to test that PR.  I have it all deployed.. but hit a weird situation while removing and re-adding.  Will continue looking at it after the kids are in bed
[21:04] <mup> Bug #1608677 opened: Remove filesystem cache for charm archives <juju-core:New> <https://launchpad.net/bugs/1608677>
[21:04] <rick_h_> natefinch-afk: ty, have a good evening
[21:26] <bdx> hey whats up guys?
[21:27] <bdx> I'm having some issues with network spaces on aws ... I guess I'll write the list ... thought I would check here first
[21:29] <bdx> I have successfully bootstrapped into my aws vpc using `juju bootstrap mycloud aws --credential mycred --config vpc-id=my-vpcid --config force-vpc-id='true' --upload-tools`
[21:30] <bdx> and subsequently created a model on my aws controller in the vpc with `juju add-model my-new-model -credential mycred --config vpc-id=my-vpcid --config force-vpc-id='true'`
[21:31] <bdx> following which, I add a network space, and then my subnet
[21:32] <bdx> http://paste.ubuntu.com/21814798/
[21:34] <bdx> ok, everything looks great so far .... then I go and launch an instance and it all falls apart -> http://paste.ubuntu.com/21815678/
[21:34] <bdx> any ideas?
[21:46] <bdx> sent to the list
[22:47] <mup> Bug #1608723 opened: "juju test" command needs updating for juju 2.0 <juju-core:New> <https://launchpad.net/bugs/1608723>
[22:57] <menn0> thumper: o/ http://reviews.vapour.ws/r/5346/
[22:57] <menn0> this makes that flaky MachineSuite test fail reliably as well as cleaning up a bunch of other stuff
[22:58]  * thumper looks
[23:01] <thumper> shipit
[23:13] <rick_h_> bdx: can you confirm the rest of the story there? Did the bootstrap instance start on the right vpc you asked it to?
[23:13] <rick_h_> bdx: from the list it seems like you asked it to do the right thing, but I'm curious if juju did all the right things with the vpc for the controller, machines for the units deployed, etc.
[23:43] <perrito666> thumper: point me to your review
[23:59] <perrito666> thumper: the liiiiiiink
[23:59] <thumper> http://reviews.vapour.ws/r/5345/