[02:07] <gary_poster> swebb, there's a painful manual answer, and an incomplete automatic answer.  I'm not going to bother with the manual answer because it is too annoying, and I don't want to describe or support it.  For the automatic answer, we're working on a charm, currently in https://code.launchpad.net/~juju-gui/charms/precise/juju-gui/trunk .  It is nominally usable now.  The biggest problem is that there is zero security: if som
[02:07] <gary_poster> eone knows your gui box address, they can connect and do anything they want (in terms of starting, stopping, and modifying services via the charms) over the web socket.  There are numerous other small problems--the next biggest one is that the charm should be working with gui releases, and not with the gui trunk.  We are working on all of those.  We should have decent answers for both of them by the end of the next 
[02:07] <gary_poster> week, before Christmas break, and then we will polish and announce in early January.
[02:08] <swebb> I tried the juju-gui-4 charm last night and I got it running, but I couldn't connect to it for some reason.
[02:08] <gary_poster> swebb, did you expose it?
[02:08] <swebb> I 'exposed' it (and double-checked my security groups) and it was open.
[02:09] <gary_poster> hm
[02:09] <swebb> I logged onto the machine too and found it running on port 8080, but when hitting the port, I got some weird error.  I'll see if I can find the error again.
[02:09] <gary_poster> swebb, one of the problems with not using gui releases is that we can change something in the gui that breaks the charm
[02:09] <gary_poster> our tests in the gui don't run the charm
[02:10] <gary_poster> charm tests run the charm :-P
[02:10] <gary_poster> that's why we are switching default behavior to use qa'd releases
[02:10] <swebb> Yea, when I run it locally, I do a 'make prod'.
[02:10] <swebb> and it runs.
[02:10] <swebb> but it doesn't know about my environment, so it doesn't show anything.
[02:10] <gary_poster> right
[02:11] <swebb> When I use the juju-gui-4 charm, it fired up, but when connecting to it, the error was "no such resource"
[02:11] <gary_poster> locally, you need to run a custom juju that connects to the main juju zookeeper
[02:11] <swebb> (on port 8080
[02:11] <gary_poster> swebb, did you try port 80?  
[02:11] <swebb> Are there docs somewhere that will allow me to do that?
[02:11] <swebb> Yea, I tried port 80 too.  That hung.
[02:11] <gary_poster> IIRC that's the expected port now
[02:12] <swebb> ok.
[02:12] <swebb> I'm going to get it all up and running like at the BoF last night when I get back to work and wow my coworkers.
[02:12] <swebb> :)
[02:12] <gary_poster> docs: no, we don't want to support the zookeeper story.  you can look at the charm, in the install hook, and get an idea of what is necessary
[02:12] <gary_poster> :-)
[02:13] <swebb> ok, so if I install the charm, which hook do I look for to get it to see my active environment?
[02:13] <swebb> zookeeper?
[02:15] <swebb> oh, the install hook.  My bad.
[02:16] <swebb> So the install instructions should be: juju bootstrap ; edit juju-gui install hook, juju deploy juju-gui ; http://hostname:80/ to do the rest.
[02:20] <gary_poster> swebb, about to be afk, but install instructions are dev oriented at http://jujucharms.com/~juju-gui/precise/juju-gui *but* the last three paras are for you, starting with, "Deploying parameters may be configured by creating a configuration file"
[02:21] <gary_poster> (everything above that should be ignorable, assuming you are using version 14/revno 12)
[02:22] <gary_poster> but no guarantees until we get the tests running with real GUI releases!
[02:22] <gary_poster> good luck, and we'll be stable for you very soon
[02:22] <gary_poster> ttyl
[02:22] <swebb> Thanks for the info.  I'll keep listening to this channel.
[02:23] <swebb> ok, thanks!
[10:45] <dguerri> i all, is there a working juju web-UI for real (not dummy) providers? 
[10:45] <dguerri> I'm using rapi-delta
[11:52] <teknico> dguerri, hi, I'm not sure what you mean
[11:52] <dguerri> I'm trying to integrate the juju web-hi with our openstack installation
[11:52] <dguerri> *web-ui (sorry)
[11:53] <teknico> web-hi is rather nice too :-)
[11:53] <dguerri> hehe :)
[11:53] <dguerri> damn autocorrection :)
[11:53] <dguerri> moreover I'm from Italy my english is not the best 
[13:01] <gary_poster> dguerri, yes.  https://code.launchpad.net/~juju-gui/charms/precise/juju-gui/trunk is the charm we are working on to make it easy.  It is in flux right now, with two main limitations, but it works.  I expect us to be at a state that we can encourage people to give it a try by the end of next week, just before the break; and we intent to polish it and announce it during the first two weeks of Jan
[13:01] <gary_poster> intend
[13:04] <dguerri> gary_poster: thanks, it includes the restful service needed by the gui ?
[13:05] <gary_poster> yes dguerri 
[13:05] <dguerri> great!
[13:05] <dguerri> i'll try it asap
[13:07] <gary_poster> dguerri, two big limitations that we are fixing: (1) there is no security, so anyone who can connect to your web socket can control your juju; (2) charm is based on trunk rather than releases, so our automated tests can still fail us and give us a branch of the GUI that doesn't work well with the charm.  Fixes for both are in progress, as I said
[13:08] <gary_poster> To mitigate risk of #1, if you are on ec2, change your security connection to only allow a connection to your IP
[13:08] <gary_poster> but more reasonable fix on the way (HTTPS, password)
[13:09] <dguerri> yes I'm aware of the #1… however it is more related to the guy itself and not to the charm, isn't it? 
[13:10] <dguerri> btw I'm going to try it on openstack in a protected environment
[13:10] <gary_poster> yes dguerri, thought the charm has to play along too, of course
[13:10] <gary_poster> cool
[13:10] <gary_poster> s/thought/though/

