/srv/irclogs.ubuntu.com/2013/08/28/#juju-gui.txt

rick_hhatch: fyi https://codereview.appspot.com/1324204600:47
hatchrick_h: u rock00:47
hatchodly enough I didn't get an email about this00:48
rick_hyou probably did but at first it had no title since it was WIP00:48
rick_hthe update just came through hopefully00:48
rick_hok, I'm toast for the night. See you tomorrow. 00:50
hatchthanks! have a good night00:51
=== schwuk_away is now known as schwuk
TheMuefrankban: ping08:41
frankbanTheMue: pong08:50
TheMuefrankban: morning08:51
frankbanhi TheMue 08:51
TheMuefrankban: i'm currently working on https://bugs.launchpad.net/juju-core/+bug/119494508:51
_mup_Bug #1194945: juju set is overloaded <juju-core:In Progress by themue> <https://launchpad.net/bugs/1194945>08:51
TheMuefrankban: so on command line service options can be unset with "juju unset mysvc foo"08:52
TheMuefrankban: and an empty string is allowed for sting options "juju set mysvc foo="08:52
TheMuefrankban: this leads to internal changes08:53
TheMuefrankban: and in https://codereview.appspot.com/12867044/diff/5001/state/statecmd/config_test.go fwereade_ reminds me that it may influence the GUI08:53
frankbanTheMue: taking a look08:53
frankbanTheMue: so, with unset you restore a default value (as it is found in config.yaml). with set option="" you explicitly set an empty string, right?08:55
TheMuefrankban: with that change unsetting an option with passing an empty string won't work anymore08:55
TheMuefrankban: exactly08:55
TheMuefrankban: and if the option is int, float or bool this would return an error08:56
frankbanTheMue: how does this influence the behavior of the ServiceSet and ServiceUpdate API calls?08:57
TheMuefrankban: have to take a look08:58
TheMuefrankban: as far as i can see right now the setting mechanism works as before. only the implicit unsetting by setting the value of a setting (wow, how many settings ;) ) to "" won't work 09:04
TheMuefrankban: so the API may need a ServiceUnset too09:04
TheMuefrankban: does the GUI uses the setting to "" for unsetting to default? or does it "only" provides settings to new values?09:05
frankbanTheMue: maybe I am wrong, but doens't it already work passing nil values to ServiceSet? 09:06
TheMuefrankban: sadly not. it's a map[string]string, so "settings["foo"] = nil" is not possible, the value has to be a string.09:07
frankbanTheMue: OIC, and I double checked we effectively pass values as strings in the API call. From a quick look at the code, I believe we already have a problem with the config (I suspect we pass "null" or something like that when the stripped value is empty, I need to test this). anyway, I guess we will need a UX for differentiating between the "set to empty" and "restore the default" behaviors. and yes, we might want09:17
frankban to implement a ServiceUnset API eventually, (or, just a crazy idea, perhaps change the ServiceSet to be map[string]*string?).09:17
TheMuefrankban: here I would prefer the ServiceUnset, it would be more explicit09:18
frankbanTheMue: I'll discuss this with gary_poster when he becomes available, thank you for the heads up09:19
TheMuefrankban: how is setting to default handled from the users perspective? a button or flag? or the implicit knowledge that setting to an empty value unsets it?09:20
TheMuefrankban: you have to thank william ;)09:20
frankbanTheMue: AFAICT we just have input and check boxes. So I guess we don't have a story to restore boolean values to default, and for inputs/textareas we implicitly do that by setting an empty string (but I need to check). That's why I mentioned we need a UX story for the "restore defaults" semantic.09:23
TheMuefrankban: would be cool, indeed09:24
frankbanTheMue: ah! what happens when you unset the value? is it just deleted from the db or is the db field set to the charm default value?09:25
frankbanTheMue: I am asking because I am curious about what we can expect to receive back from the megawatcher when you unset a config field09:26
TheMuefrankban: how simple/complex is it to install the GUI on a local provider environment? i give a talk about juju end of October and would like to present the GUI there too.09:26
TheMuefrankban: unsetting deletes the setting09:27
frankbanTheMue: ok09:27
TheMuefrankban: will add this to the release notes today09:27
frankbanTheMue: the deploy story for the GUI is a juju charm, so it should be straightforward to deploy the GUI in a juju-core lxc env. However, never tried the local provider. If for some reason it does not work, then that's something we have to fix.09:28
TheMuefrankban: ok, will check it09:29
rick_hjujugui anyone around for a second JS review of https://codereview.appspot.com/13242046/ to unblock the IE release from hatch 11:21
rick_hfrankban: that branch up for review is the card in coding in bundles?11:23
frankbanrick_h: I can take a quick look before lunch if QA is not required11:24
frankbanrick_h: yes, I'll move it11:24
rick_hfrankban: hatch qa'd it already so I think it'd be safe to review sans-qa11:24
rick_hfrankban: cool, will review the charm one and qa it when I get back from dropping the boy off at day care. I should be able to qa it with -core in lxc right?11:25
frankbancool rick_h, never tried the local provider (I am usually on ec2), but it's worth trying11:25
rick_hfrankban: cool yea. <3'ing lxc provider for speed/testing11:26
rick_hfrankban: gary wants me to get up to speed on the charm so will be fun to poke at. 11:27
frankbanrick_h: cool11:27
frankbanrick_h: feel free to ping me if you need any help with the charm/guiserver code11:32
rick_hfrankban: will do, thanks. 11:32
frankbanrick_h: review done11:54
* frankban lunches11:54
gary_posterhey bac.  thank you for adding branch to bundle info.  were you planning on adding that to API as well?  I think it would be nice to have there.12:37
bacgood point gary_poster12:38
frankbangary_poster: do we have a story for restoring default config values from the GUI? TheMue reported that the juju-core internals are changing: an empty string no longer means "restore default"12:46
gary_posterThanks bac.  Another question for you.  In https://code.launchpad.net/~abentley/charms/bundles/wiki-bundle/bundle, we have three instances of the "bundle" string.  Am I right that we can at least get rid of the "-bundle" or is that important for preventing some kind of name conflict?12:47
bacgary_poster: that portion "wiki-bundle" is user-chosen12:47
bac s/wiki-bundle/gary/12:48
rick_hman, that N4 at $199 is screaming "take me to london"12:48
gary_posterfrankban, interesting.  Potentially connected to https://bugs.launchpad.net/juju-gui/+bug/1214087 (see comment 3) in terms of further complicating the picture.  Investigating.12:49
_mup_Bug #1214087: GUI fails to deploy keystone <juju-gui:New> <keystone (Juju Charms Collection):New> <https://launchpad.net/bugs/1214087>12:49
gary_posterbac, right, but "wiki-bundle" is a project name, right?12:49
gary_posterbac, so mediawiki would be a project12:49
gary_posterwhich could have bundles and charms?12:50
gary_posterthat seems fine to me, but I wanted to make sure that you all had not identified some concern for overlap12:50
bacgary_poster: that name is the "basket" name, the name of the deployer file.  it can contain multiple bundles12:51
gary_posterbac, yes, but doesn't that correspond to a project?  I mean...let me get a concrete example12:51
gary_posterbac, so given https://code.launchpad.net/~charmers/charms/precise/mediawiki/trunk12:53
gary_posterhuh...it is not listed in https://launchpad.net/charms/precise/+source/mediawiki12:54
gary_posteror https://launchpad.net/charms/+source/mediawiki12:54
gary_posterbut still it could be12:54
gary_poster"mediawiki" is a package12:54
gary_posterso12:54
gary_posterhttps://code.launchpad.net/~charmers/charms/bundles/mediawiki/bundle12:55
gary_posteris a bundle for the same "mediawiki" package12:55
gary_posterright?12:55
frankbangary_poster: maybe, even if that seems more related to a check in the Keystone charm. I don't think the new behavior is already merged. But with that landed, unsetting a config passing an empty string will no longer work, and if you do that with int/float or bool config options, an error will be returned12:56
rick_hbenji: rocks! http://askubuntu.com/questions/108689/how-can-i-get-tab-completion-with-juju-in-zsh12:56
benji:)12:56
rick_hbenji: I was thinking of writing one that parsed the results of `juju help commands`12:57
rick_hbenji: is there a good reason to not do that before I get started?12:57
rick_hooh, I'll have to MP that with switch added in12:58
gary_posterfrankban we have no GUI approach for resetting values to my knowledge.  That only happens in the ghost config controls.  I think we are ok for now, though we may well want an explicit way of controlling this in the future12:58
benjirick_h: that's what that script does12:58
benjisee http://bazaar.launchpad.net/~benji/+junk/zsh-juju-completion/view/head:/make-completion.py12:58
bacgary_poster: yes, if that is how the devop chooses to name the basket.  i hope this doesn't sound obtuse.  if so, maybe we should talk.12:58
benjiit was written against PyJuju though, so it could probably use some updating12:58
rick_hbenji: ah, I was thinking of the _arguments doing that in shell 12:58
rick_hbenji: gotcha, cool. Thanks. Most helpful.12:58
frankbangary_poster: sounds good12:59
gary_postercool thanks frankban12:59
gary_posterbac, but the two identical package names (for charm and bundle) should be considered to be related, yeah?12:59
gary_posterbac or do you consider the underlying LP concepts to be irrelevant?13:00
benjiif we are going to be doing much with the CLI, I'd like to generate shell completion in a way inspired by how bzr does it; i.e., there is a subcommand that returns an easily parsable description of all the commands, options, etc.13:00
rick_hbenji: ah, that's cool13:00
rick_hbenji: yea, need some zsh subcommand completion awesomeness in there13:00
rick_hbenji: completing service names to destroy and such would be awesome13:01
bacgary_poster: perhaps we can infer relevancy for the official/promulgated ones, if the ~charmers enforce a naming structure.  otherwise, it is user-provided naming and therefore i don't think relevant.13:01
benjiyep; I'm not sure how best to do it though, caching would seem manditory13:01
rick_hbenji: yea :/ though for a first pass can wait13:01
bacrick_h, benji: did you see allenap's shell script for autocompleting project names within a go environment?  it's pretty nice.13:02
sinzuigary_poster, bac, I see i walked into the middle of a conversation. charm/bundle/package names are arbitrary. Convention says they are related. They have changed and that caused confusion in the past13:03
benjibac: nope, I havn't.  Sounds cool.13:03
rick_hbac: I use a forked/butchered workon script from doug hellman https://github.com/mitechie/workit to project hop13:03
rick_hbac: sounds similar?13:04
gary_posterbac ok fair enough, thanks.  I'm writing a summary email of some of the stuff we discussed earlier this week, so I'm trying to get the details right.  In that vein, I'm almost done with the email, but I have one other related question.  In https://code.launchpad.net/~abentley/charms/bundles/wiki-bundle/bundle, the last "bundle" could be migrated to "trunk" trivially, once we are ready to go live with a new version o13:04
gary_posterf charmworld, right?13:04
gary_postersinzui, ack, thank you.13:04
sinzuiNovice users often try to version a package in the name and the same happened with charms. Charms don't accept charms with versions unless there are co-installable version.13:04
sinzuithat is a rare case13:04
abentleygary_poster: We're changing the name of bundle branches from "bundle"  to "trunk"?13:04
gary_posterabentley, I'm asking whether that would be trivial13:05
bacgary_poster: i think not.  (sinzui may correct.) but if it were 'trunk' it would look just like a charm.  using 'bundle' vs 'trunk' as the branch name is all that distinguishes them.13:05
gary_posternot the "bundles" series?13:05
abentleygary_poster: I think it would be trivial, for us, but it would require changes to the charm store, because it would then treat it as a charm.13:06
gary_posterabentley, ah!  got it.  thanks.13:06
gary_posterbtw, abentley, I much appreciate your participation, but I apologize for unintentionally pinging you with those urls13:06
abentleygary_poster: np.13:07
frankbangary_poster: re always using the go sandbox in the charm when sandbox==true, I suspect we would have backward compatibility problem, i.e. someone upgrading to the new charm without updating the GUI to the (not yet released) last version. I guess this would be a problem even if we just allow sanbox mode in a juju-core env. do we care about those cases? 13:10
sinzuibac, abentley gary_poster , trunk does conflict the store. The store will report an error, but wont break13:10
gary_postersinzui, right.  That adds detail to what abentley said but does not contradict it, right?13:11
sinzuiright13:11
gary_postercool thank you13:11
rick_hfrankban: I'm getting errors about no shelltoolbox when running the make command? It looks like it's using a venv, does it not install it in the venv?13:12
rick_hhmm, looks like it's not in pypi, so no python package available. 13:13
frankbanrick_h: it should, it is listed in the tests/requirements.pip file13:14
gary_postergotcha, frankban , your core situation is that I (a user) have an old GUI release with a new charm release, whatever the case.  Mm.  Thinking.13:14
rick_hfrankban: hmm, did a make clean and trying again. Will see what's up. 13:14
frankbanrick_h: try "make clean" and male13:14
frankbanmake even13:14
gary_poster:-)13:14
rick_hfrankban: oh, I'm missing something before it, a headers lib. http://paste.mitechie.com/show/1010/13:15
gary_poster(and this will be the case for anyone using the ~juju-gui charm until we make the upcoming release)13:15
frankbangary_poster: yes13:17
gary_posterthat's the only part that really bothers me :-P and we should have a release today13:17
frankbanrick_h: interesting, so something is missing that is required to build apt_pkg13:17
rick_hfrankban: yea, looking13:17
gary_posterhatch btw when you get in that's the third headline for this release: the sandbox mode now has a complete Juju-Core-based implementation, which is now the default13:18
frankbangary_poster: ok, I'll just make sure that the "go sandbox activated and used everywhere" lands after the new release13:18
gary_postercool thanks frankban. you agree with that?  I don't see a safe way to do anything else, really13:19
rick_hfrankban: looks like might be libapt-pgk-dev. Retrying now13:19
TheMuefrankban, gary_poster: the new behavior is already merged by accident. i'll now do a rollback. but we have then to find a good way for (a) setting string settings to empty strings and (b) unset settings13:19
frankbangary_poster: I agree with that, the only other solution would be activating features based on the gui version, but that's not simple to accomplish and probably not worth the effort13:21
gary_posterfrankban, exactly13:21
gary_posterTheMue, for (a) I'm guessing the commandline is the issue?  The API is straightforward AIUI: you send an empty string, and an empty string is stored.13:21
gary_posterIn the new change I mean13:21
rick_hgary_poster: so based on your email my plan was to start looking at adding api3, the feature flag, etc today? or should I grab another inspector bug before heading over there?13:23
TheMuegary_poster: yes, sending a string leads to this string stored in case of a string setting13:23
TheMuegary_poster: but there's no unsetting13:23
frankbanTheMue, gary_poster: AFAICT (b) requires a new API call or a change in the current config params (map[string]string -> map[string]*string)13:23
gary_posterTheMue, ok.  That seems good for us for now.  unsetting will be a new feature.  Agree with frankban.13:23
TheMuegary_poster: and this has been done by sending an empty string before13:23
gary_posterack13:24
rick_hfrankban: yep, so libapt-pkg-dev is a dep to run the make command. 13:24
gary_posterrick_h, let me see how we are doing on inspector.  IE put us behind, and getting the inspector done is what we should do first to get things out the door.13:24
rick_hgary_poster: rgr13:24
gary_posterrick_h, please grab an inspector one.  I'd rather have a chance to get one thing done and the other thing unstarted than be inprogress on two :-)13:25
rick_hgary_poster: k13:25
frankbanrick_h: yeah, it is already listed in the HACKING.md file indeed: sudo apt-get install build-essential bzr libapt-pkg-dev python-pip \13:25
frankban        python-virtualenv xvfb13:25
gary_posterrick_h, you good with that under circumstances?13:25
rick_hfrankban: ah, gotcha. Sorry, just went off the notes. I should have looked at it13:25
rick_hgary_poster: sure thing13:26
gary_postercool thanks13:26
frankbanrick_h: sorry, didn't remember that13:26
rick_hfrankban: all good, I'm used ot charmworld having the make sysdeps so it's still in make13:26
frankbanrick_h: so you run "sudo make sysdeps"? that seems a good idea13:27
rick_hfrankban: yea, it's still a manual listed step so we dont' have to wait for it to run apt on every make command though. So I'd still be 'duh, didn't see that'13:27
rick_hfrankban: but make <tab> shows the extra step 13:28
gary_posterfrankban, TheMue, from the GUI perspective, setting config values to their defaults is a non-issue.  We can do it now because we can get the charm, discover the default value, and explicitly tell Juju to use that.  We already have everything available to do that now, pretty trivially.  The CLI would need its own solution though, and that's where that API might come in handy.13:29
frankbanrick_h: yeah13:29
frankbangary_poster: agreed. from the GUI there is no difference in having the default value or no value stored in the juju-core db13:30
gary_posterright13:30
gary_posterfiled #1217884 fwiw13:31
_mup_Bug #1217884: Include a way to reset config values to their defaults <juju-gui:Triaged> <https://launchpad.net/bugs/1217884>13:31
gary_postertriaged low13:31
gary_posterif we get people asking for it we can reprioritize, or if someone wants to champion it on the team, cool13:31
gary_posterbac, looking at #1217884.  Out of curiosity, how much work does it look like it would take to get Safari working?  Do things mostly work, or...?13:33
_mup_Bug #1217884: Include a way to reset config values to their defaults <juju-gui:Triaged> <https://launchpad.net/bugs/1217884>13:33
gary_posterbac sorry I meant to paste #120240813:33
_mup_Bug #1202408: Left panel charm browser inter-cell scrolling in Safari <juju-gui:New> <https://launchpad.net/bugs/1202408>13:33
gary_posterThis morning is apparently Gary's time to bother Brad as many times as possible13:34
bacgary_poster: i do not see the visual effects reported in that bug with jujucharms.com13:35
rick_hfrankban: so when I enable the build in server I get that chrome websocket issue that came up in the call/fixed on the rapi side.13:36
gary_posterbac, oh! so, fix released?13:36
rick_hfrankban: so this is our tornado server now? It needs the same fix?13:36
bacgary_poster: so perhaps whatever styling issues were causing it have been resolved.13:36
gary_postercool.  bac, more generally, though, how far away are we from Safari working well?13:36
bacgary_poster: or invalid.  i don't think it was addressed directly just fixed as a by-product13:36
gary_posterok13:36
frankbanrick_h: yes, the browser now connects to tornado13:36
frankbanrick_h: what version of chrome?13:37
rick_hfrankban: ok, so I'm going to file that as a seperate bug, or find the old bug and tie to the charm13:37
rick_hfrankban: 3013:37
rick_hfrankban: 31 actually as of today13:37
rick_hfrankban: Error during WebSocket handshake: Sec-WebSocket-Protocol mismatch, the headers need to match from request to reply13:37
rick_hfrankban: I think rapi was dropping the header? I'll have to look at the diff hazmat did13:37
hazmatrick_h, yeah, chrome was setting the value to undefined, i just had it return13:38
TheMuegary_poster: thanks for the info, will discuss it with fwereade_ , currently rolling back my last CL13:38
hazmatnot unconditionally though13:38
bacgary_poster: i just poked around at it briefly and saw no issues13:38
rick_hfrankban: ^ 13:38
bacgary_poster: so perhaps we're really close.13:38
rick_hfrankban: so doesn't effect this branch, but heads up13:38
frankbanhazmat: so the server must include a Sec-WebSocket-Protocol=undefined header?13:39
rick_hfrankban: yes13:39
rick_hfrankban: so that they version headers match13:39
hazmatfrankban, the server must send back what the client sent, and optionally use it to inform codec selection if it matches something known.13:40
hazmatfrankban, fwiw upstream has change signficantly.. therve has done a lot refactoring on the twisted ws branch, though it appears to have stalled again13:40
hazmatfrankban, oh this is with tornado?13:40
* hazmat pokes at tornado src13:41
bacgary_poster: turning on the inspector i do see some icon placement issues13:41
hazmatfrankban, see select_subprotocol in tornado websocket.py13:42
hazmatprobably needs to be overridden13:42
sinzuiabentley, benji, do either of you have time to review https://code.launchpad.net/~sinzui/charmworld/search-featured/+merge/18250913:42
hazmatthis may just be a chrome beta/alpha bug as well13:42
hazmatconsidering it doesn't really care about the reply13:42
abentleysinzui: sure.13:42
frankbanhazmat: yeah13:42
bacgary_poster: and big problems with ff on os x13:43
frankbanhazmat: IIUC a "return subprotocols[0] if subprotocols else None" in select_subprotocol should do the trick13:45
frankbanrick_h: thanks for QAing, and great to know that the GUI charm works well on a juju-core lxc provider13:48
frankbanTheMue: ^^^^13:48
rick_hfrankban: yep, <3 the faster lxc local stuff. 13:48
frankbanTheMue: ^^^^ ;-)13:48
rick_hfrankban: though I need to look into juju ssh, it uses the current username for the ssh so I had to ssh manually ubuntu@xxxx13:48
TheMuefrankban: ah, great news13:49
TheMuefrankban: will be a nice show to demonstrate it13:49
frankbanrick_h: I'll start using it in place of ec2, do you have a ready-made local env conf?13:50
rick_hfrankban: heh yea,   local: type: local admin-secret: 2c6e61e81c9ad07af67f833129bef2d013:50
frankbancool, thank you13:50
rick_hfrankban: nice short, and using juju switch to avoid the -e go and such13:51
gary_posterbac, ok thank you for details.13:51
frankbanrick_h: I look forward to migrating the CI (and I guess jujucharms.com) and forget about multiple implementations ;-)13:52
abentleysinzui: At 310-311, do you really care about the order?  If not, you can use assertItemsEqual instead.13:54
frankbanguihelp, anyone available for a second review (no QA) of https://codereview.appspot.com/13340043 ? thanks!13:54
sinzuiabentley, indeed I don't care.13:55
abentleysinzui: r=me13:56
abentleybenji, bac, sinzui: Can we have a chat about migrations?13:57
benjisure13:57
* benji finds his camera.13:57
sinzuiabentley, +113:57
gary_posterhey benji, could you verify that https://bugs.launchpad.net/juju-gui/+bug/1202413 is still an issue?  I just tried it on saucy's FF 23 and it is OK13:58
_mup_Bug #1202413: Relation drag line persists after clicking <juju-gui:Triaged> <https://launchpad.net/bugs/1202413>13:58
gary_posterbenji I tried it on jujucharms and comingsoon13:58
abentleysinzui: guichat13:59
adeuringabentley: could you have a look at the changes in this branch lp:~adeuring/charmworld/spurious-failures ? I know that some stuff can be refactored -- my main point is so far to just reduce test failures... Comments should show why I made each change13:59
abentleyadeuring: On a call, but I can look after.13:59
* hatch crosses finger final qa doesn't break ;)14:02
* gary_poster crosses toes14:03
gary_postereasier to type but harder to walk14:03
hatchhaha14:03
rick_hhatch: stop poking the bear! :P 14:07
rick_hhatch: actually, it's good stuff. We've found some legit bugs along the way so appreciate the firm stabbing at things14:07
gary_posterdran straight!14:08
gary_posterdarn, even14:08
rick_hif we're down to the bugs darn near impossible to figure out, then must mean we're getting down to the last ones14:08
* rick_h can hope at least!14:08
MakyoLast bugs.  I like it.14:17
hatchhaha14:21
=== schwuk is now known as schwuk_away
hatch*sigh*14:29
rick_hhatch: guichat?14:30
hatchsure14:31
hatchbusy14:31
hatchgary_poster: I think we need to roll the core-backend debug change back14:38
hatchrick_h: is just testing core right now14:39
hatchbut the sandbox is definitely broken when creating relations14:39
gary_posterhatch ok.  you mean the default, right?14:39
hatchyep14:39
gary_posterhatch, ack.  +1 on doing that and getting this release out the door14:39
hatchugh lots of test failures when I switch back14:44
=== schwuk_away is now known as schwuk
hatchtrying now with only the config changed but the default still at go14:44
gary_posterhatch, look for that commit and try reverting the commit14:45
hatchgary_poster: if I set the default to 'go' and then set the configs to 'python' the tests all pass14:47
gary_posterhatch, heh ok14:48
gary_posterhatch, and it still works? :-P14:48
hatchit appears so :)14:48
hatchso looks like we won't be setting go as the default for now14:49
hatchnow when someone calls me on hangouts, my computer, tablet, cell phone all ring....it's a little much haha14:50
rick_hhah14:50
benjiThis is a public apology to bac for incorrectly correcting his use of "monotonically increasing"; he was right, I was wrong.  Let this be a less on to the rest of you... or something14:51
* rick_h bows before the great and powerful bac14:52
gary_posterhatch, ok.  that slows down other tasks--frankban has a branch that was going to switch that so we could move forward with bundles. but...frankban, eh, let's talk.  I think maybe we can still move forward.  It will just be a bit riskier. :-/14:52
gary_posterhe has a charm branch that was going to switch the sandbox there to use go, I mean14:52
rick_hgary_poster: yea, there's a real bug/issue with the ondelta model event that's either not calling or getting the right thing. 14:53
hatchgary_poster: I could take a 30min timebox to try and fix14:53
gary_posterluca__, do we have an agenda for webteam call?  we will see them in a week, and we potentially have some important things to talk about then, but if there's no topics immediately let's skip it (again)14:53
luca__gary_poster: I thought I cancelled it yesterday =O14:54
gary_posterluca__, oh cool.  Sorry, just my phone not catching up to the times then :-P sorry, thanks14:54
luca__gary_poster: no worries, how is everything?14:54
gary_posterhatch, yes, if you are up for it.  Maybe pair with Makyo, or me?14:55
hatchok gimme a few minutes to track it down14:55
gary_posterthanks hatch14:55
frankbangary_poster, hatch: so there is a problem in building relations in the go sandbox?14:56
gary_posterluca__, hectic.  post-vacation catch up combined with more re-prioritization discussions and discussions about Dustin's feedback :-)14:56
gary_posterluca__, looking forward to seeing juju.ubuntu.com 1.0 or whatever it is called Monday :-)14:57
hatchfrankban: yes models.js:975 calls the handler with the wrong information14:57
hatchcurrently looking into the fix14:57
luca__gary_poster: haha, hopefully it looks good :) I'll give you a sneak peak when it's in a better shape.14:57
frankbanhatch: thank you14:57
hatchfrankban: and it's all your fault :P14:57
gary_postercool luca__ :-)14:57
luca__gary_poster: would you like to catchup on anything tomorrow?14:57
frankbanhatch: that's surprising!14:58
hatchlol14:58
hatchso it appears that the delta that's coming back isn't including the endpoint data15:03
frankbanhatch: isn't that code used also for real environments? if so, why relations work in real envs?15:03
hatchfrankban: rick_h tried it in a real env and it didn't error15:04
hatchso possibly sandbox issue?15:04
rick_hhatch: but the service also didn't come up since it was in error15:04
frankbanhatch: more probably, yes15:04
hatchfrankban: here is the delta data https://gist.github.com/hatched/636708715:05
hatchwhich I'm certain is incorrect15:05
frankbanhatch: perhaps you can take examples of how the delta should be from the test_model_handlers.js file, starting from line 35115:07
hatchfrankban: thanks I'll check it out15:08
Makyojujugui units binding of service-overview viewlet does not work in FF against a real core env.  Any ideas?15:10
Makyo(in trunk)15:10
gary_posterMakyo, works in chrome?15:11
Makyogary_poster, I haven't checked yet, currently in the process of deploying the charm.15:11
gary_posterack, Makyo.  Worth a check; I'd assume it is browser agnostic, and a diff between our sandbox and the real world, but would be good to verify15:12
Makyogary_poster, yep.  Just can't test from local devel server in chrome.15:12
gary_posteroh :-/15:12
gary_posterk15:12
gary_posterMakyo, old pre-inspector interface works15:13
gary_poster?15:13
abentleybac: I'd like to re-enable test_ensures_category_questions.  Can you describe the spurious test failures that caused you to disable it in https://code.launchpad.net/~bac/charmworld/spurious-test-failures/+merge/181418 ?15:13
MakyoChecking.15:13
Makyogary_poster, yes.15:14
gary_posterk15:14
hatchfrankban: somewhere between sandbox.js:handleClientAddRelation and sandbox.js:receiveNow it loses the Endpoints object :/15:14
bacabentley: the test failed.  spuriously.  these failures are what prompted abel's investigation, that is on-going.  he did seem to correlate some failures with slower machines.15:15
abentleybac: Were there any particular error messages you got?15:15
bacabentley: i do not recall the exact error conditions for each failure15:15
bacabentley: i'd suggest talking with adeuring15:17
gary_posterMakyo, hatch is deep in release.  I have no further ideas without digging.  Would you like a pair with me or rick_h, or an initial timebox investigation?  The obvious thing to me is to suspect the deltas; dunno15:17
Makyogary_poster, I know where it's going wrong, if it is, will update once I can test from the charm15:18
gary_posterMakyo, cool ty15:18
abentleybac: Please report spurious failures more thoroughly.  Even a paste from the console would be very useful to me now.15:18
adeuring bac, abentley: as far as I understand the problem currently, it seems that ES is sometimes just a bit slow, especially when an index is created, deleted or when its mapping is changed. I have a branch that catches many errors.15:19
abentleyadeuring: I'm looking at that branch you asked me to earlier.  I assume it's the same?15:19
adeuringabentley: yes, that's the one I meant15:20
bacabentley: there were a set of about 6 tests that were failing in various combinations or not at all.  they were reproducible by sinzui and adeuring in trunk.  the failures were blocking the landing of other work.  the work to fix them was handed off to adeuring.15:21
adeuringwell, I got meanwhile errors/failures in many more tests....15:21
hatchwhen base.js fires a 'msg' event, can someone tell me what listens for that event?15:22
hatchgrep is failing me....15:22
bacabentley: in the future attaching a failure report to a bug referenced in an XXX when disabling the tests is a fine idea15:22
abentleybac: Thanks.15:22
adeuringsome problems still remain, but they look to me like real ES errors, like this one: sending faile15:23
adeuringd shard for [temp_index][3], node[gWVu1uWMSvegY4D7uW2c7g], [R], s[INITIALIZING], reason [F15:23
adeuringailed to start shard, message [RecoveryFailedException[[temp_index][3]: Recovery failed fr15:23
adeuringom [Ezekiel][6hy-kGs5Qwe5OSuRjxJrXw][inet[/192.168.2.30:9300]] into [Gregory Gideon][gWVu115:23
adeuringuWMSvegY4D7uW2c7g][inet[/192.168.2.209:9300]]]; nested: RemoteTransportException[[Ezekiel]15:23
adeuring[inet[/192.168.2.30:9300]][index/shard/recovery/startRecovery]]; nested: RecoveryEngineExc15:23
adeuringeption[[temp_index][3] Phase[2] Execution failed]; nested: RemoteTransportException[[Grego15:23
adeuringry Gideon][inet[/192.168.2.209:9300]][index/shard/recovery/prepareTranslog]]; nested: Engi15:23
adeuringneCreationFailureException[[temp_index][3] failed to create engine]; nested: LockObtainFai15:23
adeuringledException[Lock obtain timed out: NativeFSLock@/var/lib/elasticsearch/elasticsearch/node15:23
adeurings/0/indices/temp_index/3/index/write.lock]; ]]15:23
hatchignore me, I missed the defaultfn15:24
adeuringrestarting the ES server seems to help15:25
abentleyadeuring: Have you tried ElasticSearchClient.wait_for_startup rather than calling health directly?15:27
adeuringabentley: yes, the "yellow" status is quite often not enough.15:27
abentleyadeuring: Ah.15:27
* gary_poster laughs at still having "yellow" ping him15:27
adeuringabentley: and even the "green" status sometimes not suffient. but a refresh() call seems to help in this case15:28
MakyoUgh, I've made this change before, I know I have >:/15:29
abentleyadeuring: This makes me worry that the calls may not be fixing the problem, merely delaying execution, and coincidentally fixing the problem.15:30
abentleyMost of the time.15:30
rick_hMakyo: maybe made it in the python side and never got to the go side? Now with go default it's hitting again?15:30
adeuringabentley: that's possible. OTOH, it seems that ES responds for several requests before "the work is really finished", so waiting for a certain status may help indeed.15:32
Makyorick_h, it's go only; we're just not passing an argument (and if that argument's undefined, it exits).  I could've sworn I fixed this in the branch where I first added the unit list to the inspector.15:32
rick_hMakyo: ok, yea just tossing idea out there on 'what's changed recently' to trigger it15:32
adeuringabentley: and I don't see any better way to query the status of the ES server...15:32
abentleyadeuring: Yes, the health is reasonable, it's the refresh that I worry about.15:32
Makyorick_h, Yeah, now I'm confused too, because the code's there in trunk in the source, but not in the compressed prod file (at least, according to source maps)15:33
rick_hMakyo: orly, now that's interesting15:33
rick_hMakyo: cache? or build step issue for new js files ?15:34
adeuringabentley: well, the documenntation of refresh() says "making all operations performed since the last refresh available for search", so calling it should have some effects15:34
abentleyadeuring: Right, but if the only operation was creating the index, I would expect that health was the only thing I had to wait for.15:34
Makyorick_h, yeah, I'm not sure!  Poking around further.15:35
adeuringabentley: maybe I need to check where exactly I added refresh() calls, but right now I see just one after a run_migration() call. And that call could do more that just create/delete indexes. I would beed to check more closely though to be sure...15:36
abentleyadeuring: we'll be deleting those migrations anyway, so spurious test failures there don't matter.  The only migration code we're keeping is the bit where we ensure category questions.15:38
Makyorick_h, gary_poster - alright, I found it.  It's disappointing.  rick_h no clue why the sourcemaps are showing out-of-date code, maybe they weren't generated properly.  The issue at the heart of it, though, is that we're now getting units before services. When we get unit-adds, we try to update the list of units stored with the service, which doesn't exist yet.  That list is what's bound in the inspector.15:40
gary_posterMakyo, ah. :-/15:41
adeuringabentley: right, but I saw also errors in test_search.py, for example. And they were not related to migrations either...15:41
abentleyadeuring: Right, I15:41
adeuringso I think at least the changes I made to testing.__init__ are useful15:42
* gary_poster wants time for more reliable, non-canonistack testing against juju core.15:42
abentleyadeuring: Right, I'm talking about the tests of migrations, since that's what you mentioned.  I know that there are other tests that you updated.15:42
hatchtimebox is up and I have no idea what's going on15:42
gary_posterMakyo, I think we talked about this possibility way back when and had an idea of how to approach it.15:43
hatchsomewhere between receiving the delta and the onDelta call the endpoints get lost - but even the d3 stuff gets the proper data15:43
Makyogary_poster, Yeah, sort by delta type to maintain the hierarchy.  Investigating that now.15:44
gary_posterMakyo, cool thanks15:44
gary_posterhatch ok.  we have 16 min till call..15:44
gary_posterhatch, futz with it for 16 more min, hope for a miracle, and we'll figure out what to do after call?15:44
hatchsounds good15:45
gary_posterthanks15:45
abentleyadeuring: Maybe in temp_index_client, you can do client._client.health(client.index_name, wait_for_status='green') instead ofclient.wait_for_startup.  Then you won't need to do it at the bottom, so we avoid an unnecessary call. 15:46
gary_posterfrankban, LGTM with super trivial typo fix15:47
adeuringabentley: Right, might be worth a try15:48
frankbangary_poster: thank you15:48
abentleyadeuring: at charmworld/migrations/versions/tests/test_migrations.py:285, the refresh call should not be doing anything, because index_charm always does a refresh.15:48
Makyojujugui call in 10 kanban now15:50
rick_hjujugui small css review with qa please https://codereview.appspot.com/1334704315:50
adeuringabentley: really? With these spurious errors it is hard to be sure that a change really helped, but I am pretty sure that the added call made a difference. But that could be in indication that it's just the added minor delay that helped...15:51
abentleyadeuring: Would we save a lot of code by hardcoding wait_for_startup to "green"?  I only chose yellow because it seemed to work.15:51
adeuringabentley: sure, I intended at least to add something like "wait_for_green", but a change to wait_for_startup() would do it too15:52
abentleyadeuring: Really: search.py:284 sez "refresh=True".15:52
adeuringok...15:52
* adeuring becomes scared by ES15:52
gary_posterrick_h, nice approach to z-index.  We should doc somewhere.  We might forget, but a doc somewhere is better than nothing at all :-P15:53
rick_hgary_poster: rgr, will find a place to not it, maybe a giant comment in the top of stylesheets.less15:53
rick_hto note*15:53
gary_posterrick_h, maybe so, or in rest doc...downsides to both.15:54
gary_posterwhichever.  something is better than nothing. :-)15:54
rick_hgary_poster: yea, thought about rst docs but didn't see anything that fit and adding another doc was :/15:55
gary_posterunderstood.  at some point we should actually have a doc that talks about when to have a new less doc and so on, but doesn't need to be now15:55
gary_posterrick_h, gave you a non-qa LGTM, now you just need the real one ;-)15:56
rick_hgary_poster: :) thanks15:57
Makyojujugui call in 115:59
frankbanhazmat: when you have a chance, coul you please review https://code.launchpad.net/~frankban/juju-deployer/guiserver-changes/+merge/182369 ?16:15
hazmatfrankban, ack, in uds sessions atm16:15
frankbanhazmat: thanks, no rush16:15
=== TheRealMue is now known as TheMue
Makyojujugui https://codereview.appspot.com/13350043 fix for ordering deltas (for showing units in the inspector)16:38
bcsallerhatch: can I get 10 minutes before we pair on the other, I need coffee16:57
rick_hbcsaller: I'm going to grab food, let me know if the re-propose diffs better or else I'll go find the branch and pull it down16:57
Makyojujugui can I get at least one review on ^^^ - Doesn't need to land before the release, but does need to be a part of my branch, and I don't want to stack too deep.16:57
hatchbcsaller: sure thing16:58
rick_hMakyo: looking16:58
Makyorick_h, thanks.16:58
hatchFYI there is a big movement in the node.js communities to sharing templates between the server and client side - so this is a solved problem as long as python has the proper tools16:59
MakyoAt least, I don't think it needs to land before the release.  A fix in place would certainly be nice.16:59
rick_hhatch: yes, except the issue we've got is that there's a lot of JS in our Y.Views to take api data to the template that would have to be duped16:59
hatchrick_h: no, abstracted :)17:00
rick_hhatch: it's a rabbit hole. Two projects with different uses never will agree 100%17:00
=== schwuk is now known as schwuk_away
rick_hMakyo: replied17:01
hatchwell tbh in my mind I see them sharing very few templates as the GUI will no longer have a fullscreen view17:01
Makyorick_h, thanks.17:01
rick_hhatch: heh, the fullscreen is 90% sidebar with different max-widths :P17:02
hatchhaha well ok then they don't 'need' to be shared - they can be allowed to diverge because they are no longer one17:03
hatchbut honestly though we COULD render the gui under the fullscreen browser17:04
hatchwhich would allow us a quick initial load time AND the gui available17:04
hatchI just want one url for everything17:04
hatchwhich I think is what others also agree with17:04
bcsallerMakyo: are you sure the delta sorting reflects the real env? It looks like it could but we can't depend on it if its not the case17:05
Makyobcsaller, how do you mean?  The issue at hand is that we can't add units to service.units if service doesn't exist in the db yet.17:06
bcsallerI get that, I just want to be that it doesn't reflect a real difference in the way sandbox does deltas vs the live env17:07
Makyobcsaller, it does, as of at least juju-core 1.13.2.  The only difference I see, however, is in the order of the deltas, and this would normalize in both cases.17:08
bcsallerMakyo: sounds good, thanks17:09
MakyoStill miffed about the no newlines in debug-log, though.  Impossible to see in there.17:09
hatchbcsaller: 10mins have passed :P17:13
rick_hMakyo: yea, that's annoying as can be17:14
bcsallerhatch: yeah, I stiill owe rick a review on his branch, trying to get through that now and then I'll ping you17:14
hatch:D sure np17:14
Makyorick_h or bcsaller can you re ±1 https://codereview.appspot.com/13350043?  Modified slightly so that we don't do arithmetic on 'undefined'.17:21
bcsallerMakyo: done17:24
Makyobcsaller, thanks17:25
Makyojujugui (notably hatch) alright if I land this branch, or want to wait for after release?17:26
hatchMakyo: land it - if it turns out we can't quickly fix this go issue then it won't be touched anyways17:27
Makyohatch, cool, thanks.17:27
bcsallerhatch: ready when you are17:33
hatchlets do it!17:33
sinzuiI can tell this is going to be a good 5 hours of coding, Sweet Transvestite from The Rocky Horror Picture Show starts my coding session17:55
abentleyI see you shiver with annntici....17:56
sinzuipation17:56
abentleyOh, that's right.  You used to always have the currently playing track in your bzr commit messages.17:57
gary_posterhatch, I figure you are hacking.  ping me when you want to talk.  don't want to get in your way18:00
hatchgary_poster: now is fine18:00
hatchbcsaller: is just trying some things18:00
gary_postercool hatch joining18:00
hatchbcsaller: guichat?18:10
bcsallerhatch: one sec, finishing a test18:10
bcsallerhatch: ok18:12
hatchgary_poster: do you know what your power adapter is called?18:12
gary_posterlooking18:12
gary_posterhatch http://www.amazon.com/gp/product/B003UHYDYO18:13
hatchMakyo: can you join us in guichat?18:16
hatchgary_poster: after some more research we think we can pop out a fix in ~1H18:22
gary_posterhatch great! thank you!18:30
gary_posterand thanks bcsaller and Makyo 18:30
MakyoJust upgraded a real service from the gui, woo.  Good to see this stuff actually working.18:34
hatchboo yeah! Fixed18:35
bcsallerhatch: oh, you got it, great18:49
hatchyeah but for some reason the relation id is 'undefined undefined'18:49
hatchso trying to track that down...18:50
bcsallerit was called Key and is the above whitelist, you can turn that into a function if you need some more complex mapping18:50
hatchahh thanks18:51
hatchany idea if the interface is on the endpoint?18:51
hatchI can't seem to find two services that supply one haha18:51
bcsallerhatch: I think that is name18:57
bcsallersorry, was making more coffee18:57
hatchbcsaller: guichat?18:58
bcsallerrick_h: don't know if you saw, the CR didn't improve but I noted how to generate the diff, if you really can't review it at this point I can try deleting the MP and creating a new branch, but let me know18:59
bcsallerhatch: I'm there18:59
rick_hbcsaller: no, completely missed it and forgot about it. Sorry18:59
bcsallerrick_h: understood :)19:00
* rick_h kills offlineimap and goes to look at what's up19:00
rick_hholy moley!19:01
rick_hoh, that's trunk...ugh19:02
sinzuiabentley, rick_h: My mind is boggling at a test failure. Before I change routing, I am adding tests for the similar routes. The json route tests always fail because there is not content-type (this is an implicit test in the test helper). While I can see the json view helper thinks it is adding content-type, I think it os borked. Can you confirm that http://staging.jujucharms.com/~gnuoy/precise/apache2-1/json doesn't have a con19:16
sinzuitent type?19:16
rick_hsinzui: don't see content-type headers19:17
abentleysinzui: Confirmed.19:17
sinzuiWill the gui hate me if I ensure content-type is application/json19:17
rick_hsinzui: no, but 'just hitting' a url will hat eyou19:19
rick_he.g. I can just pop an api url into my browser and see the json like I'm doing right now to look at gary_poster's bug request question19:19
rick_hsinzui: or do you mean only ensuring it's in the response?19:20
sinzuilooks like webob.Response(json, content_type=u"application/json") doen't add the header19:20
rick_hsinzui: no, three's a headers thing to change19:21
rick_hsinzui: see the OPTIONS request stuff19:21
rick_hsinzui: I think it's request.response.headers?19:21
sinzuirick_h, we are passing headers as headerlist=[...] adding Content-Type fixes the response, but will that break the gui?19:22
rick_hsinzui: We can double check, but I don't think adding a content-type of json in the response will cause us any issues19:23
sinzuioh, are we still using /json? That is the old API point.19:23
sinzuiWell people in the wild probably are19:24
rick_hsinzui: oh, that's the old old stuff. /me missed that19:24
sinzuioh, looks like headerlist is mutually exclusive to adding headers as separate args.19:27
rick_hbcsaller: I was having a hard time without hte rest of the file for context. Re-sub'd it as WIP just ot look at it https://codereview.appspot.com/1336104319:32
bcsallerrick_h: oh, thank you19:34
rick_hbcsaller: is there no way to share this code between service.js and bundle.js?19:42
bcsallerrick_h: there should be, yes, sorry, still on a call19:44
rick_hbcsaller: k, np. 19:45
bcsallerrick_h: I didn't have any UX when I stared so I just took what I could to move on, but a base mixin makes sense 19:45
rick_hbcsaller: ok, well looked it over put notes in https://codereview.appspot.com/13361043/ but not comfy landing so much code dupe19:48
bcsallerrick_h: thanks, thats fine feedback and shouldn't be that long to fix19:48
rick_hbcsaller: cool19:48
hatchgary_poster: can you pop into guichat?19:57
gary_posterok hatch19:57
* Makyo -> vet20:09
hatchgary_poster: https://bugs.launchpad.net/juju-gui/+bug/1218061 for your email20:21
_mup_Bug #1218061: Duplicate relations created when using the go sandbox <juju-gui:Triaged> <https://launchpad.net/bugs/1218061>20:21
gary_posterhatch, heh, thanks20:22
abentleyorangesquad, bac or benji: Could you please review https://code.launchpad.net/~abentley/charmworld/remove-migrations/+merge/182756 ?20:32
* sinzui looks20:33
bacabentley: sure20:33
abentleybac: Thanks.20:33
bacthanks abentley, looks good20:41
abentleybac: Thanks for the reminder about docs.  I'll do that.20:41
hatchare there any plans to collapse the charms in the sidebar to a single one with a dropdown to select the series?20:48
hatchor even to only display the series which applies to the current env?20:48
rick_hhatch: when doing a search?20:49
rick_hhatch: that's part of what needs to be figured out in jcsackett's work20:49
hatchyeah there are 4 ceph-osd's one for each series20:49
hatchprobably woudln't be clear for a n00b what the difference is20:50
rick_hhatch: yea, that's what we want to put in front of UX. There was talk of showing series info on the charm token, etc at one point20:51
hatchI'd vote for a dropdown in the charm details20:51
hatchbuuut maybe ceph-osd is a odd one out having so many different versions20:51
gary_posterrick_h, you filed a bug or sent an email or anything?  if not, do you want me to?20:54
abentleybac: Docs updated: https://code.launchpad.net/~abentley/charmworld/remove-migrations/+merge/18275620:55
bacabentley: looks good20:57
rick_hgary_poster: on?20:58
gary_poster<rick_h> hatch: yea, that's what we want to put in front of UX. There was talk of showing series info on the charm token, etc at one point20:58
rick_hgary_poster: this is tied to the 'all category' bug and the UX improvements requested there that jcsackett is working on. 20:59
rick_hgary_poster: the goal is to kill the filters, group into two parts, and then show UX to get suggestions on where they want to clean up the issues remaining20:59
rick_hgary_poster: so not a bug on it, and it's been hashed over in calls/etc in the past.20:59
gary_posterrick_h, oh...it seems only tangentially related, but as long as it is coming up with them I guess that is AOK20:59
gary_posterthan kyou21:00
hatchjujugui looking for a QA/review on https://codereview.appspot.com/13366043/ for release21:06
MakyoOn it21:06
hatchthanks21:06
gary_posterhatch, gave you LGTM without qa21:07
hatchOOooo riskay!21:07
gary_posterheh21:09
Makyohatch, lgtm21:16
hatchthanks!21:16
hatchgary_poster: https://gist.github.com/hatched/fb98cc122380e74a0ad2 version notes21:36
gary_posterhatch for line 2, "almost finished"? :-)  or "significant progress on"21:38
gary_posterfor line 5, past tense for consistency ("Fixed")21:38
gary_posterfor line 10, "user"?21:38
gary_posterMaybe move lines 6 and 7 to the top, since they are the headliners?21:39
gary_posteror do none of that. :-) It's good, thank you!21:39
gary_posterhatch ^^21:39
hatchall done!21:39
hatch:)21:39
hatchthanks21:39
* gary_poster steps away. thank you all, and see ya tomorry21:41
hatchcya!21:43
* hatch wonders what LP does when making a release that takes 10+min22:08
hatchsurely LP has to be more powerful than my mini running two VM's :D22:09
hatchjujugui 0.9.0 has been released!22:14
bcsallerwoot22:14
hazmatnice22:47
huwshimiMorning23:08
hatchhi huwshimi how's it going?23:12
huwshimihatch: Good thanks, yourself?23:13
hatchgood good23:13
hatchhuwshimi: so are you still on GUI stuff or on to other things?23:51
huwshimihatch: Working on charmworld at the moment23:54
hatchahh cool cool23:55

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