/srv/irclogs.ubuntu.com/2014/03/28/#juju-gui.txt

hatchrick_h_ curious, did you ever create that upstream bug for the kernel?00:07
rick_h_hatch: no, honestly it's like 10th on my list of stuff atm00:08
hatch:-) no problem just didn't see a link so was going to track it if it was00:08
rick_h_though did make my appt to get my snow tires off and get some new tires on the summre wheels :)00:08
hatchooooo nice :) I gota do the same00:08
hatchmaybe this weekend00:08
hatchI swap them myself....unfortunately 00:09
rick_h_hatch: heh, I'm sitting here trying to get a local env to bootstrap to test out working with local charms00:09
rick_h_hatch: yea, I don't have storage space and such so I use their valet service00:09
hatchyou've seen the emails from hazmat and I/00:09
rick_h_they store them and just swap them off since their diff wheel sizes00:09
rick_h_hatch: yea, I want to verify what you CAN do 00:09
rick_h_hatch: I want to deploy a local charm, see if we can deploy another instance with a new name via cli00:09
rick_h_if we can, the code is there, it's wiring it00:09
rick_h_kapil's email seemed to focus on deploying a local charm that's not yet uploaded00:10
rick_h_but there's note on the auto incrementing revision00:10
hatchI couldn't figure out a syntax to deploy a local charm via the CLI but I'm hoping I was wrong00:10
hatchthat's the biggest limitation atm00:10
rick_h_hatch: yea, maybe it's not there. 00:10
rick_h_I'll bug someone on -core maybe00:10
hatchI learnt something about python today which I felt was a little dumb....you can call functions without () so it looks like a property but it's actually a function00:11
rick_h_ right00:11
rick_h_call help on it that way00:12
hatchit's a little cool....but not good for discoverability imho00:12
rick_h_help(str.something)00:12
rick_h_well you'll notice the type 00:12
rick_h_I mean it's the same in JS00:12
hatchright but when you're reading the code of some passed in value you just assume it's a property00:12
rick_h_functions are objects00:12
rick_h_ah, heh that's functional for you :)00:12
rick_h_but again, same as JS. pass in a callback/etc00:13
hatchcharm.charm_url <---- this is actually a function....but charm._charm_url is a property00:13
hatchso unless you're familiar with the code base, you don't know that00:13
rick_h_yea, that's a bit of bad form as methods should be named something methody, get_charm_url00:14
hatchI came across it in a log `log.debug("xxx %s", charm.charm_url)00:14
hatchand it was throwing an error00:14
hatchso it caught me off guard that a fn was being called00:15
rick_h_heh00:15
rick_h_yea00:15
rick_h_bah, lxc env is broken again it seems00:16
hatchbut I suppose you're right, callbacks and the like in js are similar00:16
hatchthey just release 17.700:16
rick_h_yea, but not in trusty atm00:16
hatchmaybe it's fixed in there?00:16
hatchohh00:16
rick_h_it'll take time, but yea, we'll see. 00:16
rick_h_my envs are a mess00:16
hatchhaha00:16
rick_h_I've had so many broken envs that I think my configs/existing envs are in trouble00:17
rick_h_working on my desktop, yay for more than one machine lol00:17
hatchhaha 00:17
hatchwell even though my task was not completed/possible I learnt a lot of pythony bits so I'm considering this a success :)00:18
rick_h_heh cool00:18
rick_h_hatch: so I can do this00:23
rick_h_ah bah nvm00:24
hatch:-)00:25
rick_h_yea, make sure to cd before you think it did work lol00:25
rick_h_well, add it to the GUI feature work list we want to do00:25
* rick_h_ grumbled he could have sworn being told it was possible00:26
hatchit IS possible if the charms are on the users file system00:28
hatchthen the deployer can deploy from the local file system00:28
rick_h_ok, good to know. I'll have to work on some wording and emails tomorrow00:30
hatchyeah - it's unfortunately a ton of work to do what we want to do00:33
rick_h_I don't know it's more than stuff like local charm support to begin with :) 00:35
rick_h_but it's another feature00:35
hatchyeah - I'm wondering if we 'need' this feature00:37
hatchit's a pretty rare usecase which will be handled by ___00:37
hatchso....maybe the best reply would be how to do it via the CLI00:38
hatchit's not ideal but 'should' work00:38
hatch(we should probably test it first)00:38
rick_h_hatch: yea, pretty much. 00:39
hatchwould you like me to look into that in the AM or are you trying that now?00:40
hatchthe CLI only approach00:40
rick_h_no, I think we'll put this away and write up a nice "here's the temp path" email00:40
hatchok I'll slide the card into daily00:42
* hatch flicks the no-more-work-today switch00:50
hatchevening kadams54 02:24
kadams54evening02:24
rick_h_it's EOD, go to bed you guys :P02:24
hatchrick_h_ lol I've been debuggin a python script!02:25
hatchhttps://github.com/SublimeText/Origami/issues/5902:25
hatchI want vim style PANE management02:25
hatch:P02:25
hatchalso did this https://plus.google.com/118445028821328031751/posts/PLZrunniCC402:30
kadams54Heh02:33
kadams54rick_h_: your evil plans for state refactoring have run afoul of YUI. We'll have to talk more tomorrow :-)02:34
hatchlol02:36
hatchkadams54 are you going to push the state into a state array so that state[state.length-1] is the current state and state[state.lenth-2] was the previous state?02:37
hatchthat's one approach I was thinking of02:37
hatchkind of a persistent data store style02:37
kadams54Haven't gotten that far yet02:37
kadams54Right now I'm just trying to hide current and previous state objects behind the API02:37
kadams54So that clients of state don't know or care about how they're implemented02:38
kadams54http://pastie.org/private/mbzgddvoyee0svattwa02:39
kadams54Calling set() would set the field in the current state, and setPrevious() would set the field in the previous state.02:39
kadams54But YUI tries to call set('destroyed') as part of destroy()02:40
hatchI think usually the states are set as complex objects02:40
hatchohh yeah you're overloading set02:40
kadams54Yeah02:40
hatchcan't do that02:40
kadams54Not really overloading02:40
kadams54So much as colliding :-)02:40
kadams54Or smashing02:40
hatchnot on a Y.Base derived class (which is, like, all of them :) )02:40
kadams54So we'll need to figure out new names02:41
hatchhaha yeah02:41
hatchstate.save({...})02:41
kadams54It's not really a save02:42
kadams54You're updating one field within the state object02:42
kadams54update() already exists02:42
hatchwell...02:42
kadams54State objects are really simple right now - they're basically just (to use the python term) dictionaries…02:42
hatchsave could push the current state into previous, then merge this object over the old one to create the new state02:43
kadams54      this._previous = {02:43
kadams54        charmID: null,02:43
kadams54        querystring: null,02:43
kadams54        hash: null,02:43
kadams54        search: null,02:43
kadams54        viewmode: null02:43
kadams54      };02:43
kadams54So if you want to update 'charmID' in the this._current state object, you'd call state.set('charmID', 'foo')02:43
hatchso instead of needing to 'set' you would state.save({charmID: 1234})02:43
kadams54Yeah…02:44
hatchand it would merge the two, giving you the value you need02:44
kadams54save has conntations for me02:44
kadams54It implies a wholesale change of the object02:44
hatchsave or me means "update and dispatch"02:44
kadams54Thinking about the way the mongo API uses it02:44
kadams54I'd rather do something like "patch" or "update"02:44
hatchso update would also dispatch?02:44
kadams54and then figure out a better name for the update method02:45
kadams54Not sure what you mean by dispatch02:45
hatchafter updating the state 'something' needs to dispatch the changes to update the DOM02:45
hatchelse you're just changing a object02:45
kadams54Or you're "just" changing a object02:46
kadams54So that it's in the proper state for when a 'navigateView' event fires02:46
kadams54And then it can generate the right URL02:46
kadams54Which results in the proper parts of the DOM being updated02:46
kadams54So nothing is necessarily being dispatched when the various state bits are being updated02:46
hatchohh ok I was thinking of ditching the navigate view business and having state fire a 'dispatch' event which could the trigger the changes on all the listeners02:47
hatchbecause some changes aren't going to be routable02:47
hatchlike showing the ghost inspector for example02:47
* kadams54 sticks fingers in ears and says "la la la"02:48
kadams54That's not my concern at the moment :-)02:48
hatchhaha - I have a problem with thinking too far ahead 02:49
hatchanyways in YUI there is a convention for providing a single and multiple setter methods02:50
kadams54I'm pretty sure rick_h_ explained how non-routable changes were handled, but I forget what he told me02:50
kadams54I remember "non-navigable" or something similar being written on the whiteboard02:50
hatchsetStyle('foo', 'bar') vs setStyles({...}) you may want to do something similar02:50
hatchsetState() setStates()02:51
kadams54Yeah02:51
kadams54That would be nice02:51
kadams54Although state.setStates() is a bit awkward02:51
kadams54We really need a better name for the bits that make up a state02:52
hatchhow do you mean?02:52
hatchif you think of each view as having a 'state' it makes sense02:52
kadams54It reads as redundant to me02:52
hatchso State is a state manager02:52
hatchin a sense02:52
kadams54Yeah, it really is02:52
kadams54And was called that at one point02:52
kadams54But browser.state is shorter that browser.stateManager02:53
hatchmeh02:53
hatch:)02:53
kadams54The python developer in me wanted to make it browser.sm02:53
hatchyou should write go02:53
hatchthen it could be b.am02:53
hatchlol02:53
kadams54lol02:53
hatchwe're gona be stuck with this api for a while so might as well do it 'right' :)02:54
kadams54There's a convention in SQLAlchemy to have your model's manager object accessible from an m attribute, so Foobar.m.find(...)02:54
hatchwhatever that means in this sense haha02:54
kadams54Yeah02:54
kadams54I think we'll get there…02:54
kadams54rick_h_ and I were talking about how you have to balance small, bite-sized tasks with big picture thinking02:55
hatchyup02:56
kadams54There needs to be a sense of where things are going (thinking ahead) so that your code is well-ordered02:56
kadams54But at some point you have to zoom in again in order to start getting stuff done02:56
hatchsetState and setStates could fire a 'stateUpdated' method on the stateManager which view/viewManagers could listen for and react to02:56
hatchthat's probably the cleanest approach and provides a ton of flexibility 02:57
hatchI'm not sure how to distinguish between routable and non-routable state changes02:57
kadams54Yeah, there's one "clean up these views" method in browser.js that needs to be called after the update()02:58
hatchbut that's probably for another day )02:58
hatchyeah I don't like that02:58
hatchwell....not that I don't like it02:58
hatchI'd prefer a more detached approach02:58
kadams54Right now we just explicitly call it, e.g:02:58
kadams54this.state.update()02:58
kadams54this._cleanOldViews()02:58
kadams54But we've talked about that needing to switch to an event-based approach on down the road02:58
hatchyeah it would be nice if the state module was a self contained ball which you pushed things into and it told it's listeners when something interesting happened02:59
kadams54We've also talked about events in the other direction02:59
kadams54That State would subscribe to other events02:59
kadams54And then know when it needs to update or save based on those events02:59
kadams54Then you wouldn't need to call update() or save() explicitly anywhere02:59
hatchhmm that feels like an inversion of responsibility on the face of it...03:00
hatchYUI's event system would allow it03:02
hatchbut my head is stuck on a stateManager being a database of sorts03:02
hatchstateManager.listenFor('inspector:showUnit'); // pseudo code03:03
hatchnah that's from outside03:03
hatchit would have to be03:03
hatchthis.listenFor('inspector:showUnit')03:04
hatchwhich means the stateManager would have to be updated whenever we added a new interaction to the app.....03:04
hatchsorry I'm just thinking about this outloud03:04
hatch:)03:04
kadams54np03:35
kadams54Sometimes you just need a sounding board03:36
kadams54Though I'm heading to bed now :-)03:36
* frankban lunches13:14
frankbanrick_h_: morning, can we have a call when you have a minute?13:53
rick_h_frankban: sure thing13:54
rick_h_frankban: https://plus.google.com/hangouts/_/7ecpjl135481h8o5058gu7643s13:55
hatchrick_h_ when you're done with frankban I need some guidance on the card I should be working on - I think all the Ready To Code's are blocked14:06
rick_h_hatch: k, shoot me a url please14:06
hatchjust reuse ^ one14:07
hatch:) they stay active for a bit...not sure how long without anyone in them 14:07
frankbanrick_h_: cards created14:10
rick_h_frankban: thank you much14:14
hatchlol14:16
* hatch waves 14:16
rick_h_oops14:16
rick_h_sorry about that, on the mac and bad tap on the trackpad14:16
hatchyeah it happens14:16
hatchapparently the new air's will not have a clicky trackpad14:16
rick_h_anyway, does that help then?14:16
hatchI think that's a horrible idea14:16
hatchyup14:16
hatchthx14:17
hatchI'll create a card14:17
rick_h_lol cool14:17
MakyoWhew, plumber has plans that don't involve digging up the foundation.14:23
rick_h_Makyo: always a good thing :)14:23
hatchyay14:23
hatchI had an issue like that - the pipe between the floor (our water comes in in the basement floor) and the shut off was leaking but the pipe was so short I thought they may need to smash up the floor14:24
MakyoYeah.  Ours is this polybutylene piping that's not been used in years for good reason.  No clue where the fracture is, but at least there's a fix.14:40
hatchyeah smashing concrete is not cheap - or fun if you're doing it yourself :)14:40
rick_h_yea, had to do that when our sump died14:42
rick_h_we had some funky non hole in the ground sump setup with a pump/piping through the floor14:43
hatchuh oh....jumpy d3's14:43
rick_h_they had to bang out the floor to put in a more usualy sump14:43
hatchwhen I did my basement bathroom I had to smash in a shower drain....and carry out all the broken concrete14:44
Makyohatch, QA on my branch, or trunk?14:45
Makyohatch, also, what do you think about my assets vs utils comment14:45
Makyo?14:45
hatchI don't feel very strongly about it14:46
Makyooh, there are the replies, nevermind14:46
hatch:)14:46
hatch:-)14:47
Makyojujugui call in 1014:50
rick_h_jujugui call in 10, kanban please14:50
rick_h_curses14:50
MakyoHah!14:51
Makyojujugui call now ish15:00
frankbanMakyo: branch?15:10
Makyofrankban, https://github.com/juju/juju-gui/pull/20815:10
hatchso that hangout used up 66% of my battery lol15:45
hatchwow15:46
rick_h_hatch: yea, killed me here about 50%15:46
rick_h_multi HD video is hard, let's go shopping15:46
hatchyeah there is a bandwidth scaler but there should really be a quality one too15:46
hatchunless the CPU load doesn't change much15:47
rick_h_video card load15:47
hatchyeah and I have the discrete card too so that can't be easy on the battery15:49
hatchthis 'moom' looks like it has a nice featureset15:49
hatchwas kind of hoping for keyboard available scaling though15:50
hatchlike window resizing in vim15:50
hatchpane resizing15:50
kadams54If only Mac had vim16:01
kadams54;-)16:01
hatchhaha - I was looking for one for Sublime, I found it but there is a pretty big bug in it16:04
hatchhttps://github.com/SublimeText/Origami/issues/5916:06
kadams54Which reminds me… time to give Atom a whirl16:07
hatchI've seen reviews that it's slower than sublime, it kind of lags, but it is still alpha.....after 6 years16:08
hatchlol16:08
hatchrick_h_ posted a good link about vim to G+ which makes an excellent case for 'modes' - too bad vim is so non-user friendly to set up and get started with16:25
hatchit has the core - someone just needs to write a good UI for it16:26
rick_h_yea, learning curve required16:26
hatchwell even after the learning curve it's not very user friendly16:26
hatchpackage management, trying to find keybindings, etc etc etc16:26
hatchI think gvim was maybe trying to do that but didn't go far enough16:27
rick_h_part of the learning curve :)16:27
hatchlol16:27
rick_h_and the board fills back up wheee16:34
rick_h_here comes round 3!16:35
hatchany idea how we are doing on estimation vs completion?16:35
rick_h_hatch: we're doing really well16:35
hatchnoice16:35
rick_h_hatch: so first cycle the math says 2 points per day per dev we did 79/86 points. This time we did 102/10016:36
rick_h_so the team is rocking it16:36
hatchthose both include cards w/o counts too right?16:36
kadams54guihelp PR for State API cleanup has landed: https://github.com/juju/juju-gui/pull/20916:37
hatchkadams54 on it16:37
rick_h_hatch: no, that's just cards with counts. That includes the unsched tag which I get points to16:37
kadams54hatch: thanks!16:37
rick_h_so it's scheduled and unscheduled work, but not counting cards like "do release"16:37
hatchrick_h_ ahh cool16:37
hatchawesome16:37
rick_h_so first cycle we did 20 points of unsched work, 12 this cycle16:37
hatchsounds like we are right where we need to be16:37
rick_h_but those go into the 79/102 completion numbers16:37
rick_h_hatch: yea, definitely all good and great work from the team16:38
kadams54hatch: on vim, use janus: https://github.com/carlhuda/janus16:38
rick_h_I'm completely happy to put all this down for mramm16:38
kadams54Janus is the Ubuntu of vim - lets you get up and running with a good set of plugins and config16:38
rick_h_except don't, I'll argue with kadams54 about it over lunch now16:38
rick_h_speaking of which, afk for lunch biab16:39
kadams54rick_h_is crazy, but I guess we have a lunch conversation topic :-)16:39
hatchlol!16:39
hatchkadams54 I'll look at this janus at lunch later thx16:39
=== hatch__ is now known as hatch
hatchoo this Amethyst pane manager looks really nice rick_h_  17:12
hatchhmm saving the db is not going to work17:16
hatchdeltas or commands might be the best way17:16
hatchwell it would work17:17
hatchbut it's a lot of work17:17
hatchehhhh maybe17:19
hatchhttps://twitter.com/FromAnEgg/status/449598755239497728 anyone?17:29
rick_h_hatch: can you not just json.dumps(complex) ?17:37
rick_h_hatch: JSON.stringify(window.location)17:37
rick_h_then copy/pate?17:38
rick_h_paste?17:38
hatchyeah I was hoping for a plugin or a script or something17:38
hatchso that we could generate these outputs easily for demo purposes and the like17:38
rick_h_stick some dev utils on app? 17:38
rick_h_app.dev.dumpDB()17:39
rick_h_?17:39
hatchyeah I just don't want to write it myself17:39
hatchit feels like something that should exist17:39
rick_h_JSON.stringify exists? You just need a few lines in a function to walk the data you want to output17:39
rick_h_I feel like I'm missing something that makes this larger/harder than it seems17:40
hatchI want to pass a complex object the output from a db parse method to a json stringify which will then save that output to a text file on disk17:40
hatchI'd like it to not have to rely on the user to have to open the console and do manual work17:41
hatchit's probably easy to do via the File API but I'm asking the hivemind before i put any time on it :)'17:42
rick_h_hatch: but this is for 5 devs, and we'll cache the 'suggested base' 17:42
hatchthey always ask for more demo materials lol17:42
hatchbut I suppose17:42
* hatch scales back17:42
rick_h_hatch: yea this is a helper for us to get through the next few weeks of dev17:45
rick_h_not a published feature for 'users'17:45
rick_h_so scale back to 'I can debug easier than now'17:45
rick_h_type levels17:45
rick_h_please :)17:45
hatchOh Kay17:45
hatchbtw you should take a look at Amethyst it looked like it was more along the lines of the requirements17:45
hatchfor the pane manager17:46
rick_h_hatch: very cool then will try that one as well17:47
rick_h_back on linux now with a proper tiling WM :)17:47
hatchhah yeah - I think I'll install Amethyst tonight and give it a go - window management has been a big gripe of mine for osx17:49
hatchinterestingly enough there is a max length for a console output heh17:51
hatchdarn17:51
hatchhmm interesting, apparently we rely on more than just the db18:21
hatch:)18:21
hatchok pushing into the db is not going to work18:25
hatchgoing to have to rely on deltas like we do with real envs18:25
hatchbut first....lunch18:26
rick_h_jujugui I'm running out a bit early today. Thanks for the great cycle and have a good weekend! It'll be a fun next cycle. 19:08
MakyoCheers, hav ea good weekend19:08
hatchkadams54 I'm not sure YUIDoc has a crosslink syntax like you had used there19:12
hatchkinda too bad really19:13
hatchhttp://yui.github.io/yuidoc/syntax/index.html19:13
hatchoh it does19:13
hatchlook at that19:13
hatchcraaaazy19:13
hatchlearn something new every day19:13
kadams54Hah, yeah. Was just going to paste this: http://yui.github.io/yuidoc/syntax/index.html#cross-referencing-modules-and-classes19:15
kadams54But then you spoiled my big "booyah" moment19:15
hatchlol19:18
hatchthat must be newish19:18
hatchI haven't seen any of this hbs stuff before19:18
kadams54hatch: FYI, just finished incorporating all of your feedback into PR20919:24
hatchcool - I see I was outvoted with the api calls19:25
kadams54current is now getCurrent, parseRequest is loadRequest19:25
* hatch crys19:25
hatch:P19:25
hatchI'll live with getCurrent19:25
kadams54It's a compromise, and you know what that means…19:25
kadams54Nobody is happy :-)19:25
hatchrofl!19:26
kadams54hatch: wondering if this is the Safari Selenium bug? http://ci.jujugui.org:8080/job/juju-gui/640/console19:32
hatchF(*@&#_)@)($)(*@$)&%*(#(#19:32
hatchyes19:32
kadams54Wait… it seems to be in Firefox19:32
kadams54JUJU_GUI_TEST_BROWSER="firefox" make test-browser-mocha19:33
hatchoh interesting19:33
hatchhmmmm19:33
hatchdid rick_h_  get you a login for jenkins yet?19:33
kadams54no19:34
hatchlooks like it's running again19:34
hatchodd...19:34
hatchguess we'll see19:34
kadams54Yeah, the second build started right up after the first… was also puzzled by that.19:34
hatchmust have been queued up from a change19:34
kadams54Fingers crossed.19:34
hatchI wonder if we are using an old version of anything 19:35
hatchwhere an upgrade may fix this19:35
hatchyeah looks like we are running an older version of selenium19:36
hatchone version back mind you19:36
hatchbut might be worth an upgrade19:36
kadams54Same error second time around. Grrr…19:40
kadams54hatch: you OK with me doing a :shipit: on the PR?19:41
hatchyup let'r rip19:41
hatchkadams54 looks like it's not passing19:43
hatchin firefox now19:44
hatchlemme take a look at the failure19:44
hatchlol19:44
hatchhttps://github.com/juju/juju-gui/blob/develop/test/browser.py#L205-L20919:45
kadams54*sigh*19:45
kadams54It doesn't look like the CI is picking up my :shipit: comment…19:46
hatchit did19:47
hatch"Status: merge request accepted...."19:47
kadams54Oh, yeah, n/m19:47
kadams54Just saw that show up19:47
hatchto debug ci we might need to run it from an ec2 instance or the like19:48
hatchI think this might be a selenium bug19:50
hatcher sauce labs & selenium19:50
hatchit might be caused by the api not returning properly19:52
hatchkadams54 `url = '%s%s' % (self._url, path)` is this just a string replace?19:57
kadams54Yeah19:57
hatchok I see the problem....now why is it being caused...19:57
kadams54Equivalent of `url = self._url + path`19:57
hatchsomehow that's returning None19:58
hatchso self._url and path would both need to be None?19:58
hatchRemoteConnection20:01
hatchok I 'think' that the issue is that the api is not connecting20:03
kadams54Even if both of those were None, you'd still end up with a string…20:03
kadams54>>> foo = '%s%s' % (None, None)20:03
kadams54>>> foo20:03
kadams54'NoneNone'20:03
hatchthat's very odd then, no?20:03
kadams54Yes, very odd.20:03
hatchsomehow the merge run is going off properly20:04
hatchthis has to be a connection issue with the saucelabs api20:05
hatchstepping through the code that's what it looks like is going on...20:05
hatchI'm wondering if somehow it makes a connection then gets cut off20:07
hatchthen when it tries to do the url bits there isn't anything there any longer20:07
hatchbecause the only difference between the merge project and the PR one is the port 20:11
kadams54I'm heading out for the weekend - if it's still an issue on Monday, I'll help dig into it20:13
hatchhave a good weekend20:13
hatchcya20:13
kadams54You too20:14
hatchlazyPower creating an environment and then logging into it from multiple computers seems to be a real question people are asking....do you simply need to copy the environments.yaml from machine to machine?21:05
lazyPowerYou should copy the entire .juju directory from machine to machine, or use a jump host21:06
hatchif someone deletes this .juju/ would they be sol?21:06
marcoceppihatch: pretty much21:07
marcoceppiunless you've backed up the environment21:08
marcoceppihatch: there's a .jenv which has the keys required to do the SSL auth to the api server, etc21:08
hatchis this being addressed? Maybe by caching it in the bootstrap node?21:08
marcoceppii mean, your environment will continue running21:08
hatchthis is just me spitballing, I'll write up a blog post about it too just so there is something to point ppl to21:08
hatchright, but you can't juju with it :)21:09
marcoceppiyou just won't be able to connect to it anymore21:09
rick_h_marcoceppi: "just won't be able to connect" to your production environment seems scary21:10
rick_h_I know I hit this in our azure env for CI. 21:10
marcoceppisame problem if you delete your .ssh directory21:10
rick_h_as I was blowing things away because of using the dev juju releases in trusty21:10
marcoceppiI mean, we can only safe guard people so far21:11
rick_h_except I write to that, not a magic service21:11
rick_h_right21:11
marcoceppirick_h_: there's a backup command to backup your environment connect data21:11
rick_h_marcoceppi: oh ok, so maybe I need to cron up some form of backup using that as I sync my .ssh dir around my machines21:11
hatchmarcoceppi oh really?21:11
hatchI didn't know about this command21:11
rick_h_it's a bit easier to sync ssh because you dno't have a local on each machine that's different/etc21:11
marcoceppijuju backup I believe21:11
marcoceppiit has no help stuff though21:12
rick_h_hatch: yea, good thing to look into and write up. I know it's something others have hit 21:12
marcoceppithere's a juju backup and juju restore21:12
hatchahh yeah it's missing from the juju help commands list21:12
rick_h_hatch: how did the 'load the data' go today?21:12
marcoceppihatch: it's a plugin21:12
marcoceppijuju help plugins21:12
marcoceppibut it doesn't have an -h flag, at least not on the version juju I'm running21:13
hatchrick_h_ I know what won't work :) we are going to have to simulate a 'delta' 21:13
hatchso a little more work but should work just like you're interacting with a real env....I hope21:13
rick_h_hatch: ok interesting21:14
rick_h_hatch: also see CI got angry but looks like it's satisfied now21:14
hatchrick_h_ open a develop instance and then paste this in the console https://gist.github.com/0cea96d605a2b8cbb2c7 and run preload()21:15
hatchyou can open the inspector but nothing works....21:15
hatcheven moving the service blocks doesn't keep the relation lines tracking21:15
rick_h_lol21:15
rick_h_yea, not enough metadata bound material21:15
rick_h_databound/etc21:15
rick_h_ok, well an initial delta seems quite sane, even what happens when we load from a real env21:16
hatchrick_h_ yeah I spent some time tracking down the CI issue - I'm pretty confident it's a connection issue between sauce and our ci21:16
rick_h_so look forward to seeing a way to trick that into the websocket client stuff21:16
rick_h_hatch: yea, it's what I think as well. Just something in the tubes and depending on where the tests are at the time you get different issues21:16
hatchyeah I'm a little concerned about the sandbox env having to parse deltas.....we'll see21:17
rick_h_hatch: but it's not in canonistack/proxied and such so not sure how to make it better for sauce21:17
hatchrick_h_ yeah - there are very odd python issues.....somehow url is a NoneType when it should be a String21:17
hatchI THINK the azure networking isn't so good21:17
hatchor maybe it's just the machines we are on21:17
rick_h_hatch: hmm, I guess we could try to bring it up on ec2 for a few weeks and compare. 21:17
hatchit might be another symptom of the http request issue....just so slow it hangs up....maybe?21:17
rick_h_takes a little bit to get it resetup and to get this size of machine on ec2 would be more $$21:18
hatchmarcoceppi thanks for the information 21:18
rick_h_hatch: k, well I think a test is worthwhile so will try to see if we can find time to tinker with that. At least narrow it to our tests or the platform21:18
hatchyeah - what about DigiOcean? 21:18
hatchshould be pretty cheap21:19
rick_h_well, this thing needs several GB of ram to run <3 java21:19
hatchohh21:19
rick_h_and we're using two machines21:19
hatchdamn java21:19
rick_h_but I can run a 4 or 8gb ec2 box for a couple of weeks21:19
rick_h_and compare21:19
hatchwould be cool if we could use a single box and run all these services with juju :)21:20
rick_h_and my setup scripts will be about the same since they're both juju providers21:20
rick_h_right, it would be cool to make the lander a subordinate and get a 'juju action' for a jenkins backup/restore21:20
hatchhow could of a story would this be? Azure wasn't working so we pointed our env to ec2 and it 'just-worked' :)21:20
rick_h_it's the story we're working towards for sure21:21
hatchs/could/good21:21
hatchjcsackett let me know if you want to work on the ghost charm - a partner might be what I need to get me moving on it :) I also want to start using it so.... :)21:23
rick_h_hatch: take a peek at https://github.com/jdorn/juju-gui/compare/develop...json-editor-service-config if you get some time21:24
rick_h_hatch: it might be something I'll ask you to peek at and talk with jeremy about some in the coming weeks21:24
jcsacketthatch: i'm totally game to work on it again. i can't believe it's been since like october since i last touched it.21:24
hatchrick_h_ ok no problem - I have a problem with generating forms outside of a templating system but maybe I can be convinced :)21:26
rick_h_hatch: well, it can be tweaked :)21:26
rick_h_hatch: and besides, what do we do now? 21:26
hatchjcsackett hah yeah I did some work fairly recently on it to start getting it closer to being ready but that darn http interface has just been glaring at me21:26
hatchrick_h_ PE - we render the markup with the template then use delegation on the fields21:27
rick_h_hatch: gotcha21:27
jcsacketthatch: setting up http-relation isn't terrible hard, iirc.21:27
rick_h_hatch: yea, the implementation needs some tweaking to fit our code but I love the general idea of sticking to a better schema. 21:27
jcsacketthatch: if i get some time this weekend, might be able to put something together.21:27
rick_h_hatch: so we might have to hold a couple of talks on databinding needs, rendering needs, etc21:27
hatchjcsackett no but I end up in analysis paralyses because I'm trying to build it so it can do load balancing and everything lol21:28
hatchjcsackett that would be very cool21:28
rick_h_hatch: baby steps man :)21:28
jcsacketthatch: oh, yeah. don't do that. just make it work first. :p21:28
rick_h_hatch: linux wasn't built in a day21:28
hatchrick_h_ tbh I see value in a react like system for this stuff21:28
rick_h_hatch: what's react got to do with it?21:28
rick_h_hatch: as far as a schema/validation/etc?21:28
hatchthe databinding21:28
hatchvalidation could be done using a similar technique to what we are doing now 21:29
hatchI don't see why the validation rules can't be put in the YAML as well21:29
rick_h_I guess I still need to look at the *how* for that. I mean nothing prevents us from shadow dom'ing things etc. 21:29
rick_h_hatch: they will in a sense21:29
rick_h_the Schema will support field that define valid21:29
rick_h_so by working to the schema we'll have things in the yaml to provide validation rules21:30
rick_h_that will have to be tied to the databinding21:30
rick_h_hatch: anywa, just a general fyi. 21:30
hatchyeah there is lots to chat about21:30
* rick_h_ has melted brain and is going to run back away21:30
hatchhaha21:30
hatchjcsackett I've been hoping someone would write a nginx charm which we could use for http21:31
hatchthat has not happened yet unfortunately21:32
hatchjcsackett there is also things like 'how do we theme a juju deployed ghost blog', 'how do we backup', etc etc21:34
jcsacketthatch: yeah, charming up nginx is beyond me. but that would be nice.21:40
jcsackettand the themeing and stuff is definitely an open question, esp now that they have actual themes.21:40
hatchyeah....21:41
hatchso my plan is to create a bundle which deploys apache, mysql, ghost all to a boostrap node21:41
hatchand a bundle which makes them all separate21:41
hatchshould be a good first step for a 'public' release21:42
hatchI also have to migrate my blog posts and urls from tumblr to ghost so that's another thing I have to keep in mind21:44
hatchso I think I 'need' apache for that21:44
hatchor nginx of course21:44
hatchbut yeah....no nginx charm21:44
hatch__rick_h_ oops, thanks for finding that other bug21:51
=== hatch__ is now known as hatch
hatchmoom is working pretty cool23:18
hatchhave some layouts defined23:18
=== arosales_ is now known as arosales

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