[13:10] <dguerri> :)
[13:11] <dguerri> thanks for all the info
[13:11] <gary_poster> heh, cool :-)
[13:11] <gary_poster> np
[13:23] <frankban> gary_poster: do you have time for a quick hangout?
[13:24] <gary_poster> sure frankban 
[13:24] <frankban> gary_poster: juju-ui?
[13:24] <gary_poster> sure frankban.  checking to see if it is open
[13:24] <gary_poster> yes
[14:14] <gary_poster> bcsaller, hi.  I have an embarrassingly inexperienced question: how do you deploy a non-official charm from the charm store?  I've only ever done that locally.  Neither "juju deploy ~juju-gui:precise/juju-gui" nor " juju deploy lp:~juju-gui/charms/precise/juju-gui/trunk" work.  My next try would be bzr+ssh or https, but I decided asking might be a nice idea. :-)
[14:15] <gary_poster> docs don't seem to address this clearly
[14:15] <bcsaller> gary_poster: you'll be best with a local charm, there is --repository and local:series/charm
[14:17] <gary_poster> bcsaller, I am getting a lot of support questions for people wanting to give a try to the charm itself.  I was rewriting our charm's README to give them a big warning about where we are, and then tell them how to try the charm out.  I'd rather not tell them to use a local charm.  Is there no easy way for them to just give the charm a try?
[14:17] <gary_poster> a lot == 2 in 12 hours :-)
[14:19] <bcsaller> gary_poster: let me check, there is a way, I think its just with the lp: but I'll check
[14:19] <gary_poster> thanks
[14:25] <goodspud> gary_poster, as an admin for the juju-gui list, can you alter my settings so I don't just get the digest?
[14:25] <bcsaller> gary_poster: ahh, its like juju-deploy cs:~gandelman-a/quantal/mysql
[14:26] <gary_poster> goodspud, yes, will do
[14:26] <goodspud> gary_poster, cheers!
[14:27] <gary_poster> ah bcsaller cool thanks!  seems to have worked
[14:27] <bcsaller> gary_poster: it was odd enough that I forgot how that worked
[14:27] <gary_poster> :-)
[14:27] <bcsaller> I always did devel with local charms
[14:28] <frankban> bcsaller: re d3 components framework: do you think Module.events.yui is the right place for synthetic events (like 'windowresize')?
[14:28] <bcsaller> frankban: that is the intent, do you disagree?
[14:30] <frankban> bcsaller: no I don't. My next branch will contain a little patch to how the event is handled by the framework, so I just wanted to be sure of it.
[14:31] <bcsaller> frankban: I have some minor pending changes as well, I'd be happy to talk about it at any point
[14:31] <frankban> bcsaller: sure, whenever you want
[14:32] <bcsaller> frankban: I can hop on g+, in public now if you want to chat
[14:33] <gary_poster> bcsaller, want to talk to frankban now and ping me when you are done?
[14:33] <bcsaller> gary_poster: sounds good
[14:33] <gary_poster> cool
[14:33] <frankban> bcsaller: juju-ui?
[14:33] <bcsaller> frankban: yeah
[14:37] <bcsaller> gary_poster: all done
[15:04] <goodspud> Quick thought re my last email to the list, if the gui charm forms part of the infrastructure for an environment can it be deployed to the bootstrap node?
[15:10] <bac> goodspud: i think that is the plan but juju core doesn't allow it yet.
[15:11] <goodspud> damn you juju core... damn you to hell!
[15:12] <goodspud> bac, then I stick with my suggestion of ensuring we write the warnings into the readme file for the charm and sort out stuff later once juju core can handle co-location
[15:15] <bac> what does the '|' do in makefile dependency lists?
[15:15] <bac> e.g. in the $(BUILD_FILES) target
[15:17] <bac> hmm, 'order-only-prerequisites'
[15:29] <gary_poster> yes bac can explain if desired
[15:29] <bac> gary_poster: no, i'm good now
[15:29] <gary_poster> bac benji bcsaller frankban goodspud hazmat (?) Makyo call in 1
[15:29] <bac> and its Meeting Time
[15:33] <gary_poster> Makyo ping
[15:35] <Makyo> Was sitting on the join screen, oy.
[15:44] <arosales> gary_poster: Unfortunately I won't be able to make today's restorspective I have a conflict. :-(
[15:45] <gary_poster> ok thanks arosales 
[16:02] <dguerri> gary_poster: sorry to bother again but so far I can't understand the restful api services architecture for juju. For instance, why are you using "improv.py" ?
[16:04] <dguerri>  "improv.py" seems to be only a demo since is using fictional data
[16:24] <gary_poster> dguerri, yes, it is fictional.  In the charm, you only use improv when "staging" is true
[16:24] <gary_poster> otherwise you are connecting to a juju instance that is connecting to the shared zookeeper and providing the restful interface
[16:25] <gary_poster> dguerri, I'm writing a better user help doc ATM.  We're still not quite ready for you--end of next week should be much better--but it can work now
[16:25] <dguerri> ok, thanks
[16:27] <gary_poster> (dguerri, fwiw, also we've been saying "RESTful" but it is a bit of a misnomer.  It's a websocket connection that has communication that roughly follows RESTful best practices in how its communications are spelled)
[16:29] <dguerri> now is more clear to me… so this (REST or whatever) interface feeds a zookeeper instance, right?  (please be patient, I'm a newbie for juju, zookeeper and python… however I'm a developer)
[16:30] <gary_poster> dguerri, zookeeper is an implementation detail that I probably shouldn't have mentioned.  It is replaced in Go Juju.  Our current story is something like this:
[16:31] <dguerri> good to hear that… zookeeper seems a.. beast to me :D
[16:32] <gary_poster> GUI connects to a websocket.  websocket is provided by a custom Juju instance that connects to a shared state (which happens to be implemented with zookeeper) that the main Juju instance also uses.
[16:32] <gary_poster> In the future, Go Juju will simply provide the websocket directly
[16:32] <gary_poster> Big picture, that's the way to think of it
[16:33] <gary_poster> the GUI connects to a websocket from Juju, and the websocket exposes all of the standard Juju commands
[16:33] <dguerri> wow… now i understand the big picture… thanks!
[16:33] <gary_poster> np dguerri 
[16:33] <dguerri> thanks a lot! great
[16:34] <dguerri> btw, I really love juju.. it's a pity is wasn't developed with ruby :P
[16:34] <gary_poster> :-) well, I doubt we'll have a third rewrite--certainly hope not ;-)
[16:35] <dguerri> first one was  java… ?
[16:35] <gary_poster> Python
[16:35] <gary_poster> Upcoming one (13.04) is Go
[16:35] <dguerri> ah 
[16:36] <dguerri> :)
[16:53] <gary_poster> hey frankban, I'm updating the charm README to better describe how to use it.  Do you have a second to help me document the jitsu deploy-to variant?
[16:53] <frankban> gary_poster: sure
[16:53] <gary_poster> thanks
[16:53] <gary_poster> trying juju-ui frankban ...
[16:54] <gary_poster> empty
[16:59] <frankban> could anyone please review https://codereview.appspot.com/6941053 ? thanks!
[17:00] <gary_poster> bcsaller, ^^ :-)
[17:02] <bcsaller> yeah, I can do that 
[17:04] <frankban> bcsaller: thank you
[17:10] <gary_poster> frankban, I'll review yours if you review mine :-) https://codereview.appspot.com/6945058
[17:12] <frankban> gary_poster: agreed
[17:12] <gary_poster> :-) thx
[17:14] <gary_poster> approved frankban 
[17:14] <frankban> :-) thanks gary_poster 
[17:14] <gary_poster> and I like your QA instructions, but unfortunately I'm still doing them......
[17:15] <gary_poster> :-)
[17:15] <frankban> :-)
[17:22] <gary_poster> Makyo, approved your branch
[17:55] <Makyo> gary_poster, Thanks, should I land before lunch?  It's minor.
[17:56] <gary_poster> Makyo, shrug. :-)
[17:56] <gary_poster> do what works for you
[17:56] <gary_poster> landing is good for the kanban board 
[17:56] <gary_poster> so I lean towards doing it sooner
[17:56] <gary_poster> but if you are hungry...
[17:56] <gary_poster> ...nobody likes a hungry Makyo 
[17:56] <gary_poster> :-)
[17:57] <Makyo> Haha, well, alright :)  Was thinking of second review, but I'll land.
[17:58] <gary_poster> Makyo, oh I see.  bac, wanna review Makyo's branch?  it fixes the clean issue you found, and is teeny tiny
[17:58] <bac> yes
[17:58]  * bac he said with much self-interest
[17:58] <gary_poster> :-)
[18:00] <bac> Makyo: it looks fine.  what would you think about adding this to it?  http://paste.ubuntu.com/1439028/
[18:04] <Makyo> bac, looks fine.
[18:04] <Makyo> Land with that?
[18:04] <bac> Makyo: if you don't mind.
[18:05] <bac> i don't know that it will actually fix anything but it is more correct and this part of the makefile is error prone
[18:05] <Makyo> Yeah
[18:07] <Makyo> Et voila.  Will be back after lunch.
[18:16] <frankban> time to go, have a nice weekend!
[19:53] <bac> gary_poster: you said you launched the charm recently.  did you see it populated with the normal test services from improv?
[19:59] <gary_poster> bac, no, that is only if you turn staging on now
[19:59] <gary_poster> by default it connects to the real juju
[19:59] <bac> ah, so it is
[19:59] <bac> a perfect test, then, for config-changed
[20:00] <gary_poster> :-)
[20:00] <gary_poster> bac, I found that right now the charm does not correctly set up the config file
[20:01] <bac> how so?
[20:01] <gary_poster> that is, config.js says socket_url: 'ws://localhost:8081/ws'
[20:01] <gary_poster> which doesn't work out so well
[20:01] <gary_poster> did you see that or fix it?  I was about to dig into it for a second, since I had time before next call
[20:01] <bac> i had not seen it
[20:02] <gary_poster> bac, when you go to your default charm deployment, does it connect?
[20:02] <bac> i only just now got the charm to deploy without error, partly due to fixes i made and maturity of the the gui code
[20:02] <bac> no
[20:02] <bac> i think not
[20:02] <gary_poster> ok
[20:02] <gary_poster> that's the problem then--or at least your experience does not contradict mine
[20:02] <bac> how would you tell
[20:02] <bac> charm search works but the default charm list is empty
[20:04] <gary_poster> bac, you can tell because the alerts box is orange
[20:04] <gary_poster> http://ec2-204-236-250-8.compute-1.amazonaws.com/
[20:04] <gary_poster> and because the svg panel has not expanded beyond 800x600, but that's a bug
[20:05] <bac> yes my alert box is orange but i didn't know why
[20:05] <bac> or the significance, i mean
[20:06] <gary_poster> rght
[20:07] <gary_poster> hm, my diagnosis is wrong
[20:07] <gary_poster> http://ec2-204-236-250-8.compute-1.amazonaws.com/juju-ui/assets/config.js
[20:08] <gary_poster> except that the requests are in fact going to localhost...
[20:09] <gary_poster> oh I bet config.js is rolled up now maybe
[20:10] <gary_poster> yup
[20:15] <gary_poster> and I broke it unwittingly by changing config.js into config-prod.js :-/
[20:25] <gary_poster> benji I see the regression of the missing thumb-x.png; the fix is in your branch, reinstating what was there before, right?  
[20:25] <gary_poster> Just making sure I remember correctly
[20:25] <benji> right
[20:26] <benji> I am very close (I hope) to proposing the branch with the fix in it, or I can give you a diff
[20:26] <gary_poster> cool thanks. is that gonna be in review today benji?  no, that's what I wanted--didn't want it broken over the weekend because it can be pretty noticeable
[20:26] <gary_poster> so, all's good, thank you
[20:26] <benji> cool
[20:31] <bac> gary_poster: i see build-prod/juju-ui/assets/config.js as http://paste.ubuntu.com/1440053/
[20:31] <bac> but it still is not connecting
[20:31] <gary_poster> bac the problem is that the file is being included in the rollup
[20:31] <gary_poster> and that is overriding the file we see
[20:31] <gary_poster> I have a fix bac
[20:31] <gary_poster> trying it out on my instance
[20:36] <gary_poster> bac, I have a fix
[20:37] <gary_poster> yay >> http://ec2-204-236-250-8.compute-1.amazonaws.com/
[20:37] <bac> excellent
[20:38] <bac> gary_poster: great.  you want to share?
[20:38] <gary_poster> y, one sec
[20:40] <gary_poster> bac http://pastebin.ubuntu.com/1440086/ and lp:~gary/juju-gui/fix-deploy .  I think I am going to propose as is: this would be another test of our build process IMO
[20:42] <gary_poster> bac, quick review? https://codereview.appspot.com/6948055
[20:43] <bac> yes, looking
[20:43] <gary_poster> thank you
[20:46] <benji___> gary_poster: the branch is up for review at https://codereview.appspot.com/6947057/; I am going to take a break for a few minutes.
[20:46] <benji___> After I kill "benji"
[20:47] <gary_poster> cool benji___ .  Growing a tail that long is probably exhausting
[20:47] <gary_poster> :-)
[20:48] <bac> gary_poster: who builds config-prod.js and config-debug.js?
[20:48] <gary_poster> bac, they are in our source tree
[20:48] <gary_poster> so...we do?
[20:48] <bac> i see the charm writing out build-prod/juju-ui/assets/config.js
[20:49] <gary_poster> right
[20:49] <bac> so it is copied over at some point?
[20:49] <gary_poster> symlinked
[20:49] <benji> I guess my Animagus form is something with a tail.  Probably a cat.
[20:49] <gary_poster> :-)
[20:50] <bac> gary_poster: they are not symlinked in my ec2 instance
[20:51] <bac> i don't think i'm handling them properly.  it sounds like if the api port changes i need to not just write out those files but call bin/merge-files too
[20:51] <gary_poster> bac 
[20:51] <gary_poster> # ls -l build-prod/juju-ui/assets/config.js 
[20:51] <gary_poster> lrwxrwxrwx 1 ubuntu ubuntu 64 Dec 14 14:38 build-prod/juju-ui/assets/config.js -> /var/lib/juju/units/juju-gui-0/charm/juju-gui/app/config-prod.js
[20:52] <gary_poster> bac, no you do not need to rerun merge-files, as long as you have my patch
[20:54] <bac> right, because your patch is excluding them from the min.  gotcha.
[20:55] <gary_poster> right
[20:55] <gary_poster> benji, out of curiosity (it looks good to me), is https://codereview.appspot.com/6947057/diff/1/app/views/charm-panel.js?column_width=80 for readability and testablity or just one of those? And...
[20:55] <bac> gary_poster: ok, i'm going to merge your branch now
[20:55] <gary_poster> bac, with trunk or with your branch?
[20:56] <bac> gary_poster: into my branch
[20:56] <gary_poster> bac cool
[20:56] <bac> don't want to wait on your review/land
[20:56] <benji> gary_poster: that change was so I could remove the test that tested the pixel position of DOM elements (tooltips) and instead test the underlying calculations
[20:56] <gary_poster> benji, I know you are just following a pattern, but why is line 50 a push, rather than part of the list in lines 43-46, of https://codereview.appspot.com/6947057/diff/1/bin/merge-files?column_width=80 ?
[20:57]  * benji looks
[20:57] <gary_poster> (and then do you know why line 49 is that way?)
[20:57] <gary_poster> benji, cool
[20:57] <gary_poster> (for tooltips)
[20:58] <benji> gary_poster: oh, that should be a push, for the same reason templates.js shouldn't be (or rather, needn't be); the function above is collecting dependencies and if app/models/charm.js had any that the other modules did not, they would be missed, so I would think that app/models/charm.js should be moved to the list above (assuming that really works, which I will test now)
[20:59] <gary_poster> benji, oh!
[20:59] <gary_poster> benji, that is an exclude list
[20:59] <benji> gary_poster: change "should" to "shouldn't" and "shouldn't" to "should" in the above, but I tthink you get the point
[20:59] <gary_poster> and we should add those two files, not exclude them
[20:59] <benji> nope, templates.js is included, but it can never have dependencies
[21:00] <gary_poster> IOW, it is correct as it is now...oh...confused
[21:00] <benji> there are no exclusions there
[21:00] <gary_poster> especially given that I just touched that list in my branch
[21:00]  * benji waves hand
[21:00] <gary_poster> bah :-)
[21:00] <benji> :)
[21:00] <gary_poster> benji you confused me enough that you have to come explain it to me in juju-ui now :-P
[21:00] <benji> heh, ok
[21:08] <bac> gentlemens, i am EOD and EOW.  i'll be back later to check on things but i'm being summoned for a walk.  have a good weekend.
[21:22] <gary_poster> bye bac
[21:22] <gary_poster> have a great weekend
[21:23] <gary_poster> Makyo, if you are available for a review, benji could use a second one on https://codereview.appspot.com/6947057/
[22:41] <dguerri> gary_poster: it works! :)
[23:40] <gary_poster> dguerri, great :-)