IRC Logs for #circuits Tuesday, 2014-03-18

*** Osso has quit IRC00:07
*** ircnotifier_ has joined #circuits00:10
*** ircnotifier_ has quit IRC00:10
*** bates_550 has joined #circuits01:42
prologichi bates_55001:47
bates_550hey, prologic01:49
prologichow's your project coming along?01:50
prologicI'm sorry about the lack of better Windows support01:50
bates_550not bad01:50
bates_550about that actually01:50
prologicIf you run your project on Linux I think you''ll get better results01:50
bates_550it turns out it only has issues when i'm using the debugger01:50
bates_550if i don't use the debugger it works flawlessly01:50
bates_550well, as far as i can tell anyways01:51
prologicthis could  be related to
prologicWould you care to patch your local dev branch of circuits with this and re-test?01:51
prologicIf this fixes your weird behavior then I know what the underlying cause was and this patch and issue should resolve it and I'll commit and push it upstream01:52
bates_550sure... could you remind me of the process to do that? lol01:52
prologicprobably best if I just provided a branch you can clone01:54
prologicgimme 1/2hr or so to create this branch01:56
prologicI assume you already cloned via Mercurial/TortoiseHg ?01:56
prologicOur Internet at work is crapping out today :/01:56
bates_550i believe so01:57
prologicCheck by doing:01:58
prologic>>> import circuits01:58
prologic>>> circuits.__file__01:58
prologicSee what that points to01:58
prologicSee if it points to a path on your system that contains a Mercurial repository01:58
prologicIf not, go install either Mercurial (CLI) or TortoiseHG (GUI) Mercurial client(s)01:58
prologicand install them and clone the above repo01:58
prologicand then from that repo's path do:01:59
prologicpython develop (from command line)01:59
bates_550i recall doing something similar, but it's just in my Python/lib/site-packages/
bates_550is a mercurial repo defined by having a .hg file or something like git?02:01
prologicand in that case you may (or may not) have the circuits repo somewhere on your file system02:02
prologicbut you may have done: python install02:02
prologicwhich is fine, but you can't easily follow development then02:03
prologicwithout having to re-run python install each time the repo has an update02:03
bates_550all right, i've got all that now02:11
prologicI'll have a new branch you can migrate to and test for me shortly02:13
prologicyou'll just need to clone it02:13
prologicand run python develop in it02:13
prologichopefully overriding the existinging installation02:13
bates_550i'm gonna grab some food real quick, bbl02:22
prologicbates_550: okay I have a branch for you02:52
prologicgo clone my personal repo02:52
prologicif you have "bookmarks" enabled in your mercurial client, update to the Issue77 bookmark02:53
prologicotherwise grab it's revision from here:
*** bates_550 has quit IRC03:45
*** bates_550 has joined #circuits03:45
prologicoh bates_55003:51
prologicyou may have missed something03:51
prologiccheck the logs :)03:51
prologiclink in thetopic03:52
prologiclink in the topic03:52
bates_550okay, sorry.04:27
bates_550i haven't cloned your personal repo yet, but it seems to work from the previous clone i did04:29
bates_550should i try cloning your repo anyways?04:29
prologicII haven't applied it to the upstream repo yet04:30
prologicso yes you will have to use my personal repo04:30
prologicand update to the Issue77 bookmark/revision04:30
prologicand run python develop in that04:31
prologicand re-test with the Debugger on04:31
bates_550all right04:45
bates_550seems to work04:46
bates_550here's the output
prologicand your program works as expected?04:47
prologicCould you please also just confirm a few things:04:47
prologica) your circuits.__file__ is pointing to your clone of my repo04:47
prologicb) the repo is at the Issue77 revision04:47
prologicFor a)04:47
prologicimport circuits04:48
prologicfor b)04:48
prologiccd /path/to/prologic_circuits_clone04:48
prologichg parent04:48
bates_550looks good (
bates_550yeah, before the server would become unresponsive after a client disconnected, but it seems to work fine now.04:55
prologicokay great04:56
prologicwould you mind filling a new bug report however04:56
prologicfrom your previous paste04:56
prologicabout the OverflowError04:56
prologicThis seems to be related to some really weird problem with displaying a representation of a socket on Windows in the Debugger04:57
bates_550ookay, first time!05:00
bates_550where can i fill one out?05:00
prologicbut we'll also accept github issues too (reluctantly) :) at
prologicI don't think we should accept github issues at all05:04
prologicbecause it'll get confusing05:04
prologicmuck up the commit messages sand documentation links to issues05:04
bates_550kk, bitbucket it is.05:04
prologicI'll mention this to the other devs05:04
prologicand disable issue tracking on the github mirror05:04
bates_550is there a reason you use bitbucket over github btw?05:05
prologichome time05:16
*** bates_550 has quit IRC06:27
*** bates has joined #circuits06:53
prologichey bates07:19
prologicbates, get my comments on your issue?07:19
*** bates has quit IRC07:27
*** bates has joined #circuits07:33
prologicoh hey again bates07:37
prologicget my comments on your new issue?07:37
bateshey, sorry internet went out07:39
batesno, i didn't07:39
batesare they not on the issues page?07:40
prologicshould be :)07:40
prologicand should have been emailed to you too07:40
prologicvia bitbucket07:40
batesin the comments? i'm not seeing anything07:42
batesthis, right?
*** Osso has joined #circuits07:56
*** Romster has joined #circuits08:22
*** bates has quit IRC08:28
*** Bates_550 has joined #circuits08:35
prologicBates_550, yeah :)08:39
prologichi Osso08:40
*** Osso has quit IRC09:25
Bates_550i'm not seeing any comments. am i missing something?09:28
*** Osso has joined #circuits10:58
prologicBates_550, ooops :)11:21
prologicI replied to the circuits-dev mailing list thread11:21
prologicby mistake :)11:21
prologicmy bad11:21
prologicI didn't reply to the bitbucket issue11:21
*** Osso has quit IRC12:00
*** Bates_550 has quit IRC12:50
prologicheya all13:05
prologic^^^ simple little dns server using circuits13:06
prologicthat replies A for everything13:06
Romsterwhat practical uses has that got?13:08
prologicnone in that form13:09
prologicbut it's a PoC13:09
prologicProof of Concept13:09
prologicthat you can build a fully fledged dns servers in circuits13:09
prologicI'm planning on writing several Docker related proejcts/services13:10
Romsterdo you know what your doing this for?13:15
Romsteri can think of a use for automating building crux ports all in there clean env.13:16
prologicI'm doing it for all sorts of things13:17
prologicmy particular use-case is to replace skydock and skydns13:17
Romsterwell that's one idea.13:17
prologicboth written in Go13:17
prologicI can't contribute to those implementations13:17
prologicand it has a small flaw I don't like ( race condition )13:17
Romsterwhy because you don't like go?13:17
prologici.e: you have to ensure you start dkydns first13:17
prologicthen skydock13:17
prologicso I'm writing my own :)13:17
prologicnot only do I not really like Go13:18
prologicI think it's a rather pointless langauge13:18
prologicI don't have time/energy to learn it13:18
prologicit adds not value to my tool belt :/13:18
prologicit has several flaws of it's own13:18
prologicand is young and immature13:18
Romsterguess  rewiring it in pyhton is just as much effort?13:18
prologicsuch as no proper daemonize support13:18
prologicbroken ipv613:18
prologicand probably more13:18
prologiclet me push up this new repo first13:19
Romsterall of which python can do easily.13:19
prologicI need a name for this 2nd system13:19
prologicit's entire responsibility is:13:19
prologicprovide dns server and discoverability of docker containers13:19
prologicit will link with autodock (the event listener for docker events) and when containers get created, started, stopped, killed, die or are destroyed13:20
prologicit will poke this thing (whodock, querydock, whtaever) to updat eit's internal zones13:20
Romsterdockerwho comes to mind but that's not good...13:20
Romstergo along with autodock if your keeping that convention of foodock13:22
Romsterfinddock, hmm not really IPC but IPC comes to mind.13:24
prologicI already have autodock13:25
prologicthat's a different thing13:25
prologicquite settled on that name :)13:25
Romsteryeah i see that on bit bucket.13:25
Romsterit's pretty much a dns and how will it discover the containers?13:26
Romstercircuit events?13:26
prologicvia events13:27
prologicfrom autodock13:27
prologicI think I'll use circuits.node13:27
prologicto brige the two systems together13:27
prologicgive me a good excuse to improve circuits.node13:28
Romsterso one project or split up dns and discovery components?13:28
Romsterresovedock and discoverdock13:29
Romsterresolvedock and discoverdock13:29
Romsteryou could just call it docer-utils or something or docer-framework or give it a better name and throw all the sub projects into that.13:30
Romstermasterdock maybe13:31
Romsterresolvedock and discoverdock, though do seem like the way to go and keep the dns and discovery parts seperate unless that makes no sense todo that.13:32
Romsteractually finddock sounds better when you see autodock13:33
Romsterjust throw dns and discovery into finddock?13:33
prologicfinddock aye?13:33
prologicautodock - automate docker13:34
prologicfinddock - find docker13:34
prologicor more specifically13:34
prologicautodock - automate docker containers13:34
prologicfinddock - find docker containers13:34
prologicI like it :)13:36
Romsterand so simple.13:36
prologicnow I just gotta flesh them out a bit more13:37
prologicinto working prototype that actually do something13:37
prologicright now they're just proof of concepts13:37
Romstergotta start somewhere. i've been just getting out more and less computer lately.13:38
prologicfair enough13:38
prologicthat's good to do too :)13:38
prologictoo much computer work and sitting is not good for the mind13:38
prologicso one of the other things I want to do with autodock/finddock13:43
prologicis automatically create either a lighttpd or nginx config for docker containers I spin up that should be exposed to the web via a virtual host13:44
prologicI'm kind of thinking of the scenario:13:44
prologicdocker run -d -e DOMAIN=app.domain.tld prologic/app13:45
prologicsomething as simple as that13:45
Romstermight be why i can't get anywhere.13:45
Romsterhmm some web service.14:02
Romsterso you can talk to each container?14:02
*** Osso has joined #circuits14:08
*** jgiorgi has joined #circuits17:54
jgiorgii see 3.0 just became the standard17:59
jgiorgiminor bug report (i'll create an issue if you'd like)17:59
jgiorgithe "index" method is no longer served when requesting /18:00
jgiorgii have to specifically request /index, it's easy to workaround because the static dispatcher still serves index.html when requesting /, i just redirect to /index18:00
prologicjgiorgi, wtf you're joking? :)20:04
prologicyes please file an issue :)20:04
prologicregression :/20:04
jgiorgii wish i was joking20:34
jgiorgii'll file an issue20:34
spaceoneCC me please20:38
jgiorgiissue 81, forgot to login so it shows anon20:42
*** Osso has quit IRC20:42
spaceonejgiorgi: can you attach test script?20:44
prologicjgiorgi, see comments on #8120:49
prologiccc'd you both20:49
*** Bates_550 has joined #circuits21:04
jgiorgiprologic: spaceone i've pastebin'ed the code in it's entirety because I don't know what could be "special" about this
jgiorgithe code works as expected in circuits.web 2.121:10
jgiorgii could not reproduce the issue with a basic script21:11
spaceoneare you behind apache?21:12
spaceonecan you try a request directly to the service21:12
jgiorgisame result21:12
spaceonewhat happens when you remove Static()21:15
jgiorgithat seems to work21:21
jgiorgiunfortunately i do need Static21:22
spaceonethe very transparent circuits.web routing21:22
prologicso Static() has a higher priority than the default Dispatcher21:22
jgiorgibut Static shouldn't touch that path unless it finds an index.* file to serve right?21:23
prologiclet me look at your code21:23
prologicStatic's channel is the same as Root21:23
prologicso GET /21:23
prologicwill hit Static first21:23
prologicStatic takes path as a first argument21:24
prologicyou could "mount" Static on a different paths21:24
prologicand move your static resources there21:24
jgiorgiand mounting Static on a different path isn't an easy option either21:25
jgiorgiim using some external javascript tools that depend on files being available relative to root21:26
spaceonewhy don't you serve them by apache?21:26
prologicthat you can't change?21:26
prologicyou'll have the same problem there too21:26
prologicyou'd have to have special rewrite rules that pass other requests to your web app21:27
prologicyeah you would :)21:27
spaceonei canm give you one21:27
jgiorgii could replace the path in the js but it's hard coded in several places21:27
jgiorgimy concern is that this worked in 2.1 but not in 3.0, Static should (imho) yield if it doesn't have a file to serve21:28
spaceone 36 »   »   # pass not existing URI's to python21:28
jgiorgiGET / should fall to the standard dispatcher in the absence of index.*21:28
spaceone 37 »   »   RewriteEngine on21:28
spaceone 38 »   »   RewriteRule ^/$ /python/ [L]21:28
spaceone 39 »   »   RewriteRule ^$ /python/ [L]21:28
spaceone 4021:28
spaceone 41 »   »   RewriteCond %{REQUEST_FILENAME} !-f21:28
spaceone 42 »   »   RewriteCond %{REQUEST_FILENAME} !-d21:28
spaceone 43 »   »   RewriteRule ^.*$ /python/%{REQUEST_URI} [L]21:28
jgiorgifor the moment i have a workaround for this simple script with an HTTP redirect from / to /index. everything else i have is on 2.1 and won't be updated any time soon21:29
prologicwhy do we have an event.stop() in there21:29
prologicthat might prevent the request from passing through21:30
prologicjgiorgi, can you try commenting that out?21:30
prologicL139 of circuits/web/dispatchers/static.py21:30
jgiorgione moment21:30
prologicbecause you're quite right, it should let the request pass through if it can't find anything to serve21:31
prologicand dirlisting=False (default)21:31
jgiorgitrying to find it21:33
jgiorgithis one was easy_install'ed21:33
jgiorgithat was the result21:36
jgiorgii commented out event.stop() and added a pass21:37
jgiorgiit was the only line in a finally block21:37
prologiccommenting out that line fixes the problem here for me21:39
prologicand I was able to finally reproduce your problem21:39
prologicI'll have to rethink the use of event.stop() in the Static dispatcher21:39
jgiorgianyway, glad we figured out how to reproduce it21:41
jgiorgilike i said i'm stable so this isn't mission critical, all my production apps have their own circuits install and whatever else they need just for this reason21:41
jgiorgicircuits isn't the only library that breaks something once in a while21:41
prologicsee latest comment21:48
prologicI've included a new comment with a better patch21:51
prologicI think other dispatcher will have to be reviewed21:51
prologicand modified in the same way21:51
prologicI believe if I write some more tests you'll find other broken behavior too21:51
prologicwhere the request isn't passed through if it fails to match in the higher up dispatcher21:52
prologiccould you try that diff please?21:52
jgiorgii will attempt it tomorrow afternoon22:37
jgiorgii've got a demo i'm preparing for now (showing off an automation tool using circuits + rubypython + cucumber + capybara + AutoIT (via OLE) and a bunch of smaller stuff)22:38
jgiorgicircuits basically being the glue in a cross-platform, cross-language, multi-software testing suite22:39
*** Bates_550 has quit IRC22:48
*** Bates_550 has joined #circuits22:49
Bates_550hey, prologic23:03
Bates_550i added some example code and full debug output for issue #8023:11
Bates_550it's in the comments on bitbucket23:12
Bates_550let me know if that is sufficient23:30
*** Osso has joined #circuits23:59

Generated by 2.11.0 by Marius Gedminas - find it at!