/srv/irclogs.ubuntu.com/2014/07/29/#juju-gui.txt

rick_h__huwshimi: morning00:26
hatchmorning huwshimi 00:27
rick_h__huwshimi: we went through notes from the sprint and instituted a 2 review policy for branches00:27
rick_h__huwshimi: in order to build a bit of mentorship 00:28
huwshimirick_h__, hatch: Hey00:28
huwshimirick_h__: Ah great!00:28
rick_h__huwshimi: also please make sure to add tags ot the cards to note who the reviewers are00:28
hatchhuwshimi saw this and thought of you https://www.facebook.com/1025thebull/photos/a.116850054996026.20819.116054921742206/753390941341931/?type=1&theater00:29
huwshimirick_h__: OK, what exactly do I add for the tags?00:30
hatchhuwshimi just your name00:30
hatcher the reviewersname00:30
huwshimiAh sure00:30
huwshimihatch: Also, bears00:31
hatchlol!00:31
rick_h__huwshimi: the irc nick usually00:31
huwshimiOK np00:32
=== uru_ is now known as urulama
* urulama changes location07:05
urulamamorning frankban08:05
frankbanmorning urulama 08:06
urulamafrankban: do you know if actions are actually supported in core or are they just part of charm.v2 for now?08:09
frankbanurulama: not sure08:14
* urulama just got yubikey delivered ... 2FA SSO works as a charm now :D09:07
fwereadeurulama, frankban: fwiw, actions support in core is ongoing -- a bunch of the model is in place, the charm tools and the CLI/API bits are still in progress09:53
frankbanfwereade: good to know, thanks09:53
fwereadeurulama, frankban: bodie_ and jcw4 in #juju-dev are the guys with the most up-to-date info because they're the ones doing it :)09:54
urulamafwereade: thanks. which schema are used? yaml or json or both even?09:54
fwereadeurulama, iirc it's using json-schema for validation, but it's represented in the charm as yaml -- but only things that can be represented as json and conform to the schema will be acceptd -- if that makes sense?09:55
urulamafwereade: it does, tnx09:56
urulamahi rogpeppe110:07
urulamarogpeppe1: just heading for lunch10:07
* urulama lunches10:07
rick_h__morning10:38
rogpeppe1rick_h__: hiya10:51
rogpeppe1mornin' all10:52
frankbanguihelp: I need two reviews + QA for https://github.com/juju/juju-gui/pull/462 anyone available? thanks11:42
bacmorning12:07
rick_h__morning bac12:07
rick_h__safe travels home?12:07
bacyes, safe. long but safe.12:07
* bac hides from huw12:08
rick_h__heh12:08
baci'm really looking forward to the direct flight to FRA!12:08
rick_h__bac: let's chat before the hangout to sync up. I wanted to catch you up on events from yesterday/today and then see what cleanup from the sprint you've got and such12:08
bac8 << 2012:08
rick_h__lol12:08
rick_h__bac: if you get bored and caught up before my call this morning ends (10:30 ish) a live env test of frankban's branch would be +++1 12:09
bacrick_h__: sure, just holler12:09
rick_h__https://github.com/juju/juju-gui/pull/46212:09
bacwill do, bored or not12:09
frankbanthanks bac 12:10
rick_h__frankban: and we'll poke at the US JS folks for the review side12:11
rick_h__maybe jcsackett and hatch or Makyo 12:11
frankbanrick_h__: +112:13
bacfrankban: the vmware display checkbox you showed me has changed my life, or at least my vision. ty!12:22
jrwren_urulama: the action commands aren't exposed at all in 1.20.1, so while some stuff might be there, its practically useless12:26
jrwren_good morning ya'll12:26
urulamajrwren_: and morning :)12:27
rick_h__morning12:28
rick_h__jujugui added cards for expenses. For the first time expenser people let me know if you've got questions. 12:42
rick_h__remember to file per diem, except for the team dinner night12:43
jcsackettrick_h__, frankban: i'm looking at the PR now.13:28
jcsackettjujugui: i need a second review on https://github.com/juju/juju-gui/pull/45913:29
hatchjcsackett on it13:30
jcsacketthatch: thanks.13:30
hatchrick_h__ expenses filed13:37
hatchcrap I forgot a day13:38
hatchlol13:38
hatchjcsackett done13:46
hatchkadams54 I added your nick to the tags for jc's card13:46
kadams54Ah yes, sorry13:47
hatchhmm github created a new PR UI13:50
kadams54hatch: yeah, seems like there's also some funkiness with avatars not showing up13:59
bacfrankban: i'm doing qa of your branch on ec2.  in mv if i select 'move unit' i get two drop downs.  one has '1' in it and the other 'kvm'.  if i click on the dropdown i get a blank popup rectangle that never renders.  is this due to your branch or another issue?  i'm using chrome on trusty.14:00
hatchthe tabs in the review now update the UI and change the addres bar but don't put history records in so the back button now FINALLY goes back to the pr list....yay!14:00
jcsackettfrankban: some comments (mostly questions) on your PR.14:01
jcsackettbac: are you also reviewing frankban's branch, or just doing the QA?14:01
bacjcsackett: i was asked to just qa14:01
bacon a live env14:01
jcsackettbac: dig.14:01
jcsackettin that case...14:01
bacfrankban: you can see it here: ec2-54-187-78-196.us-west-2.compute.amazonaws.com14:02
jcsacketthm, actually, probably should hold off on calling for a follow up review until i'm actually completely done.14:02
frankbanbac: not sure if that's my branch, never tried that path... I'll spin up an ec2 to check trunk14:03
hatchjcsackett lol, didn't agree with kadams54  and I? ;)14:32
backadams54: never heard, did your laptop survive the water mishap ok?14:40
kadams54Thus far14:40
kadams54Typing on it right now :-)14:41
hatchniiiiiice14:41
hatchI forgot about that actually14:41
hatchthat's good to hear14:41
hatchthems is pricey14:42
hatchfrankban I'm a little curious about the `prepare` method - while I think it's a good idea to have something along these lines - could this not have been accomplished by setting the series on any parent when adding the unit? I think that follows how we have typically done things like this in the past. 14:44
kadams54I was pretty worried that my laptop was going to explode somewhere over the Atlantic, setting luggage on fire. The plane would make an emergency landing, I'd be whisked away to a CIA secret prison somewhere to interrogate me on my devious plot, and the rest of you would never hear from me again.14:48
bacfrankban: will you ping me when your branch lands?  i want to check for that blank pop-up on comingsoon.14:48
frankbanhatch: that's another way to do that. I ended up with prepare so that we can avoid the clean up dances in the case the unit is unplaced. It seems to me more maintainable if we reduce the times/places where a record is mutated.14:48
jcsacketthatch: huh?14:48
frankbanbac: sure, now I am in the middle of a review, will look at my branch later14:49
hatchfrankban good idea, we should revisit the other places where using this prepare strategy will make it a little nicer as well14:49
hatchjcsackett oh you didn't make the change that kadams54 and I requested, just landed it without comment :P14:49
jcsacketthatch: i did make those changes. 14:50
jcsacketthatch: sorry, it seemed trivial so i made the change, rebased into clean commit, and landed.14:50
rick_h__jujugui call in 10, kanban please14:51
hatchjcsackett ohh odd, the diff didn't show it14:51
hatchmaybe GH is just being wonky14:51
jcsacketthatch: it's the line below your comment (the @return) if you look at the files changed.14:52
jcsacketthatch: oh hell, your other comment didn't show until just now.14:52
jcsackett...i *really* have issues with github comments showing up.14:52
hatchlol14:53
jcsacketthatch: and i don't agree, though.14:53
jcsackettthere's not identical paths.14:53
jcsackett_selectMachineToken and _selectContainerToken are entirely different fn's.14:53
hatchson of a14:53
hatchok you win this one eyes14:53
* jcsackett laughs14:53
jcsacketti'll spot you not seeing that if you spot me not seeing your comment. :p14:54
hatchhaha ok deal14:54
rick_h__jujugui call in 214:57
rogpeppe1frankban: your comment arrived *just* after i'd entered :shipit: ...14:58
rogpeppe1frankban: will fix in next branch14:59
rick_h__frankban: jcsackett bac jrwren_ call14:59
bacrick_h__: did you want to catch up as you mentioned earlier?15:17
rick_h__bac: definitely, I've got a marketing meeting in 7, after that?15:23
bacrick_h__: sure15:24
bacrick_h__: how long is that?15:24
rick_h__bac: 30min but usually pretty fast as we've got nothing to report atm15:24
bacok15:24
rick_h__bac: if you want to agree to meet post-lunc or something feel free15:24
rick_h__even put somtehing on the calendar, after this I'm free for the day15:24
rick_h__busy morning, open afternoon15:24
bac1pm would be better15:24
rick_h__k, sounds good15:25
baci'll create a calendare15:25
rick_h__ty much15:25
bacs/e//15:25
rogpeppe1rick_h__: still no movement on the PR, FYI15:25
rick_h__rogpeppe1: ok, after this next call I'll look.15:25
rogpeppe1rick_h__: ta15:25
rick_h__maybe jrwren_ or jcsackett or bac can help poke at it in the meantime15:25
rick_h__wtf, the last charmstore ci run was July 2?15:26
bacrick_h__, rogpeppe1 i'll look at jenkins15:26
rick_h__bac: ty15:26
rick_h__ah ok, the merge one though has run a day ago15:27
bacrick_h__: is there a hook on github that has to be enabled? i'm not an admin on juju/juju-gui nor juju/charmstore so i cannot investigate.15:34
bacrogpeppe1: can you make me an admin on github for juju/charmstore?15:34
rick_h__bac: looking, yea juju core turned everyone off but leads 15:37
rick_h__I was adding our team back in second15:37
bacrick_h__: but there is some hook that needs to be setup, right?15:37
rick_h__bac: right, a webhook or it can be configured to do polling via cron15:38
rick_h__but that's sub optimal15:38
bacrick_h__: i'd prefer the hook15:38
bacbut that's why its just sitting there15:38
rick_h__bac: ok, updated uiengineering perms15:38
rick_h__see if you can see now15:38
rogpeppe1bac: sure15:38
rogpeppe1bac: what's your github username?15:39
rick_h__rogpeppe1: he should have it now15:39
bacbac15:39
bacrogpeppe1: bac15:39
bacyes, i do15:40
bacrick_h__: is the same payload URL used for all projects on that jenkins instance?15:40
rick_h__bac: I think so, it's got a key in it to match the github project name to tell them apart15:41
rick_h__bac: but not 100% on that one15:41
bacok15:41
frankbanrogpeppe1: FWIW review done15:44
rogpeppe1frankban: thanks a lot15:44
frankbanmp15:44
rogpeppe1frankban: i'll introduce some more comments15:45
frankbanrogpeppe1: it would be great15:45
rogpeppe1urulama can't make up his mind whether to join or leave :-)15:47
urulamarogpeppe1: just joined ... did it sign me on and off all the time? 15:48
rogpeppe1urulama: you joined then left, then joined again15:48
rogpeppe1anyone know if it's possible to get github to email copies of my own comments as well as other peoples' ?15:50
rogpeppe1it's awkward having the email thread without being able to see exactly what people are responding to15:51
hatchrogpeppe1 not I have found15:52
rogpeppe1hatch: ok, ta15:52
hatchin the same vein however launchpad also desn't send those emails15:52
hatchor include links to the branch/pr in question lol15:52
rogpeppe1hatch: yeah, but codereview did15:52
hatchahh right15:52
hatchgh could do so much better than they are doing15:53
hatchit's sad really15:53
bacrogpeppe1: i see your pr 34 from yesterday was picked up and merged properly.15:57
rogpeppe1bac: yup, that worked fine15:58
bacrogpeppe1: i'm running the jenkins tester manually.  the one that should've been run when you submitted the PR.  when it finishes i'll run the merge one manually too.15:59
rogpeppe1bac: thanks16:00
bacrogpeppe1: on github should we change the default branch to v4?16:00
rogpeppe1bac: do you think the problem will have gone away now?16:00
bacrogpeppe1: no reason to suspect that for the merge job16:00
rogpeppe1bac: i'm not sure. it's still broken from the point of view of someone that actually wants a charm store16:01
bacrogpeppe1: i don't understand16:01
rogpeppe1bac: also we're going to rename the branch to v216:01
rogpeppe1bac: if someone types "go get github.com/juju/charmstore/cmd/charmd" it should currently work16:02
frankbanjcsackett: could you please ping me when my review is done?16:02
rogpeppe1bac: but if we change the default branch, i don't think it will16:02
bacrogpeppe1: ok16:02
bacrogpeppe1: are you going to push again with frankban's suggestions?  if so, why don't you delete your :shipit: comment, push, and then add :shipit: back16:04
rogpeppe1bac: i was going to add the comments at my leisure. i'd like to get it pushed before then.16:04
rogpeppe1bac: but if it would make life easier for you, i can easily do what you suggest16:11
bacrogpeppe1: if you did as i suggested i could watch to see if it triggered and if not, i would start a manual build.  but if your code is ready to land now i can trigger a manual build with that revision16:14
rogpeppe1bac: i've re-added the :shipit:16:17
rogpeppe1urulama: i'm considering changing things so that GET /$id/meta/$something just returns nil if $something is not relevant to $id (for example when trying to get bundle metadata from a charm)16:20
rogpeppe1urulama: that would make it more consistent with the any anypoint16:20
rogpeppe1urulama: but might be unpalatable to some16:21
rogpeppe1urulama, rick_h__, bac, frankban: what do you think?16:21
rick_h__rogpeppe1: hmm, I'd prefer to look if we can make the payload a common key and let the client decipher. Rather than bundle metadata, it's just metadata and you can get the same key from charm/bundle but with different contents clients can easily pick up on16:22
rick_h__rogpeppe1: but that's top of the head response16:23
rogpeppe1rick_h__: i'm not quite following you there16:23
bacrogpeppe1: i'd think the client would want to know an irrelevant request had been made as it would indicate it was in error.16:23
baca nil response would mask the error on the client side16:24
rick_h__rogpeppe1: sorry, was thinking more in a group response (search result, multiple ids, etc)16:24
rogpeppe1bac: it's not necessarily an error - it just indicates that the requested metadata isn't relevant for that id (which is not necessarily something you can tell from the id)16:25
rick_h__right, because of the flat namespace16:25
rick_h__rogpeppe1: so my question is what bits of data to not apply?16:25
* rick_h__ loads up spec16:25
rogpeppe1bac: and we specifically allow something like: GET meta/any?id=wordpress&id=somebundle&include=charm-metadata&include=bundle-metadata16:26
rick_h__rogpeppe1: and I'd propose not to have charm-metadata and bundle-metadata, but a single metadata16:26
rogpeppe1bac: (the irrelevant results are just omitted from each id as appropriate)16:26
bacrogpeppe1: ok16:26
rick_h__so that you'd say 'any/id=xxxxx&id=yyyyy&include=metadata16:26
rick_h__and you'd have that key in all results16:27
rogpeppe1rick_h__: i don't think that works so well16:27
rogpeppe1rick_h__: because then you don't know what type you're expecting16:27
rick_h__rogpeppe1: they specified an id, they have some clue. And it's easily decernable on the client end16:27
rogpeppe1rick_h__: the rule is (currently) given a metadata endpoint, you know exactly what type you're going to get16:27
rogpeppe1rick_h__: and that works really well with Go16:27
rogpeppe1rick_h__: it means you don't have to any dynamic shenanigans to try to duck-type the response16:28
frankbanrogpeppe1: IIRC in the any endpoint it's easy for the client to understand if the requested key is not relevant, the corresponding meta field is missing. I'd be +1 on doing the same with the single call it's clear when the data is not relevant (nil?) vs the data is empty16:28
rick_h__rogpeppe1: well implementation language aside, it seems crazy to me to have to specify the charm- and bundle- in that request. Not only did I tell you I want the metadata for bundle1234 but that I want bundle-metadat vs charm-metadata? They're mutaully exclusive16:28
rogpeppe1rick_h__: metadata isn't the only field that is bundle- or charm-specific16:29
* frankban bbiab16:29
rogpeppe1rick_h__: for instance, bundles-containing is only relevant to charms16:29
rick_h__rogpeppe1: ok, so it's an implementation simplicafication vs a user experience simplification that we're disagreeing on. Which to prioritize it seems?16:29
rick_h__rogpeppe1: ok16:30
rick_h__but then we'd allow a bundle id to be passed to that end point without any notification to the user that it's not a valid argument?16:30
rogpeppe1rick_h__: which is simpler is somewhat subjective, i think16:30
rick_h__rogpeppe1: I agree it's subjective. 16:30
rogpeppe1rick_h__: currently we have a strong invariant in the API that the client knows exactly what data to expect back for a given endpoint16:31
rick_h__when the json data is cast to mongo models is the metadata not able to be determined/created at parse time? I mean you're either going to have a lot of checks in the code for 'xxx.bundle-metadata is not nil' or 'xxx isBundle' either way?16:33
rogpeppe1rick_h__: i *think* returning nil is reasonable - a valid bundle will never have nil metadata, so it's easy for the client to determine what it means16:33
rick_h__a charm will have nil metadata?16:33
rogpeppe1rick_h__: a charm has a nil *charm.BundleData but a non-nil *charm.Meta16:34
rogpeppe1rick_h__: in the entity doc16:34
rogpeppe1rick_h__: there are no "is-not-nil" checks necessary.16:34
rick_h__ok, so if uros and frankban are on board I will defer. I'm not a fan and it seems like Go leaking into ideal functionality of the api, but oh well I suppose if everyone else agrees.16:34
rogpeppe1rick_h__: another one: should we return an error if the client asks for a charm's actions but there are none?16:35
rick_h__so the api is http. If you ask for something and it's part of the main url, you'd get a 404 I'd imagine16:35
rick_h__however, an a bulk call the request was successful, however, some recoreds might not have that data16:35
rick_h__so an empty set16:35
rogpeppe1rick_h__: yeah, it's the conflict between bulk api calls and normal calls that i'm trying to reconcile16:36
rick_h__rogpeppe1: understood16:36
rogpeppe1rick_h__: it would actually be easier for me to consistently return a 404 error for any data that happens to be nil.16:36
rogpeppe1rick_h__: but i *think* it's nicer not to16:37
rogpeppe1rick_h__: as the endpoint is really found - it just doesn't have any data stored there16:37
rick_h__but this is what I mean. If the user is passing a list of mixed ids, and asking for an array of metadata in a single call, 404'ing because one item doesn't have data X seems broken16:37
rogpeppe1rick_h__: definitely16:37
rogpeppe1rick_h__: that's why the API specifies that irrelevant results are omitted16:37
rick_h__however, if I ask you for the field X on id Y and it's not there, 404 is the standard 16:38
rick_h__so I'd never expect a bulk call to return a 404, but a single I would. 16:38
rick_h__what else would you send back, just a {} 16:38
rogpeppe1rick_h__: just null.16:38
rick_h__you'd not have an idea if the id wasn't found, or there was no metadata, or that it's there but nothing16:38
rick_h__it needs more context in a single call imo16:38
rick_h__if we were to go against http and always return a value, we'd need to return a message as to what happened16:39
rogpeppe1rick_h__: if you get null, you know that the id was found and the metadata endpoint was recognised, but there was no metadata16:39
rick_h__and if the id was not found you get a 404? 16:39
rogpeppe1rick_h__: yup.16:39
rick_h__and if there was metadata, but it was defined to be an empty set, you'd get {}}16:39
rick_h__?16:39
rogpeppe1rick_h__: and if the endpoint wasn't found, you get an error16:39
rogpeppe1rick_h__: (currently a 500, but that will change)16:39
rick_h__well if the endpoint wasn't found the router would 404?16:40
rogpeppe1rick_h__: not currently16:40
rick_h__e.g. unroutable request, a 500 implies server side issue16:40
rogpeppe1rick_h__: but it will16:40
rick_h__ok, well I think it'd be good to define these cases and write out the suggested path for each16:40
rick_h__make sure they're no conflating (one response type could be X or Y) and then review with the team?16:40
rogpeppe1rick_h__: yes, this should definitely be better specified in the API doc16:41
rick_h__rogpeppe1: thanks, I think I see where you're headed and it's probably the path, apologies for not being a huge fan and getting difficult. :) 16:42
rick_h__sometimes takes some convincing16:42
hatchfrankban I have finally finished reviewing your branch - take a look and feel free to comment whererever necessary16:42
rogpeppe1rick_h__: that's fine - i see where you're coming from too :-)16:42
jcsackettfrankban: sorry, hadn't seen that you had replied to my points. +1 from me, looks like hatch has some points still unaddressed.16:44
rogpeppe1rick_h__: at the moment, i'm leaning towards returning 404 with a "no data found" message for any metadata that == null; and defining bulk endpoints to omit all null entries.16:44
rogpeppe1rick_h__: that way, if a client cares, they can at least distinguish the 404 errors, but there's a clear and defined correspondence between single endpoints and bulk endpoints16:45
rick_h__rogpeppe1: rgr16:46
rogpeppe1rick_h__: rgr?16:46
rick_h__sorry, that's probably not a term to use with a guy named roger16:46
rogpeppe1rick_h__: lol16:46
rick_h__rgr == 'roger' 16:46
rick_h__sorry, grew up military16:46
rogpeppe1rick_h__: not an abbreviation i've seen before16:47
rogpeppe1rick_h__: which is strange, really16:47
rick_h__I used to use it a lot more, but tried to stop since you've started 16:47
rick_h__but once in a while leaks out of my brain 16:47
rogpeppe1rick_h__: i don't mind - "roger" has a few meanings :-)16:48
rogpeppe1rick_h__: how did you put those red "awaiting approval" sections in the bundle specification document?16:48
rick_h__rogpeppe1: not sure I see the same thing. Nothing red16:49
rick_h__there's some 'awaiting approval' because I don't have edit rights16:49
rick_h__I can only 'suggest' 16:49
rick_h__rogpeppe1: which shows to me as green16:49
rogpeppe1rick_h__: ah, i see16:49
rogpeppe1rick_h__: i see it as red16:49
rogpeppe1rick_h__: but i'd quite like to do the same with the API proposal, so that you and others can see the proposed changes16:49
rick_h__so in the upper right16:50
rick_h__there's a drop down to swich modes16:50
rick_h__switch modes16:50
rick_h__"editing, suggesting, viewing"16:50
rick_h__you can use that to 'suggest' I believe16:50
jrwren_can you give example where you are thinking of returning 404?16:53
jrwren_oh... e.g. such as GET ubuntu/meta/nope16:53
jrwren_yes, that makes good sense16:53
rick_h__right16:53
rick_h__/mysql-13/meta/bundle-metadata16:54
rick_h__is that a nil, {}, or 404?16:54
rick_h__is part of the idea16:54
jrwren_yeah... tough call.16:54
rick_h__and /meta/any?id=mysql-13&include=bundle-metaadata16:54
rick_h__how does that differ?16:54
jrwren_i can see how that would differ16:54
jrwren_/mysql-13/meta/bundle-metadata should 404 if /mysql-13/meta did not include "bundle-metadata" in the response16:55
rick_h__right, that's what we're chatting about16:56
jrwren_/meta/any should never 404 IMO, because that path exists. the query may not be valid, but that is not a 404 IMO16:56
rick_h__right16:57
=== jrwren_ is now known as jrwren
rick_h__and I got sidetracked on helping not have nil's in the return bodies because charms/bundles have the same idea (metadata) but they're different sets of fields16:58
rick_h__however I'm learning that my ideal duck-typing python ways might not be friendly to our work 16:58
rogpeppe1bac: that PR still doesn't seem to have attracted any attention from the 'bot17:09
frankbanjcsackett, hatch, thanks for the reviews17:12
frankbanhatch: replied to your comments, do you want placeUnit to return (not raise) an error?17:13
hatchfrankban thanks17:13
hatchfrankban well we don't use the try/catch technique anywhere else in the GUI so it's not really a pattern we are used to17:14
hatchI think I'd prefer it to return to follow some kind of convention17:14
frankbanhatch: no problem, I'll change it, and that's actually a good point17:15
hatchgreat thanks17:16
hatchfrankban with all the Go you've been doing I'm surprised you went with the 'throw' vs a return by default ;)17:16
frankbanhatch: haha, you are right17:18
hatch:D17:18
bacrogpeppe1: ack.  will push it manually when i get off the phone17:19
rogpeppe1bac: ta!17:19
frankbanhatch: anyway, more than once while writing this branch I tried to avoid using var by doing "x := value"... 17:20
hatchfrankban haha it is a nice syntax :) 17:23
* rogpeppe1 is done for the day17:28
rogpeppe1g'night all17:29
frankbannight rogpeppe1 17:30
rick_h__bac: another thing we might look at is duping the jobs and setting one up for master and another for v4/v217:52
rick_h__so that there's less cross contamination potential17:52
rick_h__jujugui: going to step away for a walk. biab17:52
bacrick_h__: ack.  i just discovered there is no develop.ini file...  that could be a big issue.17:52
rick_h__bac: development.ini?17:53
bacyes17:53
rick_h__it can't work without one so must have been there. :/17:53
rick_h__interesting17:53
bacrick_h__: i'm surprised anything works.  especially if that file didn't get recreated when we brought the env back up17:54
rick_h__bac: right, no idea how that works since it holds the keys17:54
rick_h__and gui landing is working?17:54
bacno, its there17:54
rick_h__oh, but the charmstore isn't in the list of projects?17:54
rick_h__in that ini file?17:55
baci was looking in the workspace version of the lander not /var/lib/jenkins/jenkins-github-lander17:55
rick_h__ah ok17:55
bacyes, charmstore is correctly in that file17:56
bacrick_h__: sorry, go walk17:56
rick_h__bac: heh all good thanks17:56
rick_h__hatch: approved your holiday. In the future please not the name of the holiday in question17:57
rick_h__Makyo: also got yours17:57
rick_h__and now I run away for a bit17:57
hatchrick_h__ ok will do thanks17:57
frankbanbac: FYI, I just :shipit: the GUI branch, hopefully it will get merged soon. done for the day, have a good evening!18:02
bacurulama: still around?18:13
bacjujugui: found the jenkins problem.  this PR https://github.com/juju/charmstore/pull/23 has an unknown source repository, which breaks jenkins.18:15
bacjujugui: anyone know how this happened?  just deleted the repo on github?18:16
bachatch: ^^18:19
hatchyeah the source repo was probably deleted but the pr was left18:20
hatchalthough the jenkins thing should probably be resilient enough to handle that :)18:20
bacyeah18:25
urulamabac: hi, around somewhere ... yes ... my fault for doing that early in the morning ... was trying to delete a branch that is not forked from charmstore, but ended up deleting the wrong one18:25
bacurulama: ok, just gathering information for my bug report upstream18:25
urulamabac: didn't think it will break up CI :(18:25
bacurulama: not your fault18:26
* urulama puts on a "dunce" hat for today18:26
* Makyo -> appointment 18:27
urulamabac: i'll probably close 40 as well, as 39 completely breaks how tests are done ...18:28
bachuh, looks like rick_h__ *is* the upstream...18:33
jrwrenthis is me grumbling about being a go nube.  *grumble*18:37
bacrogpeppe1: your pr/39 got merged.18:37
rick_h__bac: yes, that's my tool from when we first did GH move19:45
rick_h__bac: thanks for locating that19:45
bacrick_h__: i've also installed mailutils and added a MAILTO to the cronjob so i'll get email when the cronjob fails19:46
bacif it works19:46
rick_h__bac: woot19:46
* rick_h__ goes off to get the boy for swim class. 19:52
jcastrorick_h__, is there a way we can just blow away oneiric from the store?20:10
hatchjcastro short answer is no20:16
hatchit can be done but will require work to do so20:17
hatchjcastro the branch which I'm about to propose puts the charms that match your environment first in the autocomplete list20:19
jcastroI mean more for search results20:19
jcastrothough that does sound useful!20:19
jcastrolike, I search for phpmyadmin and I always end up one one-eyed-rick instead of precise/trusty20:20
hatchlol one-eyed-rick20:20
hatchbut yeah so that will change soon but to remove the oneric ones from the store requires quite a bit of launchpad/charmworld work20:21
hatchPR's accepted? ;-)20:21
bacjujugui: charmstore and charmstore-merge CI are temporarily not pissy.20:31
bachttp://ci.jujugui.org:8080/job/charmstore/31/console20:31
bacthat one was run by magic20:31
bacas it should be20:31
bacjcsackett: is your ci happy?20:32
jcsackettbac: it is, for the time being.20:34
jcsackettbac: see other channel for some discussion of what was going on with it.20:34
hatchjujugui lf a review and qa for https://github.com/juju/juju-gui/pull/463 plz and thanks20:37
jcsacketthatch: so services have an attr called unit_count, which we manually update every time we add or remove a unit...what do you think about giving that a getter which just gets the count from the services unit list?20:53
hatchjcsackett I thought we listen for change events on that?20:54
jcsackettnot to update unit_count. all the references to it have it being set when we add something. just did an ack across the code base to check.20:55
hatchhmm that's odd I was sure we listen for changes on it, lemme take a quick peek as well20:56
hatchoh right, unit_count is a property not an attr20:57
hatchor at least it was20:57
hatchthere are a few places with d3 where we treat it was a property and others where it's an attr20:59
hatchthis is quite confusing20:59
hatchupdate_service_unit_aggregates models.js:820 looks to be the place we set it21:03
rick_h__bac: ty21:04
hatchnot sure we want to do that computation every time someone requests the unit_count?21:04
rick_h__jcastro: I need to get stats to verify it's not used before we blow it away, but I'd like to. 21:04
rick_h__jcastro: hatch is correct that the search issues will be fixed this week with his branch and the release we'll do this week21:04
rick_h__jcastro: so it'll be more invisible, but they'll still be there. 21:04
jcastrogood enough (tm)21:05
jcastrohatch, nice job pocket trains!21:05
hatchjcsackett say there are 1000 units, and the user opens and closes the inspector a few times, that's going to incur a lot of overhead - is there a reason why you want to convert it to a getter?21:05
hatchjcastro haha, I haven't opened that app in months :)21:06
hatchmy trains must be rusting by now21:06
hatchI'm playing clash of clans now which involves even less work :)21:06
jcsacketthatch: that method is nuts; why can't unit_count just always be service.get('units').count or whatever?21:08
jcsackettwhat am i missing?21:08
hatchhmm, there WAS a reason for this21:09
hatchlemme do some quick testing21:09
hatchsee if I can remember21:10
hatchbbias21:10
rick_h__hatch: maybe related to when there was a dial showing unit counts on the service blocks?21:10
rick_h__hatch: but just imagining21:10
rick_h__I can't think of any case where we bug the heck out of services about unit counts. 21:10
rick_h__en masse21:11
hatchahhh ok now I see why21:12
hatchyeah this can now be dramatically simplified21:12
hatchthis was here because we didn't used to have a units model 21:12
hatchso we tracked the statuses via the units state per service21:13
hatchjcsackett so yeah if you wanted to big time simplify this then that should work - the only downside is I'm not sure we always want to show dying units in the count21:13
hatchbut maybe we do21:13
hatchbefore we used to 'scale to a number' now we are 'scale by a number'21:14
jcsacketthatch: dying units are still units; and we break those out in the service inspector.21:14
hatchright - before you would say "I want to have 10 units" so we didn't want to count dying units because then we wouldn't scale enough up21:15
jcsacketthatch: dig.21:15
hatchnow we say "give me 10 more units"21:15
hatchso yeah you should be able to simplify that a bit 21:15
jcsacketthatch: so you're +1 on unit_count being a return on the actual unit list count?21:15
hatchcurious why you want to do it at all though?21:15
jcsacketthatch: otherwise i have to keep updating it when uncommitted units are added.21:15
hatchahh yeah21:15
hatchthere is a perf hit when having to count number of items21:16
hatchbut as long as we aren't doing it all the time21:16
hatchlike if unit_count is being called every s then that's obviously not going to be good21:16
hatch1s*21:16
jcsackettnear as i can see, it's called to fill out data on some renders.21:16
jcsackettscale up UI shows the current count...overview shows the count...21:17
jcsacketthm, what's this topology bit about.21:17
hatchI have no idea21:17
hatchnot sure when Makyo  is back21:17
hatchhe would know what it's actually doing there21:17
hatchI THINK that's doing the layout when you move something21:17
jcsackettit's in "update" so that's a good guess.21:18
MakyoI'm here.21:18
MakyoWas at other computer, let me catch up21:18
hatchohh ok :) 21:18
hatchMakyo https://github.com/juju/juju-gui/blob/develop/app/views/topology/service.js#L1214 21:20
Makyohatch, jcsackett It should be good as a getter - I think that's leftover from when we had separate views for services/services scaled by unit count21:20
MakyoYeah, we can get rid of that line.21:20
MakyoJust a remnant of when service blocks were bigger for more units.21:20
hatchMakyo so this can also go? https://github.com/juju/juju-gui/blob/develop/app/views/topology/bundle.js#L12021:21
MakyoYep21:21
MakyoValue can basically always be 1, if it's required.21:21
hatchthen unscaledPack can also go because those were the only places it was used21:21
hatchor is the unscaledPack required, just not the value?21:22
Makyounscaled pack is required, just not the value.21:22
MakyoThe built-in pack takes into account the canvas size, but all our canvases are infinitely large, so we have a hack around that.21:23
hatchahh ok 21:23
hatchMakyo maybe at some point this should all be documented :D21:23
hatchjcsackett so you got all of that stuff? ^21:23
hatchjcsackett there are also two unit models, a "master" list and a "per-service" one21:24
Makyohttps://github.com/juju/juju-gui/blob/develop/app/assets/javascripts/unscaled-pack.js :P21:24
hatch"interm fix"21:24
hatchapparently circle jerking is the best technique 21:24
hatchlol21:24
hatchwow that was an unfortunate autocorrect21:24
* hatch hangs head in shame21:24
MakyoI tried submitting a PR to D3 for that, and Bostock shot me down.21:25
hatchcircle PACKING21:25
hatchohh right I remember that discussion 21:25
MakyoHis response was "Just use GraphViz instead"21:25
hatchlol hardly the solution 21:25
MakyoYeah :P21:26
hatchI wonder if we could use react for this stuff instead of d321:26
hatch:)21:26
hatchit might be simpler to understand 21:26
hatchthe dragging might be complicated though21:27
* Makyo rolls his eyes RIGHT out of his head, across the room, and out the door.21:27
hatchhahahahaha21:27
hatchwell I mean because it can be treated as more of a black-box 21:27
hatchpass data in, fancyness comes out21:27
* jcsackett laughs21:28
MakyoSounds like magic.21:28
jcsacketthatch: yeah, unitcount is only going to work on the service's unit list.21:28
jcsackettbecause its the service unit count.21:28
hatchahh right21:30
jcsackettand i'll update the topology stuff to just use "1" there rather than unit_count, defaulting to 1.21:30
jcsackettwhee...deleting code we don't need...21:31
jcsackettseriously, my favorite thing.21:31
jcsackett(at least, my favorite code thing)21:31
hatchhaha yeah it's a nice thing to do21:33
hatchnow if we could just rewrite the GUI just imagine how much better we could do it.... :)21:33
hatchhmm our coworking space is having an open house week next week....maybe I'll give it a go21:34
hatchit's quite a drive though....21:35
jcsackettwe should totally rewrite the GUI. the entire GUI.21:39
jcsackettthat's an excellent idea. :p21:39
* rick_h__ threatens to send men in black suits to all your houses21:41
hatchhahaha21:42
hatchwrite it in Flash....that's the new tech...right? right guys??21:42
hatchoo new nvidia driver release I wonder if there is also new Ubuntu nvidia drivers in the pipe22:02
urulamahatch: hey ... wonna see smart lights all charmed up? amateur video at https://dl.dropboxusercontent.com/u/130538479/Juju-IoT.MOV :D22:56
hatchsay who what?22:57
urulamawas playing around and made a web service to control the lights in the house22:57
hatchdownload no worky22:57
hatchyou should probably make the web service availabe online....I SWEAR I won't turn your lights on at 3am ;)22:58
urulamaof course, charmed up the service ... once actions hit juju-core, one can control the lights from juju-gui22:58
urulamahatch: works on local net only ;)22:58
urulamaurl is not working?22:59
urulamahttps://dl.dropboxusercontent.com/u/130538479/Juju-IoT.MOV22:59
hatchthere it goes22:59
hatchthe first time it 404'd22:59
hatchwell, it's buffering now22:59
urulamasafari? it doesn't scale the video i think23:00
hatchholy smokes it's still buffering23:01
hatchlol23:01
hatchthere we go23:01
hatchand it didn't work23:02
hatchlol23:02
urulamadamn dropox23:02
hatchhmm will try safari23:02
huwshimiMorning23:02
urulamamorning huwshimi23:02
hatchmorning huwshimi 23:02
hatchurulama so I just get a full screen image23:03
hatchno play controls23:03
hatchoh there they go23:03
hatchmust be just really slow23:03
urulamaseems like dropbox doesn't work well over continents23:04
urulamai'll upload it on my server tomorrow23:04
hatchit's sending the packets by a messange-in-a-bottle protocol23:04
urulama:D23:04
hatchoh it's speeding up23:04
urulamanow that huwshimi is online it really is a signal to go to sleep :D23:05
hatchhaha23:06
hatchurulama it loaded23:06
hatchreally cool :)23:06
hatchurulama it's got to be, 12am there by now? :)23:07
urulama1am to be exact23:07
urulamabut wanted to finish this today23:07
urulama:D23:07
urulamawas on my mind from the first week i arrived, and, well, we can't let undone tasks slip by, do we :D23:08
hatchhaha well looks cool - do you have a blog? You should put up some vids on youtube and some blog posts23:08
hatchspread the juju love23:08
urulamakhm, why not :D i'll do that23:09
hatch:) 23:09
urulamait'll be really cool once we have actions and can be done directly in gui 23:09
hatchdefinitely, `juju deploy house-lighting`23:09
urulamaindeed ... ibeacons are next (the proximity sensors from apple) :D23:10
urulamacontrol your juju env by entering the room :D23:10
hatchhave you done any stuff with bluetooth dev?23:10
hatchI've been looking at doing some stuff with TI's sensor tag23:11
hatchbut time....23:11
hatchhah23:11
urulamaibeacons are actually LE BT devices23:13
hatchyeah but locked into apple23:14
hatchI'm not to big on that23:14
hatch:)23:14
urulamai don't think they are ... 23:16
hatchthey start with "i" how could they not be?23:17
hatchlol23:17
hatchI'm pretty sure it's all closed source23:17
urulama:D23:17
urulamawell, i got these ( http://estimote.com ) as a gift to play with ... 23:18
urulamaok, time to go ... see you, well, today :D23:18
hatchjinteresting...23:18
hatchok cya tomorrow 23:19
hatch:)23:19
hatchhuwshimi when working on your branches keep in mind that we will be doing a non mv release this week so everything still has to look/work correctly without mv23:39
huwshimihatch: OK, np23:39

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