/srv/irclogs.ubuntu.com/2013/06/24/#juju-gui.txt

=== rogpeppe1 is now known as rogpeppe
=== rogpeppe1 is now known as rogpeppe
antdillonrick_h, Hi, would you be able to help get me set up with the latest juju gui?11:52
rick_hhowdy antdillon 11:52
rick_hsure, sounds like fun :)11:52
antdillonrick_h, lol thanks11:52
antdillonrick_h, If I can get it running locally or access to a staging I can mess with that would be great11:53
rick_hantdillon: did you want to run a quick hangout first to kind of figure out where we are or did you have a specific trouble getting it going11:53
antdillonrick_h, Yeah sure11:54
rick_hantdillon: there's two ways to go. 1) check out the source with bzr and go through the hacking doc http://bazaar.launchpad.net/~juju-gui/juju-gui/trunk/view/head:/HACKING11:54
rick_hantdillon: or 2) use the charm to get an instance up and running in canonistack and then ssh into it and work on it remote11:54
rick_hantdillon: forgive me if I offend, but going to assume nothing. Have you used bzr much? setup a LP account?11:55
antdillonrick_h, That's fine, yes use bzr for our sites and have an account11:56
antdillonrick_h, nick is ya-bo-ng11:56
rick_hantdillon: ok, then maybe this will be easy. just bzr checkout lp:juju-gui and then walk through this hacking doc that's in the root of the tree11:57
rick_hantdillon: you can probably skip the rapi-rolloup step and just use the sandbox. 11:57
rick_hantdillon: so start with line 47 of that hacking doc11:57
antdillonrick_h, Will do11:58
rick_hantdillon: and let me know if you run into trouble. 11:58
antdillonrick_h, I sure will11:59
=== luca__ is now known as luca-lunch
antdillonrick_h, Its working a treat, thanks12:53
rick_hantdillon: awesome12:54
rick_hantdillon: make sure to shout if run into anything. 12:55
=== fwereade__ is now known as fwereade
antdillonrick_h, I will, thanks12:56
gary_posterfrankban, yay on first branch :-)13:12
frankban:-)13:12
hatchmorning13:56
benjirick_h: I could use some ideas on how to wire up access to app.modelController.getCharm.  If you could look at https://codereview.appspot.com/10500044/diff/1/app/widgets/charm-container.js and let me know what you thing, I would appreciate it.13:57
rick_hbenji: otp will look in a sec. 13:58
benjithanks!13:58
benjimy instinct is to send app.modelController.getCharm through as part of the config, but I can't trace the config and object instantiation all the way back to app13:58
hatchbenji: did you see how the deploy method is passed into the subapp in the app.js initializer?13:59
benjihatch: nope, I'll take a look at that13:59
benjihatch: actually, I have seen that... I did it. :)14:00
hatchI only ask because on line 222 you use some reference to app instead14:00
benjiThe problem is that I don't see the chain of causality that starts in app and ends in the charm container widget14:00
rick_hbenji: ok looking14:01
benjihatch: right, that's what I'm trying to remove14:01
rick_hso benji I'd assume we'd do the same thing we did in the add button to get the charm data we've got, turn it into a Charm model instance, and use that in the drop event. 14:01
rick_hbenji: guichat?14:02
hatchsorry I'm having some issues with my vm14:02
benjirick_h: sure, but I need a minute to prepare;  I'll ping you in a couple14:02
rick_hbenji: rgr14:02
benjirick_h: I'm in guichat14:05
abentleyorangesquad: could you please review https://code.launchpad.net/~abentley/charmworld/remove-bzr-ingest-job/+merge/170899 ?14:14
* sinzui looks14:14
gary_posterhey hazmat, did you see my email about deployer?  sound ok?14:18
sinzuiabentley, r=me14:26
abentleysinzui: Thanks!14:26
bachi benji14:29
hatchbenji: did you want a review on /charm-dnd-2 ?14:29
bacbenji: when you have a moment, i need to ask you about some stuff in go sandbox14:30
benjihatch: not quite yet; I have to tweak a couple of things14:31
benjibac: ok, it'll be a couple of minutes14:31
hatchalrighty, lemme know when14:31
benjibac: I'm free14:40
bacbenji: guichat?14:44
benjibac: sure14:44
abentleyorangesquad: Could you please review https://code.launchpad.net/~abentley/charmworld/remove-scan-ingest-job/+merge/171093 ?14:53
* sinzui does14:55
sinzuiabentley, r=me14:59
hazmatgary_poster, sounds good15:13
gary_posterawesome thanks hazmat15:13
hazmatgary_poster, reply sent15:25
gary_posterthank you :-)15:25
rick_hbenji: https://code.launchpad.net/~rharding/juju-gui/dnd-test/+merge/171121 is kind of what I was talking about. It's not working right (evt is empty of any data) but the events fire 15:33
* benji looks.15:33
rick_hbenji: note I moved the functions inside to try to gain a closure so only one copy of the json'd data was kept around for each charm-token instance15:34
rick_hso hacky hacky 15:34
benji:)15:35
benjithat's pretty close to what I have15:35
bcsallerI'm having trouble tracking down some bleeding tests on my branch, its somewhere in the existing code. Maybe after the meeting somone can help look at lp:~bcsaller/juju-gui/ghosttown/ with me?15:50
gary_posterjujugui call in 10, kanban now pls15:50
hatchbcsaller: sure15:50
bcsallerhatch: thanks15:51
abentleyorangesquad: could you please review https://code.launchpad.net/~abentley/charmworld/remove-jenkins-ingest-job/+merge/171124 ?15:55
sinzuiokay15:56
gary_posterjujugui cll now15:59
gary_posterish15:59
hatchrick_h: are the featured charms queries cached on the server? sometimes they come in in a slightly different order which would imply no...16:09
hatchsorry ^ abentley16:09
abentleyhatch: No, they aren't.16:10
hatchahh ok - should I file a bug for that? or is it a known thing?16:10
abentleyhatch: No, caching will only be implemented if and when we need it.16:12
rick_hhatch: what's up/wrong with the featured charm order/etc?16:12
rick_hhatch: featured charms are manually selected and can change at any time16:12
rick_hhatch: so not sure if you're just generally worried about speed or you're setting up a test or something to rely on that info16:12
hatchrick_h: abentley just curious - I figure if it's building a list every request I figure it was wasteful load on that server16:13
rick_hhatch: so right now it's not. Since featured can be changed by ~charmers it responds immediately :)16:14
abentleyhatch: We're not aware of any performance problems on the server.16:14
rick_hhatch: and for now the perf isn't an issue16:14
sinzuiabentley, r=me16:14
hatchyeah it's not an issue now16:14
rick_hhatch: so yea, no caching atm since we don't need it. Our deployment includes squid and can be added as required down the road. 16:15
hatchahh cool cool16:15
abentleyhatch: Premature optimization is the root of all evil.16:15
hatch:)16:17
benjirick_h: am I correct that the charm's attributes just get slammed on the charm token object?  I need a clean set of object attributes to JSONify.16:24
rick_hbenji: correct. the charm token is passed the model.getAttrs()16:24
rick_hbenji: in my example that's the cfg stored in the intializer 16:24
rick_hbenji: I stored that cfg off so that it was kept clean from the token's attrs16:24
benjirick_h: ah, gotcha16:25
Makyohatch, when you get a sec, would like to talk about a task.16:26
hatchsure16:28
hatchMakyo: guichat?16:29
MakyoSure, be right there.16:29
=== matsubara is now known as matsubara-lunch
hatchbcsaller: when the db is destroyed there is no destroy method16:50
hatchso it doesn't necessarily detach those events...trying that now16:51
bcsallerhatch: I suspect I might need to retain the handle and free them manually 16:51
hatchyeah that didn't work :)16:53
hatchnope that didn't help either16:55
hatchbcsaller: you should probably merge trunk into this to take advantage of the fixes teknico did to the tests16:57
hatchoh that didn't help either17:00
hatchheh17:00
hatcharg17:05
hatchbcsaller: ok any of my 'ideas' didn't pan out :( next step would be to go test by test commenting them out17:08
bcsallerhatch: thanks for looking, I'll merge trunk and try again, was hoping you'd spot something I'm missing17:08
bcsallerwe still use way too much state to test :-/17:09
hatchyeah - my new branch moves the deploy/inspector code into an app extension so that it can be unit tested properly17:09
hatchsorry I coudln't be of any real help17:09
bcsallerhatch: I appreciate the time, thanks17:12
benjirick_h: I got a crazy error when trying to instantiate a charm model (var charm = new models.Charm(charmData);17:13
rick_hbenji: crazy?17:13
benji): Uncaught TypeError: Cannot use 'in' operator to search for 'bubbleTargets' in {"initialized":true,"destroyed":false,"distro_series":"precise" [... lots more]17:13
rick_hbenji: can you paste me the lots more into a pastebin please?17:13
benjiand bifurcated17:13
* rick_h wonders if getting more than supposed to and wtf is up with that17:14
benjirick_h: com17:14
benjipfft17:14
benjirick_h: http://paste.ubuntu.com/5796075/17:14
rick_hbenji: so in looking at the data, the two that jump out at me are initialized and destroyed? Can you try doing a quick hack of del charmData.inialized and charmData.destroyed and see if that changes things?17:17
rick_hbenji: and then we can chase them down if that's the issue17:17
* benji tries17:17
rick_hhatch: isn't there a way to tell YUI to ignore non-declared attrs in a initializer?17:17
* rick_h can't find a flag/setting for that atm17:17
hatchI'm a little confused - if they aren't declared then they shouldn't exist?17:18
hatchI'm probably missunderstanding17:18
rick_hhatch: maybe I'm assuming 17:18
rick_hhatch: sec, let me try something. 17:18
hatchaww man today is a Canadian holiday17:25
* hatch grumbles about The Man17:25
bcsallerswap day?17:25
hatchwell I didn't even know it's a holiday, just noticed on the calendar hah17:26
benjirick_h: I figured it out: that was just a string, I forgot to parse it back into an object.17:27
rick_hbenji: ah ok yay17:28
gary_posterhatch,  since you are working you can use this as a swap day.  Take another day off within the next few weeks and claim it in canonicaladmin as a "swap day" and reference the national holiday17:36
gary_posterjujugui and orangesquad, you all are invited to participate in the great bundle naming vote of 2013, sent out by luca__ a little while ago.  Participate if you like. :-)  Use comments n the google doc17:40
* rick_h ducks17:40
gary_poster(thanks again luca__  :-) )17:40
luca__gary_poster: np17:41
sinzuigary_poster, thanks. I am still pondering, hoping for something that will be a great transitional name for the bright future17:42
gary_poster:-) cool sinzui17:42
hatchI'm confused by this vote17:42
hatchI need continuous ads on Fox News to tell me what to vote for17:43
gary_posterlol17:43
rick_hgary_poster: now this is the idea of a environment dump/load setup right?17:43
gary_posterrick_h, yes.  in contrast to stacks17:43
hatchalthough they are almost the same thing17:44
hatch:)17:44
rick_hok, went out on a limb and ranted against the idea from the beginning :)17:47
hatchranting is on a limb for you? are you sure....?17:47
hatch:P17:47
* hatch ducks17:47
rick_hhah, see you caught the irony there didn't you :P17:47
hazmatlet's call them chundles ;-)17:47
hatchhaha17:47
rick_heundles!17:48
hatchundies!17:48
bcsallercharm bracelets 17:48
* rick_h forsees the Haynes lawsuit17:48
hatchcharm undies17:48
hatchwait till we get our charms on you17:48
hatchMakyo: run into any issues with the viewlet stuff?17:50
Makyohatch, nah, it's interesting, pretty easy to read. 17:51
hatchgood good17:51
* hazmat has a zope3 flashback from hearing viewlet17:52
hatchI had to google that17:53
hatch:)17:53
rick_hhazmat: yea, makes me cringe every time I review a branch!17:53
hatchjujugui can we simply call bundles stacks and make the difference transparent? They virtually are the same thing as far as the user is concerned it's only the implementation that differs17:54
=== matsubara-lunch is now known as matsubara
rick_hhatch: no no no no no kthx no :)17:54
hatchwhy not?17:54
bcsallerhatch: it is more complex than that, stacks will have hooks and so on, and persistent identity. You can make a case that a stack with no hooks is very similar though17:55
rick_hthis is why I want to ditch the 'charm' and make one about the environment and one about the charm17:55
hazmathatch, except stacks have meaning oonce their imported17:55
hazmathatch, bundles don't17:55
rick_hone is just a dump of the current environment and you can reload that environment, the other is a full on charm, with an api, etc17:55
hatchthat's fine - that can be an added feature to stacks once they are done17:55
gary_posterhatch, also Mark S says no.  So...it's important that you understand the difference, but... :-)17:55
bcsallerthey could though, that property is either useful or ignorable 17:55
hatchright now a 'stack' could simply be a collection of charms17:56
rick_hhatch: think of system backups vs a meta package. 17:56
hatchthen we could add these 'hooks' and the like lateron17:56
hazmata stack is a logical (really hierarchical) grouping with exported endpoints and possibly additional behavior, they want for different visualization in the gui as well.17:56
hazmatie i can zoom into a stack17:56
rick_hsystem backup is just a dump/restore of the files where they were. A meta package is itself a package that can have install hooks/etc and brings together a bunch of individual packages17:56
hatchI understand that - however I think that we are going to confuse our users when these stacks come out17:56
hatchit is confusing enough that we need a vote about it17:57
hatchso clearly there is something not right here17:57
rick_hhatch: I'm partially with you. I wish we'd drop the charm part of the bundles name to help keep them seperate17:57
hatchyou can think of a stack as a wrapper around a bundle which implements additional functionality ie) hooks17:58
hatchwhich could then be thought of an enhancement ontop of a bundle17:58
rick_hdisagree :)17:58
hatchI don't know who wrote this but in the vote it even says """We currently think that we will want to deprecate this idea once we have stacks, but we don’t know when stacks will appear.  It could be well over a year."""17:58
gary_posterhatch we can treat a stack like a bundle, but we can't treat a bundle like a stack.  Kapil's explanation gets to the heart of it.17:59
gary_posterI wrote that17:59
hatchwhich means that stack is a logical enhancement of a bundle17:59
hatchI foresee 1000 of these questions "Which do I want, the wordpress bundle or wordpress stack?"18:00
hatch"what is the difference between the wordpress bundle and the wordpress stack?"18:00
gary_posterhatch, the plan AIUI is that people will never ask that.  Once we have stacks, we will deprecate and/or convert and rename bundles.18:00
hatchexactly18:01
hatchso why don't we just call bundles stacks18:01
hatchand add features to it18:01
bcsallertwo similar concepts is bad, I agree, but I think your understanding is flipped, bundles are dumbed down stacks rather than an enhancement story the other way 18:01
rick_hI still use a use for this idea of taking your current environment (maybe with multiple stacks deployed) and backing that up/restoring it via the bundles functionality18:01
rick_hI still would see a use that is...ugh18:01
hatchrick_h: then that could be called an 'export'18:01
rick_hthen let's call it an export now and now confuse people :)18:02
gary_posterhatch, because that's not what Mark S wants.  to make this argument, put it in the doc.  Happily, Mark R has agreed to make the decision, because I did not want to.18:02
rick_hand environment export hehe18:02
hatchalright I'll add to the doc, thanks for the discussion to flesh out my idea :)18:03
bcsallerrick_h: it might be a subset of the environment and it might be added to an existing env on import. I think environment in those cases implies too much18:03
hatchdocument updated, feel free to tear me apart :P18:09
hatchnow I forget what I was doing prior to this vote18:11
hatchlol18:11
hatchoh now I remember18:14
hatchbcsaller: is your code 'stable' pending this test fix so I can start looking at integrating?18:14
robbiewgary_poster: nice work to you and your team on the new gui18:17
* hatch pats team on the back18:18
robbiew...and I should probably thank the designers...so a nod to them as well18:18
robbiewit's fucking awesome ;)18:18
hatchand it's only going to get better :)18:19
rick_hbcsaller: I guess technically we could do that but my understanding is that it's an all or nothing dump currently. True you can import into an existing environment, but again, it seems to match up more with backup/restore. 18:21
hatchrick_h: that name backs you into a corner18:21
hatchan 'export' is generic enough to work for anything18:21
hatcha name needs to be generic enough to not back you into a corner but specific enough to describe what it does18:22
rick_hhatch: but I don't mind. We've got something better coming along. It's a place holder and this way it's kept apart. but it's how I see it. Let the rest fall into place. 18:22
hatchI think we agree but are disagreeing on semantics :P18:24
hatch"my export name can beat up your export name"18:24
hatch:D18:24
gary_posterthanks robbiew :-)18:30
hatchdialog or dialogue ?18:34
benjiFor the LP project we used British English, I expect that is still the default.18:36
hatchdialogue it is18:38
hatchgrabbing lunch, ding if ya need me18:41
* Makyo lunch18:56
* bac seeks reviewers https://codereview.appspot.com/1052204319:37
hatchholy smotes19:38
hatchthat's a large diff19:38
hatchsmokes*19:38
hatchoh and yes bac I'll do it19:40
hatch:)19:40
bachatch: make sure you use the link i pasted not the other19:40
hatchyup used that one19:41
bachatch: ok.  i accidentally re-used a branch name and lbox tacked it on to a months old review19:41
hatchoh heh - yeah I've done that before19:41
hatchkind of a issue with bzr I suppose19:41
gary_posterjujugui could I have three volunteers to review the wireframes luca just sent out, before EoD today?  If I get more than three, bonus!  I want at least three, other than me.  orangesquad, if you have feedback, it would be appreciated as well, but please get it in today.19:43
baco/19:44
hatchI will19:44
hatchbut he didn't attach the wireframes19:44
hatchI replied to him to mention that :)19:44
bacif he's gone that's going to make it hard to get reviewed by eOd19:45
hatchlol19:45
hatchhopefully he gets his email on his phone and will realize eventually19:45
sinzuithank's gary_poster, I had not notices I had email19:47
gary_posterhatch, bac, I think it might have been ripped from the mailing list19:48
luca__Hi all, was my wireframe attached to my email?19:48
gary_posterluca__, it was19:48
gary_posternot your fault19:48
gary_posterI think the mailing list ripped it out19:48
gary_posterI can forward to people19:48
gary_postergo relax :-)19:48
gary_posterthank you!19:48
hatch:D19:48
luca__gary_poster: haha cheers :)19:48
luca__night!19:49
gary_posternight19:49
hatchnight19:49
gary_posterbac, you confirm that you did not receive it either?19:49
baci did not get an attachment19:49
gary_posterlol ghosttown19:49
gary_posterok forwarding to gui team and orange...19:49
hatchbcsaller: it was the lack of a flags object?19:50
bcsallerhatch: no, that was an issue in some tests, but I moved the event binding under that flag for the time being 19:50
hatchahh ok19:50
bcsallerand all was right in the world 19:51
abentleyorangesquad: Could you please review https://code.launchpad.net/~abentley/charmworld/remove-store-ingest-job/+merge/17116219:53
* sinzui looks19:53
sinzuiabentley, maybe after this we can talk about high bugs and clearing the queue during deployments19:54
abentleysinzui: sure.19:54
hatchbac: review done19:56
sinzuiabentley, r=me19:56
hatchbcsaller: reviewing19:56
bcsallerawesome19:56
abentleysinzui: Ready when you are.20:01
jcsackettjujugui/orangesquad: can i get 2 reviews on huw's design work for the sharing widget, please? https://codereview.appspot.com/1049504520:01
gary_posterjcsackett, I'll give you a code lgtm and you can count as the qa reviewer if you want20:03
gary_posteror do you want qa as well?20:03
jcsackettgary_poster: oh, i can do qa.20:04
gary_postercool, jcsackett. LGTM.  land it. you count--not your branch.20:04
gary_posterI mean...20:05
gary_postersigh...English20:05
jcsackettgary_poster: i follow. :-P20:05
gary_poster:-)20:05
hatchbcsaller: done20:05
bcsallerhatch: thanks20:05
bachatch: why should i check that we're logged in before logging out before testing that the unauthenticated check is done?  seems a bit redundant to me.  we're not testing the logout method.20:29
hatchbac: but you are - if the logout function isn't working you won't be able to test your code20:31
hatchso it's a safety assert to tell you, yes this test can fail20:31
bachatch: no, let's test logout somewhere else if it isn't tested.  but i'm not going to check every time i call it to ensure it worked.20:33
hatchallllllright20:34
baci mean, if i call logout and then assert that we're actually logged out, how can i be sure the assert wasn't broken???  :)20:35
hatchhah20:40
hatchgary_poster: a charm cannot specify options for a config correct? re luca's comment on the dropdown in settings20:40
gary_posteryes, a charm can hatch.  lemme make sure I am seeing what you mean...20:41
bacgary_poster: this new design by luca will require our auto-growing text entry boxes.  i hope he's ok with that.20:42
bacgary_poster: my bug requesting a new 'text' type in juju config was blown off and marked as 'opinion'20:42
gary_posterbac, I hope so too.   Might as well mention it.20:42
gary_poster:-/20:42
bacnot even wishlist !20:42
bac s/opinion/sod off/20:43
gary_poster:-/20:43
gary_posterhatch, what comment?20:43
gary_posterbac, what bug?20:43
hatchConfirm setting - can we do these as drop downs or do they have to be input fields20:44
hatchcan as a charm author I specify a list of options?20:44
gary_posteroic20:44
hatchI was sure it had to be a text input20:44
gary_posterno20:44
gary_posteryeah text fields you are rght hatch thanks20:44
hatchalright thanks for clearing that up - I'll add that to my review20:45
gary_posterhatch, which means checkboxes validating value are kinda funny20:45
hatchyup that was going in there too :)20:45
gary_posterempty string? looks ok!  random ascii? looks ok!  utf8? looks ok!20:45
hatchlol20:45
bacgary_poster: bug 117198020:46
_mup_Bug #1171980: Allow a 'text' configuration type <juju-core:Opinion> <https://launchpad.net/bugs/1171980>20:46
gary_posterack thanks bac20:46
bacyeah, those checkboxes are odd20:47
hatchI don't see how that's opinion20:47
hatchthat's clearly a valid feature request20:47
bachatch: and we've now spent more time discussing it than it would take to implement20:48
bacwell, almost20:48
hatchlol20:48
baci'll be happy to do it if it won't be rejected20:48
hatchit almost certainly would be lol20:49
* gary_poster has to go cook some fish. I'll try and do some reviews of bac and bcsaller's branches later, but maybe between you two and Makyo you can get those reviewed. I'll take myself off as a reviewer of bac's branch. looked good so far. :-)20:59
bacgary_poster: np21:00
hatchcould someone take a review of bcsaller's branch so I can merge it into mine? :)21:00
hatchCI is broken21:00
hatchI think it's a canonistack failure21:00
hatch "ProcessExecutionError"21:01
hatchluca is going to have a lot of text to read in the morning after we do these reviews :)21:02
* bac dogwalk. will try to do reviews later.21:04
hatchMakyo: do you have a card for that branch?21:14
Makyohatch, no, sorry.21:14
Makyohatch, It's in story1 review now21:14
hatchok cool21:15
hatchjust adding my name to the review tag21:15
bcsallerThanks for the review21:21
bcsallerhatch: that is merged now, are you ok to continue with it while I continue work on deployer exports?21:27
hatchyep it's going to be a touch more work than I thought but np I'll git-r-dun21:28
benjihatch: my branch is ready for review: https://codereview.appspot.com/10500044 (I, however am ready to go, so I'll read the amazing reviews tomorrow)21:36
hatchbenji: ok cool I'll get right on it21:37
hatchbcsaller: is the topology related to the app via views.environment.instance.topo ?22:15
hatchI can't remember if thats the proper chain22:15
hatchit's so deep it's like it's a Java object :P22:15
bcsallerhatch: that looks right, needing to extract it like that is usually a bad sign, when its the whole app we might promote it up and pass it into the view from app22:15
hatchyeah that's a good idea22:16
hatchok thanks22:16
hatchbecause the topology has no reference to the jujuapp instance right?22:16
hatch^ bcsaller22:16
bcsallerI think we've always said its bad policy to pass app down22:17
hatchyep just confirming22:17
bcsallertopology isn't however a singleton, something to keep in mind22:17
hatchthx22:17
hatchwe will have multiple topologies?22:18
bcsallerpicture drawing bundles in a selection 22:18
hatchalrighty22:20
hatchright now it's a singleton22:20
hatchbut I can see where it could be easily edited to not be22:20
hatchbenji: review done22:35
huwshimiMorning23:02
bcsallerhazmat: ping23:43

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