wallyworld | *so | 00:00 |
---|---|---|
menn0 | wallyworld: I look forward to cleaning that up. the code in the area pissed me off last time I made changes there. | 00:00 |
menn0 | :) | 00:00 |
wallyworld | lol | 00:01 |
wallyworld | good to clean up shit which pissed you off | 00:01 |
perrito666 | Eschatological refactoring, interesting | 00:01 |
wallyworld | menn0: the thing to bear in mind is that we filled a 32GB root partition with repeated charm deploy/model removal for a few users on a few models | 00:02 |
wallyworld | so if we see a pathway to fix that then good | 00:02 |
wallyworld | this is a step in the right direction | 00:02 |
wallyworld | "Eschatological" is a fancy word | 00:02 |
menn0 | wallyworld: well with will's improvements and the removal of the cache we should be good then | 00:02 |
wallyworld | menn0: i'll believe it when i see it - this is a very large whack a mole i fear | 00:03 |
perrito666 | It's not so weird in Spanish | 00:03 |
wallyworld | i don't even know what it means, will need to look it up | 00:03 |
perrito666 | Wallyworld https://en.m.wikipedia.org/wiki/Scatology | 00:05 |
perrito666 | Apparently in english they use different words in Spanish is the same word for all meanings | 00:05 |
wallyworld | oh i know what that word means | 00:05 |
wallyworld | didn't recognise the one starting with "e" | 00:06 |
perrito666 | So yes we share a word for shit and religion aren't we cool | 00:06 |
wallyworld | same thing :-) | 00:06 |
menn0 | wallyworld: i'll do some checks on disk usage with some large bundles after all the changes are in and see | 00:07 |
wallyworld | sgtm, ty | 00:07 |
anastasiamac | perrito666: apparently a fetish for some ppl according to that reference | 00:08 |
alexisb | thumper, wallyworld you guys around | 00:29 |
thumper | I am | 00:29 |
wallyworld | depends who's asking :-) | 00:29 |
alexisb | can you join a quick HO? | 00:29 |
alexisb | :) | 00:29 |
wallyworld | suppose so | 00:29 |
alexisb | meet you in a-team | 00:30 |
thumper | ack | 00:30 |
mup | Bug #1623275 opened: neutron-gateway juju-agent lost forever <juju-core:New> <https://launchpad.net/bugs/1623275> | 00:38 |
menn0 | axw: review done | 00:47 |
menn0 | phew | 00:47 |
anastasiamac | menn0: so just to make sure u r having fun, here is the simple scream one as promised - http://reviews.vapour.ws/r/5674/ | 00:56 |
anastasiamac | axw: wallyworld: if u r feeling exceptionally generous ^^ | 00:57 |
redir | bbiab | 00:57 |
wallyworld | i'll take a peek in a bit | 00:57 |
anastasiamac | menn0: i tried to have logically grouped commits for the ease of perusing :) | 00:57 |
anastasiamac | menn0: and another 1-liner :) http://reviews.vapour.ws/r/5675/ | 01:08 |
axw | menn0: TYVM | 01:10 |
=== mup_ is now known as mup | ||
menn0 | anastasiamac: i've got a few jobs to do but I'll get to those soon | 01:20 |
menn0 | wallyworld: ship it | 01:27 |
wallyworld | awesome, ty | 01:27 |
anastasiamac | menn0: sure thing! tyvm ;) | 01:34 |
thumper | wallyworld, menn0: big but boring http://reviews.vapour.ws/r/5676/ | 01:45 |
wallyworld | thumper: like you :-) | 01:46 |
thumper | oh you so funny | 01:46 |
axw | thumper menn0: re http://reviews.vapour.ws/r/5676/, why no access levels in core/description? do we not migrate access? | 01:48 |
thumper | axw: we do, but as string values | 01:49 |
thumper | not special Access type | 01:49 |
thumper | core description is all about being able to describe the model for export | 01:49 |
thumper | not a generic "stick it here" type package | 01:49 |
thumper | specific small packages for specific things is good | 01:50 |
axw | thumper: but access *is* part of the description of a model? | 01:50 |
thumper | it is an attribute of users, sure | 01:50 |
thumper | that is still there | 01:50 |
thumper | but the type for Access should live elsewhere | 01:50 |
axw | thumper: I don't see why. If you have access there in core/description, but as a string, you're just making it stringly typed. It would be nice to retain some type safety in the core description - this will matter if we start using core/description for more than just exporting | 01:54 |
wallyworld | axw: i'll make that api change for cloud tags, ok? | 01:55 |
axw | wallyworld: yes, thank you | 01:55 |
* wallyworld gets food first | 01:56 | |
axw | wallyworld: probably need to let mhilton know | 01:56 |
wallyworld | axw: yeah, jeff is all set to make his upstream changes sod tomorrow | 01:56 |
axw | cool | 01:56 |
thumper | axw: core/description needs to be able to handle old and new format values, if we tie types in there, we could limit our ability to do this easily | 01:57 |
thumper | I just don't think it is the right place for that | 01:57 |
thumper | yes we need some business object tier | 01:57 |
thumper | but I've become increasingly sure that core/description isn't it | 01:57 |
axw | thumper: fair enough then. perhaps "core description" is not the best name for it then - that implies to me that it's *the* canonical representation | 01:58 |
thumper | I actaully want to move core description out of juju/juju | 01:58 |
thumper | ugh... | 02:01 |
thumper | I now have two branches that I know will conflict | 02:01 |
* thumper waits for the first to land | 02:01 | |
natefinch | menn0: pong | 02:04 |
natefinch | menn0, wallyworld: saw your comments on the review | 02:05 |
natefinch | menn0, wallyworld: the main reason to keep track of how the value was constructed is so that error messages make sense. otherwise you get something like this: | 02:05 |
natefinch | juju deploy --constraints=cpu-cores=3 --constraints=cpu-cores=4 | 02:06 |
natefinch | ERROR: bad 'cores' constraint: already set | 02:06 |
wallyworld | isn't that a corner case though? | 02:07 |
natefinch | there's a lot of ways validation can fail | 02:07 |
natefinch | and they all specify the value that failed, which won't be in the list of things you set | 02:08 |
natefinch | I agree, it's a lot of complication. I almost didn't do it. | 02:08 |
wallyworld | hmm, i see your point. i wonder what others think | 02:08 |
menn0 | sorry otp, almost done | 02:10 |
natefinch | My other option was to print out a deprecation warning at the beginning, but that gets clunky fast, if we do any more of these aliases. | 02:11 |
natefinch | Warning: the "cpu-cores" constraint is deprecated in favor of "cores"... etc | 02:12 |
wallyworld | natefinch: that's the approach we have taken for config attributes and is one i like | 02:13 |
wallyworld | lets the code stay simple, the majority of cases works nicely without cruft, but does alert the user to change what they type | 02:14 |
wallyworld | and it's not like there will be 100s of deprecations | 02:14 |
menn0 | wallyworld, natefinch: i'd prefer the deprecation warning too | 02:15 |
natefinch | ok... undo undo undo :) Simpler is better, I agree. | 02:16 |
menn0 | natefinch: sorry :) | 02:16 |
natefinch | menn0: nah, it's the right call. I was doing that, but then I was halfway to just having the right error message anyway, so I kept going. Except of course, I wasn't really half way, I was like 10% of the way, I just didn't realize it yet :) | 02:17 |
axw | wallyworld: I don't suppose you'll have any bandwidth for a second review on my branch today? | 02:18 |
wallyworld | axw: just for you | 02:19 |
axw | wallyworld: thanks. no rush, any time later on | 02:19 |
axw | going to look at credentials now | 02:19 |
wallyworld | axw: ok, will do it real soon | 02:19 |
natefinch | menn0, wallyworld: one question - I noticed HardwareCharacteristics has cpu-cores.... it wasn't specified in the bug, but I presume we want to make that match the constraint | 02:29 |
wallyworld | natefinch: i think so | 02:31 |
menn0 | natefinch: good catch. yes, that should probably match | 02:33 |
natefinch | wallyworld: btw the reason I wasn't going to change the field name on the struct is merely to keep the change smaller. The name of the field is still close enough to the name it is serialized as, that I don't think it's worth the churn. | 02:35 |
axw | wallyworld: re http://reviews.vapour.ws/r/5674/: I *think* what anastasiamac's doing is going in the right direction. ImageMetadata.Stream shouldn't really be there, because it's not actually part of the simplestreams format at that level | 02:35 |
wallyworld | i can go either way | 02:35 |
axw | wallyworld: moving it up to the "resolve info" feels more natural to me, because it's meta-metadata | 02:36 |
=== blahdeblah is now known as blahdeblah-lunch | ||
wallyworld | axw: ok, i need to look at it again | 02:36 |
wallyworld | axw: the issue is that resolve info is about a location/source of metadata. not necessarilty the stream from which is came | 02:37 |
wallyworld | but maybe in practice there's 1:1 | 02:37 |
axw | wallyworld anastasiamac: hrm, I think it's only 1:1 because of this: https://github.com/juju/juju/blob/master/environs/simplestreams/simplestreams.go#L640 | 02:40 |
axw | wallyworld anastasiamac: that looks to me like we're picking an arbitrary stream, when multiple are specified. is that right? | 02:41 |
anastasiamac | axw: well, source and stream are 1:1 | 02:41 |
axw | so things will only work properly if you do a lookup with one stream. which I think we always do anyway | 02:41 |
anastasiamac | axw: what we are picking here is only location out of potentially many matches | 02:41 |
wallyworld | axw: right, from memory, the assumption was that index files would only contain one product stream. and we currently rely on that. but it's not guaranteed | 02:42 |
anastasiamac | relationship between source and stream is still 1:1 if you look at products files... stream is defined on content id which there is only one of per file | 02:42 |
wallyworld | locations are not 1:1 with stream | 02:42 |
wallyworld | in the model | 02:42 |
wallyworld | and yet now we would be hard coding that faulty assumption | 02:42 |
anastasiamac | maybe not in the model but m looking at the actual files we have in simple streams... streams are on content id and there is only one content id | 02:42 |
wallyworld | that's the way they have chosen to make the files currently, but it can be different | 02:43 |
wallyworld | and if it changes we will break | 02:43 |
anastasiamac | wallyworld: pla point me to a file which has n=more than one content-id | 02:43 |
anastasiamac | please* | 02:43 |
axw | ah right, because we have a different URL for daily | 02:43 |
wallyworld | i'd have to go digging to find one | 02:43 |
wallyworld | we used to have them | 02:43 |
wallyworld | we may have moved on to differentiating using url | 02:44 |
wallyworld | i just fear that we are making assumptions based on an implementation artifact, not the true streams model | 02:44 |
axw | wallyworld anastasiamac: the other option would be to have GetMetadata return a map, keyed on stream | 02:44 |
anastasiamac | m looking at code and data. how is it hard-coding worng assumption?! | 02:45 |
wallyworld | data does things one possible way, not the only way | 02:45 |
axw | anastasiamac: the point is that index.json *could* have multiple product IDs | 02:45 |
axw | anastasiamac: it works now because they only have one. but that can change | 02:45 |
wallyworld | may not change, but if it does we will break | 02:46 |
anastasiamac | axw: sure. but m getting stream from a content id of selected product | 02:48 |
wallyworld | here's one http://streams.canonical.com/juju/tools/streams/v1/index2.json | 02:48 |
anastasiamac | wallyworld: that's index file. m talking about product files | 02:49 |
anastasiamac | content id of product | 02:49 |
axw | the content ID is in the index as well. that's where we start | 02:49 |
anastasiamac | that content id is notnecessarily the one we match on, we also look in products files | 02:50 |
anastasiamac | this is why in simplestreams.go, l987 in my PR, function getLatestMetadataWithFormat deals with content id of the selected block | 02:51 |
wallyworld | i can't find one at the moment | 02:51 |
anastasiamac | happy to ho if it's easier for u | 02:51 |
anastasiamac | wallyworld: i don't hink there is one | 02:51 |
axw | anastasiamac: IndexReference.GetProductsPath does filter on product IDs in the index | 02:52 |
wallyworld | there may not be currently | 02:52 |
anastasiamac | u can have more than on product block (and content id) on index file but nor in product file | 02:52 |
axw | anastasiamac: and that's where we're doing the "Pick arbitrary match" | 02:52 |
axw | wallyworld anastasiamac: the current code would be broken with multiple products in an index too, except if we specify a stream in the constraints | 02:52 |
anastasiamac | yes, that will get u a block of products, the method that i refered to, has htis under one metadaat and I work with content id in this metadata | 02:53 |
wallyworld | that is true | 02:53 |
wallyworld | i think we always pass in a stream | 02:53 |
wallyworld | an issue for me is the mixing of concerns | 02:53 |
wallyworld | resolve info and stream | 02:53 |
axw | anastasiamac: you only have one metadata *because* of that "Pick arbitrary match" | 02:54 |
natefinch | wallyworld, menn0: oh, weird... https://github.com/juju/juju/blob/master/instance/instance.go#L63 yaml and json names differ | 02:54 |
anastasiamac | currently stream is not at the right level, stream is a product concern (product can have many items) | 02:54 |
anastasiamac | we do not have abstraction for products only resolve info and items | 02:54 |
wallyworld | the stream on item is a denormalisation from memory | 02:54 |
anastasiamac | it never worked because stream was never pulled from product | 02:55 |
axw | anastasiamac: IMO, the best thing to do would be to have GetMetadata return a map of stream->[]metadata | 02:55 |
wallyworld | natefinch: you found the deliberate typo we left in there :-) | 02:55 |
menn0 | natefinch: ick... I think using dashes is better | 02:55 |
axw | and remove environs/imagemetadata.ImageMetadata.Stream | 02:55 |
menn0 | natefinch: but do we want to break people scripts? | 02:55 |
menn0 | people's | 02:55 |
anastasiamac | axw: that'd b bigger change. | 02:56 |
wallyworld | it would be but it corrects the code | 02:56 |
anastasiamac | i'll abandon my approach, re-target the bug to 2.1 and someone more keen on getting simplestreams sorted can fix it the *right* way | 02:56 |
wallyworld | why not just fix it for rc1? | 02:56 |
wallyworld | we have 2 days | 02:56 |
wallyworld | well, 1.5 :-) | 02:57 |
anastasiamac | sure, ian. fix it | 02:57 |
wallyworld | i have a long todo list today sadly | 02:57 |
natefinch | menn0, wallyworld: actually ... I don't think we use that for output: hardware: arch=amd64 cpu-cores=2 cpu-power=550 mem=1800M root-disk=10240M availability-zone=us-east1-b | 02:58 |
natefinch | menn0, wallyworld: there's a String() method that does the single line output | 02:58 |
wallyworld | that sounds right | 02:58 |
natefinch | so we may be saved from ourselves | 02:58 |
menn0 | natefinch: I wonder why those tags are there... if they're not used then they should go | 02:58 |
natefinch | menn0: the package's tests still pass if I comment them out... I'll do a biggest test run later | 03:01 |
menn0 | natefinch: ok | 03:03 |
menn0 | natefinch: maybe they were used once but aren't any more | 03:03 |
natefinch | menn0: could be | 03:04 |
=== blahdeblah-lunch is now known as blahdeblah | ||
natefinch | damn frameworks | 04:14 |
natefinch | Just realized, when there's an error parsing flags, the error is printed out and we never get to the Run function, so I can't print stuff out there to give context to the error from the flag. | 04:16 |
* natefinch is gonna have to do something heinous | 04:24 | |
redir | wallyworld: so in `juju model-defaults aws/us-east-1 --reset ftp-proxy` would it always be aws/us-east-1 or might it also be just the region `juju model-defaults us-east-1 --reset ftp-proxy`? | 04:46 |
wallyworld | axw: srtrictly speaking, the client.ModelInfo() and client.ModelUserInfo() calls should not be returning params structs. But nothing in juju calls then so I'm not sure if it's worth changing? http://reviews.vapour.ws/r/5677/ | 04:46 |
wallyworld | redir: we need to cater for just the region | 04:46 |
wallyworld | hence the need to use the cloud api | 04:47 |
wallyworld | to get the valid regions etc | 04:47 |
redir | wallyworld: the spec shows the cloud and region | 04:47 |
wallyworld | redir: it may do, but not exlicitly also showing just the region is an oversight | 04:48 |
wallyworld | unless i am mistaken | 04:49 |
wallyworld | for the single controller case it is not needed | 04:49 |
wallyworld | and there will always be a current controller | 04:49 |
wallyworld | so there's always a current default cloud | 04:49 |
wallyworld | we don't want to make the user type stuff unnecessarily | 04:49 |
redir | right | 04:49 |
mup | Bug #1623324 opened: Support for subnets in MAAS created after juju is boostraped <4010> <juju-core:New> <https://launchpad.net/bugs/1623324> | 04:50 |
axw | wallyworld: if there's no caller, should we just delete the client side code? | 04:53 |
wallyworld | axw: hmm, yeah good point | 04:55 |
wallyworld | i'll double check | 04:55 |
wallyworld | axw: yeah, i can't see anywhere | 04:57 |
wallyworld | thumper: you still going to delete list-shares and tweak the list-users command? | 05:01 |
thumper | wallyworld: I'll do it in one go | 05:09 |
thumper | yes, I'll do that one | 05:09 |
wallyworld | thumper: no problem. i was asking because there is an api on the api/client facade which can be deleted one yourwork is done, the ModeluserInfo() one | 05:10 |
wallyworld | i am removing the ModelInfo() one | 05:10 |
thumper | no, because we'll probably still use it | 05:10 |
wallyworld | ok, maybe it can be moved | 05:10 |
wallyworld | i have a goal to one day remove the client facade entirely :-) | 05:11 |
thumper | axw: are you looking at fixing the provisioner so it doesn't do everything one at a time? | 05:14 |
thumper | I think we should seriously look into that as a solution | 05:15 |
thumper | I'm looking at another bug (bug 1611111) which it would help fix | 05:15 |
mup | Bug #1611111: Model still exists for a while after running destroy-model <oil> <oil-2.0> <juju:Triaged> <https://launchpad.net/bugs/1611111> | 05:15 |
axw | thumper: not atm | 05:48 |
axw | looking at azure creds changes now | 05:48 |
axw | wallyworld: that "azure bootstrap experience" card is for creds, I'm moving back to in progress | 05:49 |
axw | "speed up azure provider" is for current work | 05:49 |
wallyworld | ah sorry, misread | 05:54 |
mup | Bug #1623324 changed: Support for subnets in MAAS created after juju is boostraped <4010> <juju:Triaged> <https://launchpad.net/bugs/1623324> | 06:26 |
=== frankban|afk is now known as frankban | ||
axw | wallyworld: do you have an azure account? | 07:31 |
wallyworld | axw: i do, it was a trial, i think it has expired but i can look to reactivate | 07:32 |
axw | wallyworld: no worries, can probably just use the CI account | 07:32 |
wallyworld | good point | 07:32 |
axw | wallyworld: I've got a toy app that authenticates interactively and then creates a service principal | 07:32 |
axw | just need to make sure it works when I'm using a different AD tenant | 07:33 |
wallyworld | axw: oh nice ok | 07:33 |
wallyworld | we can try with CI creds I guess | 07:33 |
axw | wallyworld: ah hm, there are no CI creds published for azure (apart from service principal) | 07:35 |
wallyworld | oh | 07:36 |
frobware | axw: ping; based on your experience of azure is there anything we can or should be doing regarding DNS? | 07:40 |
axw | frobware: I don't recall what the requirements are from charmers around DNS, so hard to say | 07:42 |
axw | frobware: can you fill me in? | 07:42 |
frobware | axw: i think my observations are more general though. I'm surprised that, given the machine's name, you cannot DNS resolve it. | 07:42 |
frobware | axw: for example, on AWS I get `ip-A-B-C-D'. The resolver in /etc/resolv.conf can happily resolve the name. | 07:43 |
axw | frobware: well, you can resolve using nslookup. it's just that dig doesn't seem to use the search from resolv.conf by default | 07:43 |
frobware | axw: I just don't see that on the images launched on axure | 07:43 |
frobware | axw: ah, ok... let me take another look. | 07:44 |
axw | frobware: try "dig machine-0 +search" | 07:44 |
frobware | axw: I wonder if the safest thing for us to do is rely on the results of getent(1). | 07:45 |
frobware | axw: the domain name you get on Azure aspires to hungarian notation. :p | 07:45 |
axw | frobware: well, they did invent it :) sorry, I'm not familiar with getent | 07:46 |
frobware | axw: getent allows you to make queries against database entries in /etc/nsswitch.conf | 07:46 |
frobware | axw: so passwd, or hosts, or dns, or ... | 07:46 |
frobware | axw: e.g., getent passwd $USER | 07:47 |
axw | menn0: I'll be a couple mins late | 08:01 |
menn0 | axw: no probs | 08:01 |
wallyworld | babbageclunk: hey, this has been raised in priority, can you take a look and see if anything jumps out? the error message sucks and we need to use errors.NotSupportedf() properly, but I wonder why it doesn't detect MAAS 2.0 properly? | 09:37 |
wallyworld | bug 1623184 | 09:37 |
mup | Bug #1623184: ERROR MAAS version 1.9 or more recent is required not supported <juju:Triaged> <https://launchpad.net/bugs/1623184> | 09:37 |
babbageclunk | wallyworld: Sure, I'm looking now | 09:38 |
wallyworld | ty, you may see it and know straight away maybe :-) | 09:38 |
wallyworld | i attempted to leave a comment that made sense after looking at the code | 09:39 |
babbageclunk | wallyworld: I think it's a bad endpoint url | 10:35 |
wallyworld | babbageclunk: makes sense. we should probably deal with that a bit better, print a more useful message | 10:36 |
babbageclunk | wallyworld: Yeah, that's what I was thinking. | 10:36 |
babbageclunk | wallyworld: bit tricky to distinguish between getting getting 404s because the URL's wrong or because none of the versions we support are supported, though. Thinking. | 10:38 |
wallyworld | babbageclunk: yeah, i was having the same thought | 10:38 |
wallyworld | there must be some validity check on the base part of the url or something | 10:38 |
wallyworld | some http get that we can do to check | 10:39 |
wallyworld | that works for both 1.9 and later | 10:39 |
wallyworld | and if that fails, then bad url | 10:39 |
babbageclunk | wallyworld: ok, I'll try to find something like that. | 10:39 |
wallyworld | as well as static checks on the url itself | 10:39 |
wallyworld | just a thought, you may come up with something better | 10:40 |
babbageclunk | wallyworld: I'm reluctant to look inside the url | 10:40 |
voidspace | wallyworld: babbageclunk: there isn't a single endpoint we can check for both versions | 10:40 |
wallyworld | bollocks, i guess we'll need to try both | 10:41 |
voidspace | wallyworld: babbageclunk: the official maas response when we requested that was we needed to check the 2.0 endpoint and if it wasn't there we were on 1.9 | 10:41 |
voidspace | wallyworld: babbageclunk: if we get an invalid response from both endpoints we should know we're incorrectly configured | 10:41 |
wallyworld | right, but in this case, we got a false 1.9 error | 10:41 |
voidspace | wallyworld: babbageclunk: and provide a better error message | 10:41 |
wallyworld | correct | 10:41 |
voidspace | instead of the current misleading one | 10:41 |
wallyworld | yes | 10:41 |
voidspace | cool | 10:42 |
voidspace | a single endpoint telling us the version would be much better though :-/ | 10:42 |
wallyworld | yeah :-( | 10:42 |
babbageclunk | voidspace, wallyworld: ok, so that's really just changing the error message in getCapabilities to say that the endpoint's wrong. | 10:45 |
voidspace | babbageclunk: sounds like it | 10:45 |
babbageclunk | sweet | 10:45 |
wallyworld | babbageclunk: and also fixing the bad use of NotSupportedf | 10:45 |
wallyworld | for the 1.9 case | 10:45 |
babbageclunk | wallyworld: yeah, already done that :) | 10:45 |
wallyworld | \o/ | 10:45 |
babbageclunk | Someone give the github -> reviewboard bot a kick? | 11:50 |
babbageclunk | wallyworld, voidspace: review plz? http://reviews.vapour.ws/r/5680/ | 11:54 |
wallyworld | sure | 11:56 |
wallyworld | babbageclunk: +1 with a suggestion | 12:01 |
voidspace | babbageclunk: :LGTM | 12:03 |
voidspace | babbageclunk: I'm agnostic on wallyworld's suggestion. There are times when it could be helpful, but there's no requirement that the MAAS api needs to be exposed at an endpoint ending with /MAAS | 12:03 |
wallyworld | ok | 12:04 |
voidspace | babbageclunk: wallyworld: so there are times when it won't be helpful (probably not hurtful though - so +0 I guess) | 12:04 |
wallyworld | ignore me then :-) | 12:04 |
voidspace | hah | 12:04 |
axw | wtf happened to master? there's some code referring to status.StatusBlocked, which doesn't exist any more | 12:36 |
=== carlosm_ is now known as udac | ||
axw | frobware: would whatever you're trying to do with DNS on azure be avoided by just encoding the IP in the hostname, like on ec2? ip-n-n-n-n | 12:39 |
axw | frobware: i.e. so you can map between them without having to use DNS at all | 12:39 |
frobware | axw: the reverse is still the problem. the big data charms (hadoop et al) want forward and reverse lookup. They are currently fudging their way around things. | 12:50 |
frobware | axw: http://sujee.net/2012/03/08/getting-dns-right-for-hadoop-hbase-clusters/#.V9lHpGQrLDE | 12:50 |
frobware | axw: we can do ip-A-B-C-D, the trouble is nothing has an answer for who-is A.B.C.D. | 12:51 |
axw | frobware: I thought that was what the NSS plugin was for? | 12:52 |
frobware | axw: I'm sure babbageclunk made a change around status | 12:52 |
axw | frobware: yeah he did, somehow api/deployer is still referring to StatusBlocked. *shrug* | 12:52 |
frobware | axw: right. the plugin will parse names of the format `juju-ip-A-B-C-D'. You get back A.B.C.D. Hadoop says, wtf is A.B.C.D and there is no answer. | 12:52 |
frobware | axw: the plugin cannot be authoritative for arbitrary IP addresses, largely because of the order in /etc/nsswitch.conf. | 12:53 |
axw | frobware: ah, ok | 12:53 |
axw | I thought it always went through that | 12:53 |
frobware | axw: the plugin get 'A.B.C.D' and I have no idea whether that was oringally an juju-ip- form, or something like archive.ubuntu.com... | 12:54 |
frobware | axw: the plugin (desperately) wants to avoid state | 12:54 |
axw | righto, makes sense | 12:54 |
frobware | axw: it does go through the plugin. Well, kind-of. I haven't implemented getaddrinfo for ^ reasons. | 12:55 |
* axw nods | 12:56 | |
babbageclunk | axw - maybe someone landed something that was in flight when my rename branch merged? | 13:00 |
axw | babbageclunk: the other change came from wallyworld, but it was landed by the bot. bot should stop that from happening. weird :/ | 13:02 |
axw | I'll investigate more tomorrow | 13:02 |
wallyworld | oops, what have i done | 13:02 |
wallyworld | oh, bloody merge conflict :-( | 13:03 |
wallyworld | how did that get through | 13:03 |
axw | wallyworld: not your fault. bot weirdness | 13:06 |
wallyworld | am fixing now. | 13:06 |
wallyworld | there was a merge conflict | 13:06 |
wallyworld | but i must have missed a couple | 13:06 |
babbageclunk | I think it must have been queued while mine was building, then mine passed, yours started, then mine was merged. | 13:06 |
babbageclunk | Then yours passed and was merged - it didn't conflict at the textual level. | 13:07 |
babbageclunk | Maybe? | 13:07 |
babbageclunk | Still pretty weird | 13:08 |
wallyworld | yeah, we were making conflicting changes and it all sort of just landed together | 13:09 |
wallyworld | babbageclunk: here is the fix, trivial http://reviews.vapour.ws/r/5681/ | 13:11 |
babbageclunk | LGTM! | 13:11 |
wallyworld | ta! | 13:13 |
babbageclunk | wallyworld: sorry, I was grabbing lunch when you and voidspace were discussing the URL - you're alright with me leaving the message the way it is? | 13:15 |
wallyworld | yeah | 13:15 |
wallyworld | i dropped it | 13:15 |
babbageclunk | cool thanks! | 13:15 |
wallyworld | was just a thought | 13:15 |
wallyworld | to try and guide the user to the solution | 13:15 |
wallyworld | if it's an obvious fix | 13:15 |
babbageclunk | wallyworld: You made me feel bad for the users. What do you think of this message? "Couldn't get MAAS version - check the endpoint is correct (it normally ends with /MAAS)" | 13:28 |
babbageclunk | wallyworld: suggestions to crispen it up welcomed! | 13:29 |
babbageclunk | trying to hedge a bit with "normally", but it seems a bit wishy-washy. | 13:30 |
voidspace | rick_h_: just grabbing coffee, be a few mins late to 1:1 (if you're around) | 13:30 |
wallyworld | babbageclunk: lol. maybe even "could not connect to MAAS controller...." | 13:33 |
wallyworld | the user doesn't need to be told exacrly what it is trying to do | 13:33 |
babbageclunk | Yeah, true | 13:33 |
wallyworld | just what it is trying to connect to | 13:33 |
babbageclunk | And we prefer "Could not" to "couldn't" ? | 13:34 |
wallyworld | i prefer not using a contraction but ymmv | 13:34 |
wallyworld | also | 13:34 |
wallyworld | if you are going to say normally ends with /MAAS, you'd want to check that it didn;t first | 13:35 |
babbageclunk | Yes, I'm doing that (in some code you can't see) | 13:35 |
wallyworld | and you'd also attempt to parse the url to tell them it was malformed if that's what the issue is | 13:35 |
babbageclunk | I think that'll happen already (checking now). | 13:36 |
babbageclunk | ERROR Get httpoo://192.168.150.2/api/1.0/version/: unsupported protocol scheme "httpoo" | 13:37 |
wallyworld | ok | 13:37 |
babbageclunk | I think we're at numberwang | 13:38 |
voidspace | rick_h_: sorry about that, managed to accidentally shutdown my system | 13:41 |
voidspace | rick_h_: I'm around if you are | 13:41 |
frobware | babbageclunk: "cannot determine MAAS version ..." | 13:46 |
=== benji__ is now known as benji | ||
rick_h_ | voidspace: sorry, I cancelled because I'm still on west coast | 13:56 |
rick_h_ | voidspace: coming up on 7am here | 13:56 |
voidspace | rick_h_: I thought that was likely to be the case - I didn't get a cancellation though, was still on my calendar | 13:56 |
voidspace | rick_h_: ah well :-) | 13:56 |
voidspace | rick_h_: morning o/ | 13:56 |
babbageclunk | frobware: I like wallyworld's reasoning that the user probably doesn't need to know exactly what we're trying to do when we couldn't connect to the controller. | 13:57 |
frobware | babbageclunk: so "determine" was less specific. <shrug> | 13:58 |
babbageclunk | Oh, I think determine's better than get, but not as good as "couldn't connect to MAAS controller". | 13:59 |
rick_h_ | natefinch: ping for standup | 14:01 |
babbageclunk | can someone explain the relationship between cloudconfig and cloudconfig/cloudinit? I'm working on bug 1475260 and have a fix that works, but I'm not sure where it should go. | 15:08 |
mup | Bug #1475260: instances cannot resolve their own hostname <juju:In Progress by 2-xtian> <juju-core (Ubuntu):Confirmed> <https://launchpad.net/bugs/1475260> | 15:08 |
frobware | babbageclunk: ping; hostnames and ^ bug: are you testing on maas? | 15:12 |
babbageclunk | frobware: no, on lxd - I think the userdata for maas is generated in some completely different way? And it seems like the maas dns ensures that the hostnames are resolvable, right? | 15:13 |
frobware | babbageclunk: right - I was just running some tests... not sure we want managed_etc_hosts | 15:19 |
babbageclunk | frobware: On maas? | 15:19 |
frobware | babbageclunk: possibly anywhere... give me a few mins | 15:19 |
babbageclunk | ok | 15:19 |
frobware | babbageclunk: btw, cloud-init for containers is in juju/cloudconfig/containerinit | 15:20 |
babbageclunk | frobware: Is that for LXDs inside maas/aws/other provider hosts? | 15:21 |
babbageclunk | frobware: as distinct from the lxd provider? | 15:21 |
frobware | babbageclunk: that's for LXD's inside a cloud/maas host | 15:22 |
frobware | babbageclunk: make sense? | 15:22 |
babbageclunk | frobware: yup, I think so. Although I'm not sure what I should do in that case. | 15:22 |
frobware | babbageclunk: so my concerns is that you end up with: "127.0.1.1 vmtest.home vmtest" in /etc/hosts | 15:35 |
frobware | babbageclunk: and that we start handing out 127.0.1.1 | 15:35 |
natefinch | alexisb: hey, just FYI - whatever bug had been causing my computer to take forever to get make the login screen work is evidently magically fixed (or I happened to twiddle the right config to avoid it sometime in the last few months) | 15:36 |
babbageclunk | frobware: ok | 15:36 |
babbageclunk | frobware: So what's the right solution? | 15:38 |
frobware | babbageclunk: so maybe a combo of the NSS Juju plugin and a fix to https://bugs.launchpad.net/juju/+bug/1623480 | 15:39 |
mup | Bug #1623480: Cannot resolve own hostname in LXD container <lxd> <network> <juju:New> <https://launchpad.net/bugs/1623480> | 15:39 |
frobware | babbageclunk: I think we can certainly try that but we should try it with some charms | 15:40 |
frobware | babbageclunk: given the original bug I was trying to understand whether instance is the host (hosting the container), or just containers, or possibly both. | 15:42 |
frobware | babbageclunk: if you don't see the issue in MAAS (2.0) then that's because we have working DNS \o/ | 15:43 |
frobware | babbageclunk: as long as "things" handle localhost then manage_etc_hosts: "true" should be fine. but there's work to confirm that. | 15:44 |
babbageclunk | frobware: I'm not sure what you mean by "things" handle localhost. | 15:45 |
frobware | babbageclunk: s/w -- all the s/w. :) | 15:45 |
babbageclunk | lolz | 15:45 |
frobware | babbageclunk: what does hadoop do when you tell it, "hey, here's my hostname/address... 127.0.1.1" .... | 15:46 |
frobware | babbageclunk: well, that will obviously be perfectly fine on a single machine. | 15:46 |
babbageclunk | But I guess there's a risk that various units will report their address to others as that? | 15:47 |
frobware | babbageclunk: exactly. if you say contact me on 127.0.1.1 then... well... we'd better be living in the same shoe box. | 15:49 |
perrito666 | morning all | 15:52 |
natefinch | wow, neat.... the visual studio code find/replace window shows you a preview of all the changes that'll be made if you make that find and replace | 15:52 |
babbageclunk | frobware: Would you mind commenting to that effect on the bug? Would be good to get input from the bug reporter. | 15:56 |
frobware | babbageclunk: done | 16:01 |
babbageclunk | frobware: Thanks! | 16:01 |
natefinch | ahhhhhhhhhhh who makes a field for Memory (RAM) and doesn't tell you what the units are? :/ https://github.com/juju/juju/blob/master/instance/instance.go#L61 | 16:04 |
alexisb | perrito666, you around? | 16:05 |
perrito666 | alexisb: yes I am | 16:05 |
* perrito666 feels a bug comin his way | 16:05 | |
babbageclunk | Can someone review this revert? http://reviews.vapour.ws/r/5682/ | 16:58 |
babbageclunk | alexisb asked me to do it. | 16:58 |
alexisb | perrito666, can you help out babbageclunk pleas | 17:01 |
alexisb | e | 17:01 |
alexisb | I need to get testing going again for master | 17:01 |
perrito666 | alexisb: I am reviewing the patch | 17:01 |
perrito666 | babbageclunk: why would you revert https://github.com/juju/juju/commit/693ef8e2d2812df11d24edf35ee4853e7b4c20a2 ? | 17:02 |
perrito666 | babbageclunk: so it will be faster here. | 17:02 |
perrito666 | I would guess you are reverting a full merge so: | 17:03 |
perrito666 | 1) what is the full merge being reverted | 17:03 |
perrito666 | 2) why, if possible, with a link to a regression bug or at least jenkins failure? | 17:03 |
babbageclunk | perrito666: I didn't really look at the commits, just reverted all of the ones in the PR. | 17:03 |
babbageclunk | Ok, I'll add those to the description of the PR. | 17:03 |
babbageclunk | (Actually, alexisb, links to the regressions?) | 17:04 |
alexisb | babbageclunk, let me get you the bug | 17:04 |
alexisb | https://bugs.launchpad.net/juju/+bug/1623560 | 17:05 |
mup | Bug #1623560: Juju rc1 cannot deploy applications to openstack or centos <centos> <ci> <deploy> <openstack-provider> <regression> <juju:Triaged> <https://launchpad.net/bugs/1623560> | 17:05 |
alexisb | ^^^ this is teh regression we need to address | 17:05 |
babbageclunk | perrito666: Added | 17:09 |
perrito666 | babbageclunk: ship it | 17:10 |
babbageclunk | perrito666: sweet | 17:10 |
perrito666 | babbageclunk: plus add relevant information to the regression bug please | 17:10 |
perrito666 | and send an email to the author of the offending commit so they lear it from the source | 17:11 |
perrito666 | sorry for raining on your parade :p | 17:11 |
natefinch | BTW, the easiest way to revert a merge is to do it through the github UI. That way you're ensured that all you're doing is reverting the merge.... that falls down if there are conflicts, but if there aren't, it basically means there's no need for a real code review. | 17:12 |
babbageclunk | perrito666: Ok - alexisb said that she'd let them know, but you're right, better to be sure. | 17:13 |
babbageclunk | natefinch: Thanks, I'll try that next time. (There weren't any conflicts with this one so that would have worked.) | 17:13 |
perrito666 | annyone getting ERROR cannot fetch model settings ? | 17:19 |
babbageclunk | bye everyone! Have a lovely day! | 17:19 |
natefinch | perrito666: what's the exact error? | 17:20 |
perrito666 | natefinch: what I just pasted | 17:21 |
=== frankban is now known as frankban|afk | ||
natefinch | perrito666: oh, weird. Uh, run with --debug? | 17:21 |
perrito666 | natefinch: found it, changed a slice into an array and forgot to change append into array[i]=blah | 17:31 |
natefinch | ahh | 17:32 |
perrito666 | its interesting how many wrong error cases are being caught by the "upgrading" failsafe, that is going to gives us problems very soon | 17:34 |
natefinch | ug | 17:35 |
perrito666 | the agent lost before idle issue is very annoying | 17:47 |
natefinch | holy crap.... https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features | 19:05 |
natefinch | kanban on github.com itself. real reviews on PRs (bundled comments, approve/request changes etc) | 19:05 |
alexisb | natefinch, that would be awesome | 19:09 |
natefinch | alexisb: totally. If we used github issues it would be even better, but I'm sure we could make it work with boring old links to launchpad like we've been doing anyway. | 19:10 |
natefinch | alexisb: dropping our dependence on reviewboard would be nice. We'd have to take the PR reviews on github for a spin, but it seems like there's very little advantage to reviewboard at this point | 19:11 |
alexisb | yep | 19:12 |
natefinch | heh, github won't let me start a review of my own code. Boo. | 19:14 |
* perrito666 takes reviewboard to the back yard and shoots it | 20:14 | |
natefinch | haha | 20:15 |
perrito666 | alexisb: natefinchis the bot down? | 20:15 |
perrito666 | my merge request has not been answered | 20:15 |
natefinch | I saw some merges that hadn't been finished since last night | 20:16 |
natefinch | sinzui: ^^ | 20:16 |
natefinch | mgz: ^ | 20:16 |
alexisb | perrito666, I will ask I am on with the QA team now | 20:17 |
perrito666 | alexisb: wat does that mean, did you switch teams? | 20:19 |
alexisb | perrito666, mean I am on teh QA standup | 20:19 |
alexisb | they are looking into it | 20:19 |
perrito666 | you are efficient | 20:19 |
menn0 | alexisb: ping? | 21:02 |
alexisb | heya menn0 just got on with thumper | 21:02 |
menn0 | alexisb: ok | 21:03 |
menn0 | alexisb: I was joining our HO and saw you were in there and then you disappeared | 21:03 |
alexisb | menn0, sorry | 21:03 |
alexisb | ok menn0 I am free if you have time to chat | 21:15 |
* thumper tries to get some hacking done before next call | 22:05 | |
axw | looks like juju hit 500 stars today | 22:56 |
anastasiamac | axw: which stars? | 23:01 |
axw | anastasiamac: github | 23:03 |
* elmo points at the sky - you know, the stars! | 23:12 | |
alexisb | elmo, lol | 23:14 |
redir | stanup ? | 23:15 |
redir | stand even | 23:16 |
menn0 | axw: question about provider/azure/envrion.go line 901. I don't think os.Arch should be handled there. Do you agree? | 23:41 |
menn0 | axw: we don't support Arch Linux instances do we? | 23:41 |
alexisb | ok anastasiamac | 23:45 |
alexisb | I will meet you in our 1x1 HO | 23:45 |
anastasiamac | alexisb: k | 23:45 |
axw | wallyworld: I'm just running all the unit tests now, have already done a live test on this. would appreciate a review ASAP: https://github.com/juju/juju/pull/6247 | 23:59 |
wallyworld | sure | 23:59 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!