/srv/irclogs.ubuntu.com/2014/11/13/#juju-gui.txt

=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
hatchkadams out today?14:26
rick_h_hatch: not on the calendar14:28
hatchhmm ok then 14:29
frankbanuiteam: https://jujugui.wordpress.com/2014/11/13/juju-quickstart-1-5-0/14:32
frankbanhazmat: ^^^ this also includes the existing environment handling changes you suggested 14:32
hatchfrankban: any idea where tornado.options is defined? I'm not having any luck tracking it down - it appears to be the proper place to put the new ports to open for the guiserver14:36
frankbanhatch: looking14:36
frankbanhatch: so basically the charm configures the guiserver (tornado) upstart script. the guiserver options parser is in server/guiserver/manage.py:setup14:37
hatchfrankban: oh so options are just flags?14:38
hatch    {{if insecure}}14:38
hatch        --insecure14:38
hatch    {{endif}}14:38
frankbanhatch: no, options can be also parameters14:38
hatch--charmworldurl="{{charmworld_url}}"14:38
hatchbut all done via the template correct?14:39
frankbanexactly14:39
hatchok got it thanks14:39
frankbanhatch: that's the upstart configuration file, which is used to start and daemonize the guiserver. the you'll need to add those parameters to the guiserver too, and the parameters are defined in the module I mentioned above14:40
frankbanhatch: add the parameters so that they are accepted by the guiserver14:40
hatchyeah I had gotten that far, it just didn't click how `options` was getting populated :)14:40
hatchnow that's the missing piece14:41
frankbanhatch: options is a global name in tornado, the parse_command_line() call automatically populates the options with the values from the command line14:42
hatchahh I see14:42
hatchso my only problem with python so far is that there is no indication of the import location of the files you're importing simply from the name :)14:43
hatchmaybe there is a trick to tracking them down besides grep?14:43
rick_h_hatch: so imports are grouped, stdlib first14:43
rick_h_then 'installed packages'14:43
rick_h_then 'local packages' (things you wrote usually files closely14:43
hatchok so for example from tornado.ioloop import IOLoop14:44
hatchI don't see a folder here named tornado14:44
hatchor a file14:44
frankbanhatch: that's not stdlib, it's an external package installed by guiserver in order to run14:44
hatchright14:44
hatchso how am I to know where this file is?14:44
hatchis that only available in the penv?14:45
frankbanhatch: in the charm, if you run "make" the development environment is created14:45
hatchok so what I was looking for wasn't available in the code anyways14:45
hatchI would have just had to know to go look for the external tornado dep api website14:46
frankbanhatch: and it is created as a Python virtualenv in tests/.venv14:46
frankbanhatch: this means that all the dependencies are actually installed there14:46
hatchso how would I find the source for tornado.options?14:47
frankbanhatch: specifically in tests/.venv/lib/python2.7/site-packages/14:47
hatchthis is what I'm getting at, I was looking for where tornado.options was defined14:47
hatchbut it's not in our source tree14:47
hatchbecause it's only installed into the venv14:47
hatchis this correct?14:47
frankbanhatch: tests/.venv/lib/python2.7/site-packages/tornado/options.py14:48
frankbanhatch: yes correct14:48
hatchis this a typical python workflow? To not have deps source in the source tree?14:48
frankbanhatch: yes14:49
hatchok and where is it defined to pull down the deps?14:49
hatch*.pip files I guess14:49
frankbanhatch: usually when you apt-get or pip install a python package, this is put in the global repository for python libraries (e.g. /usr/lib/python2.7/dist-packages)14:50
frankbanhatch: virtualenvs are used to avoid installing everything globally, and instead you recerate a local place where to pip install packages, including a local python interpreter14:51
hatchyeah it's just a little odd that I have to go to a website to find the source then go to that website to read it14:52
frankbanhatch: the venv is created by tests/00-setup14:52
frankbanhatch: you don't have to go to the website, the packages are there, just in another dir, not the same as the code14:53
hatchok so maybe my issue is that i need to run a file in /tests 14:53
hatchintersting that there isn't this functionality in pip like in npm :)14:54
frankbanhatch: a quick trick to find where the code lives: you can execute the python present in the virtualenv: % tests/.venv/bin/python14:54
frankbanthen:>>> import tornado14:54
frankban>>> tornado.__file__14:54
frankban'/home/frankban/devel/juju-charm/sandbox/tests/.venv/local/lib/python2.7/site-packages/tornado/__init__.pyc'14:54
hatchwell right - but you need to know which file actually sets up the venv first14:54
hatchwith node projects it's simple you know you just run `npm  install` 14:54
frankban>>> from tornado import options14:54
frankban>>> options.__file__14:54
frankban'/home/frankban/devel/juju-charm/sandbox/tests/.venv/local/lib/python2.7/site-packages/tornado/options.pyc'14:54
hatchhere you have to really dig for something which sets up the venv 14:55
hatchoh now I see because pip install does it globally by default14:56
hatchfrankban: do you remember why we went with tornado over apache?14:58
frankbanhatch: tornado is asynchronous14:59
hatchI'm not sure I understand...14:59
rick_h_hatch: because we run stuff that catching api calls to do things like bundle deployments and such with added code14:59
rick_h_hatch: so apache was just another layer we didn't need14:59
hatchahh ok ok15:00
hatchyeah that makes sense15:00
hatchI forgot about our bundle hacks15:00
hatchheh15:00
hatchthere is a weird bug in the GUI when deploying bundles where sometimes they dont' render where you dropped htem15:01
hatchI can't seem to reproduce it reliably however15:01
hatchor reproduce it frequently for that matter15:02
hatch(unfortunately)15:02
frankbanhatch: https://bazaar.launchpad.net/~juju-gui/charms/trusty/juju-gui/trunk/view/head:/README.md#L17015:03
hatchhttp://www.cbc.ca/news/canada/saskatchewan/ground-stations-built-by-sask-firm-play-big-role-in-historic-comet-visit-1.2828928  :)15:11
hatchrick_h_: jcsackett see even the Rosetta people know we exist :P15:12
jcsacketthatch: bah, it's a canadian news outlet. can't be trusted.15:13
hatchlol!! 15:13
hatchkadams54: hey did you end up finding what you needed? 15:32
kadams54hatch, rick_h_: I've hit a wall on my current added services card. Going to need some help figuring out how to proceed.15:32
rick_h_kadams54: rgr, on a call atm 15:32
kadams54Apparently I had not yet hit <Enter> on that message; got distracted by a phone call.15:32
hatchhah - sure what's up?15:33
hatchcan't find where the units are being updated?15:33
kadams54The units seem to be deleted entirely.15:35
kadams54The ghosted ones that is.15:35
kadams54Then the new, non-ghosted unit comes in and is handled by process_delta15:35
kadams54Which means it has no hide/fade/highlight flags.15:35
kadams54And since the ghosted one has already been deleted, there's no option to copy the flags over to the new unit.15:36
hatchwhy not? Can't you query its service to get the visibility status?15:36
hazmatfrankban, which were those.. the bundle stuff using the -S for import?  .. what's initial support for the manual provider..15:37
hazmati use gui with manual all the time.15:37
hazmatfrankban, oh.. the don't bootstrap everytime thing..15:38
hazmatk15:38
rick_h_hatch: bring up your manual machine, run quickstart -i and fill out the manual fields to add a env for manual, and then it'll bootstrap/install gui15:38
hatch^ hazmat15:38
hatch:P15:38
rick_h_bah, hazmat ^15:38
frankbanhazmat: yeah the bootstrap strategy change15:39
frankbanhazmat: re manual provider, quickstart lets you bootstrap all the environments you have, but now the manual provider is actually recognized, validated, etc15:40
hatchkadams54: ahh I see now where it's removed15:41
hatchso when it comes in you should be able to query the services's visibility status15:42
hatchthen apply that to the units15:42
hatchno?15:42
rick_h_frankban: landscape called out the quick fixes for quickstart in the cross team call yay15:42
rick_h_frankban: so mad props15:42
kadams54hatch: True, though this makes me a bit leery.15:42
hatchwhy?15:42
frankbancool15:42
kadams54hatch: code smell. We have units all over the place: in the DB, on the service, on the machine, and we have to make sure that the flags get replicated into all those locations. Now I find out that some other part of the code is deleting the units and re-creating them from juju-core data, meaning we have one more spot where flags need to be replicated onto a unit.15:44
hatchyep15:45
hatchthat's definitely not being refactored by Friday15:45
hatchthere is a card to fix the unit handling15:45
hatchbut it's at least a week of work15:45
kadams54I wish service.get('units') and machine.get('units') weren't ModelLists embedded on those models, but rather facades to db.units.filterByService and db.units.filterByMachine15:46
hatchthere are performance implications to that15:47
hatchbut atm I'm just concerned about getting this feature out Monday morning15:47
hatchif this bug can be fixed by a simple cached query on the service then lets do'er then move on to the other bug15:50
Makyouiteam call in 4 kanban now15:57
hatchkadams54: for the record, I too wish it was better :)16:27
kadams54uiteam: looking for reviews and QA on https://github.com/juju/juju-gui/pull/65516:36
Makyoon it16:38
hatchfrankban: in an effort to speed up this process can you tell me where the output from logging.info calls go to?16:38
frankbanhatch: /var/log/upstart/guiserver.log16:39
hatchthanks :)16:39
frankbanhatch: sometimes, when I need to hack on the unit, I just stip the guiserver service and run the upstart command in the shell, without daemonizing. that way you can see the output directly, and even add pdb debugger calls to the code you want to inspect16:41
frankbanstop the guiserver even16:41
hatchinteresting - I'll have to give that a try sometime16:41
hatchkadams54: +1's16:45
hatchfrankban: https://gist.github.com/hatched/3f6c74fa6d024ee0e12c16:49
hatchthe error is a little cryptic16:49
hatchhave you ever seen this before?16:49
hatchSorry to bug you, I'm just trying to keep moving forward here :)16:49
frankbanhatch: Unrecognized option 'port' does not sound that cryptic ;-)16:50
hatchlol I mean...16:50
frankbanhatch: did you define that option in manage.py:setup?16:50
hatchthe traceback doesn't go very far but I think that it's being thrown from this line16:50
hatchlogging.info(options.port)16:50
hatchoh no I didn't16:50
hatchI'll do that16:51
frankbanhatch: cool16:51
hatchfrankban: so now might be a good time to try out your technique 16:52
frankban:-)16:52
hatchfrankban:  so now you'll need to educate me on where the charm is stored in the unit :-)16:53
frankbanhatch: us ethe python interpreter to find that16:54
frankbanpython16:54
frankbanimport guiserver16:54
frankbanguiserver.__file__16:54
hatchheh cool16:54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
hatchfrankban: nice got it running, thanks :)16:59
frankbanhatch: cool!17:00
hatchaparently juju log fails when it's trying to output None17:18
=== kadams54-away is now known as kadams54
hatchright on - it's working :)17:35
hatchrick_h_: ok so....I'd like someone to look at this code before I get on the tests but I can't remember how to push it up to my own branch lol17:39
rick_h_hatch: bzr push lp:~hatch/charms/trusty/juju-gui/customport 17:39
rick_h_I think17:39
hatchok lets see17:39
hatchrick_h_: nice, you were right17:41
hatchhttps://code.launchpad.net/~hatch/charms/trusty/juju-gui/custom-port17:41
rick_h_hatch: https://code.launchpad.net/~hatch/charms/trusty/juju-gui/custom-port/+merge/24171617:41
rick_h_diff should load shortly17:41
rick_h_frankban: if you're still around would love eyeballs on ^17:41
rick_h_frankban: but if your EOD have a good night17:41
frankbanrick_h_: looking, wip right?17:42
hatchhmm not a lot of loc's for how long it took :/17:42
rick_h_frankban: rgr17:42
frankbanhatch: for the final proposal please use lbox17:42
hatchfrankban:  yes there are no tests17:42
hatchI can't use lbox actually17:42
hatchwill have to figure out the reitveld process manually17:42
frankbanhatch: done17:56
hatchfrankban: thanks, looking17:59
hatchfrankban: so config isn't a map?18:01
hatchre your suggestion to do `port = config.get('port')`18:01
hatchconfig = utils.get_config() must return an object then18:02
hatchinteresting18:02
hatchfrankban: thanks for the comments - glad to see I was on the right track :)18:04
hatchI'm going to grab some lunch now18:04
hatchbbl18:04
frankbanhatch: get is a builtin method on python maps (aka dicts)18:06
frankbandone for the day, food night all!18:06
frankbangood night even!18:07
hatchkadams54: heyya how goes the new bug? Was it the unrelated function not working properly?19:06
kadams54Unrelated worked fine, but we shouldn't be toggling off highlight state for services unless they're actually highlighted.19:06
kadams54So that's fixed, tested, just linting and prepping push19:07
hatchohh gotcha, cool - I was really hoping it wasn't some difficult problem heh19:08
hatchkadams54: I like your technique of finding the bug, writing a test, then fixing the bug 19:10
hatchjuju debug-log19:11
hatchbleh19:11
kadams54uiteam: https://github.com/juju/juju-gui/pull/656 is ready for reviews and QA19:25
hatchcool will check it out19:26
hatchkadams54: uhhh what? How does this fix the issue? I'm glad it does...just...what? lol19:28
kadams54hatch: are you sure you want to know?19:28
hatchwell...maybe you should add a comment in the code because looking at it there is no reason why it's there19:29
hatchknow what I mean?19:29
hatchor no clear reason19:29
kadams54I thought "don't toggle things that are already set correctly" was clear enough.19:29
hatchso toggle highlight off, but only if it's not hidden and has highlight?19:30
kadams54Toggle highlight off if it's not already off and not hidden.19:32
kadams54If it's already off and we do an unhighlight, we end up with unintended consequences on downstream, due to the interplay between these states.19:32
kadams54For example, unrelated services becoming unhidden at the wrong time.19:32
kadams54I'll add a comment to that effect19:33
hatchkadams54: works great - can't find any more issues -19:34
kadams54yay19:34
hatchthe clearing of the container column is a little abrupt though19:34
hatchit would be nice if there was some onboarding in there19:35
hatch^ rick_h_19:35
* rick_h_ reads to catch up19:35
rick_h_hatch: hmm, yea I thought we had some onboarding at one time about selecting a machine. 19:37
rick_h_hatch: let's get it up on comingsoon and we can send an email to the list about it and see if anyone has any feedback19:37
hatchsounds goo19:37
kadams54The onboarding is in the machine column, not the container column19:37
rick_h_kadams54: right19:38
rick_h_hatch: kadams54 thinking, the best experience would probably be that if you hid something and then unhid it that it would return to where it left off selection-wise19:38
hatchI am wondering though if that is how people will use it19:40
hatchthey will probably click something else ?19:40
rick_h_hatch: yea, maybe. We can run with it and adjust19:40
rick_h_it's smaller adjustments from this point19:40
rick_h_let's get people using it 19:40
hatchkadams54: I +1'd so u just need one more19:41
hatchthen people can hammer on it :)19:41
hatchthe guicharm make unittest needs syntax highlighting19:45
rick_h_hah19:48
hatchrick_h_: is there a reason why these test files are prefixed with numbers?19:50
hatch00-setup 10-unit11-server19:51
hatchetc19:51
rick_h_hatch: the test tool uses it to run them in the right order19:52
rick_h_e.g. boostrap, install, check stuff, build relation, etc19:52
rick_h_alphanumeric sorting ftw19:52
hatchahh ok I figured there must be something :)19:52
hatchI like how the unit test runner has a 'verbosity' property19:53
rick_h_kadams54: looking at your branch next20:10
kadams54Makyo beat you to it, so it's landing now20:10
kadams54But feel free to hammer away at it more :-)20:11
rick_h_kadams54: ah all good then20:11
rick_h_kadams54: so after that next refactor card let's work on a release please. 20:11
kadams54+120:11
rick_h_I just sent a status email and if we could do the release tomorrow or friday first thing that'd be perfect :)20:12
hatchrick_h_: could I pass this branch off to someone else? I feel like these tests could take me another day because I need to learn all about them 20:13
hatchI too would like this in the release20:13
rick_h_hatch: ok, can you send an email copying me to frankban asking for help in his am to get the tests going?20:14
hatchI feel real bad dumping this :/ I just don't want to miss the release 20:15
rick_h_hatch: but make sure we set aside time to go through it and see what gets done20:15
rick_h_hatch: all good, you've done some great stuff there. Think of it less on dumping and more of mentoring :) 20:15
rick_h_and here comes the snow20:15
rick_h_hmm, so does my other watch face clock go to slovenia and urulama or australia and huw20:16
hatchhaha 20:16
rick_h_one for london, one for sydney, now I've got most of the team figured out :)20:17
hatchis huw on Sydney time? I thought he was further west20:19
rick_h_east actually I think20:19
rick_h_or something, it's all backwards 20:19
rick_h_google says he's +10 so that's sydney in the picker20:19
hatchlol20:19
hatchhe must get really tired hanging upside downall the time20:20
Makyo:/20:22
MakyoWe seem to be regressing.20:22
rick_h_Makyo: ?20:22
MakyoOh, crap, that's overloaded.  Just meant hatch acting 12.20:23
rick_h_oic, sorry release stuff all over regressing makes me scared :P20:23
hatchbahaha20:23
MakyoYEah, I didn't realize, hah c.c20:23
hatchMakyo: shush and get your catdog out of the window ;)20:23
hatchbtw there is also an absolutely hilarious cartoon called Catdog20:24
MakyoYeah, I remember :)20:25
hatchrick_h_: email sent20:37
hatchdid you want to chat about that card in tracking?20:37
=== kadams54 is now known as kadams54-away
rick_h_hatch: sure thing, just got off a call21:23
rick_h_hatch: standup room?21:23
hatchsure 1 min just relocating to a room with good enough wifi :P21:24
rick_h_Makyo: can you join the standup hangout?21:48
huwshimiMorning21:58
hatch__morning huwshimi22:02
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away

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