Team Chat Logs
July 31, 2009
| 2009 6 | ||||||
|---|---|---|---|---|---|---|
| Mo | Tu | We | Th | Fr | Sa | Su |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
| << | < | > | >> | |||
| [03:32:59] | <osimons> | morning, people |
| [03:35:03] | <rblank> | Morning osimons! |
| [04:07:23] | <davidfraser> | Three cheers for osimons |
| [04:07:38] | <osimons> | heh :-) |
| [05:54:12] | <thm> | btw, and OT: what's is the current best source for an irclogs plugin with search functionality? there are multiple versions floating around |
| [06:14:17] | * | davidfraser wants one for ejabberd muc_log logs |
| [08:01:08] | <doki_pen> | thm: the 0.11 irclogs plugin has search |
| [08:01:25] | <doki_pen> | thm: I'm working on a much improved version, but haven't gotten around to fixing search yet |
| [08:01:37] | <doki_pen> | but it's next on the list |
| [08:13:01] | <osimons> | request for input: is adding ${name} for slave name to recipe substitution useful? i see we use it in target rules, but it is not available for recipes |
| [08:13:18] | <osimons> | (i'm adding ${basedir} for where an absolute path is needed (#325)) |
| [08:19:01] | <davidfraser> | osimons: definitely useful |
| [08:19:06] | <osimons> | unlike ${basedir}, the need for ${name} can easily be done using slave config as ${slave.host} or something, but as we already display 'name' it would make sense to make it fully supported, or? |
| [08:19:33] | <osimons> | davidfraser: yeah, can't see why not either - and it won't hurt :-) |
| [08:20:15] | <osimons> | use ${name} based on current target platform rules, or use something more explicit like ${slave}? |
| [08:20:37] | <osimons> | ${name} it is. goodie :-) |
| [08:23:29] | <davidfraser> | or maybe we should change the target platform rules to slave as well though |
| [08:28:55] | <osimons> | davidfraser: nah - that would mean a db upgrade as these all gets stored - ${name} is fine... |
| [08:29:48] | <davidfraser> | Indeed, very wise |
| [08:31:40] | <osimons> | btw, i've seen some discussion about schema changes and upgrades - it was suggested at some stage to collect them and make some change. i now have 2 that i think are needed - how about you, davidfraser? |
| [08:32:06] | <osimons> | (outside of the upgrade for logs from db => dir of course) |
| [08:35:24] | <osimons> | I have: 1) storing Build.path (tying a build to a path at some point in time, #302), and 2) store BuildStep.line (keep step execution ordered in db even for steps finishing same second, #262) |
| [08:40:00] | <davidfraser> | I have forgotten the ones we were discussing ... |
| [08:40:06] | <davidfraser> | those sound good though |
| [14:11:02] | <pacopablo> | er, so is there a way to notice if a slave has contacted the master? |
| [14:12:55] | <osimons> | pacopablo: like this? http://bitten.edgewall.org/ticket/179 |
| [14:14:33] | <pacopablo> | yup |
| [14:16:18] | <pacopablo> | ok, so, next question, is there a way to force a build? |
| [14:16:49] | <pacopablo> | I don't really want to have to make a commit in order to test my bitten changes |
| [14:17:08] | <pacopablo> | additionally, forcing a build would be helpful when setting up a build configuration |
| [14:33:59] | <osimons> | pacopablo: when viewing a build, you can invalidate it and thereby building it again - but you need valid config at some location with a repos commit in the first place |
| [14:34:19] | <pacopablo> | grr :( |
| [14:34:37] | <pacopablo> | guess it makes sense |
| [14:35:05] | <osimons> | however, this is also possible: http://bitten.edgewall.org/wiki/BittenRunSlaveLocally |
| [14:37:47] | <pacopablo> | good for testing a recipe |
| [14:37:54] | <pacopablo> | thanks for the link |
| [14:39:17] | <pacopablo> | also, when specifying the URL for the slave, is just the base of the trac site enough, or does /builds/login need to be specified? |
| [14:45:39] | <pacopablo> | mmm, looks like auth isn't working ;( |
| [14:59:47] | <osimons> | pacopablo: just /builds as it stands noe (before #208 gets fixed at least) |
| [15:01:59] | <pacopablo> | I applied #208 |
| [15:02:22] | <pacopablo> | turned out that I was specifying the worng path to my slave.ini file ;) |
| [15:02:33] | <pacopablo> | of course bitten-slave didn't make any mention of it |
| [15:03:53] | <pacopablo> | I'll create a patch that at least warns the user that the config path specified doesn't exist |
| [15:23:36] | <osimons> | pacopablo: nice - that should really be exit reason, i think |
| [15:35:24] | <pacopablo> | k |
| [15:35:45] | <pacopablo> | I'll add an extra special DIE DIE DIE message in there |
| [15:41:12] | <CIA-7> | r682 by osimons in bitten/build/pythontools.py: 0.6dev: Minor issue with `python:trace` where percentage was calculated based on covered lines as read from .cover file divided by code line count as ... |
| [15:41:28] | <pacopablo> | so, how often does the build slave check for available builds? |
| [15:42:52] | <osimons> | pacopablo: see -i option to set interval yourself |
| [15:44:37] | <pacopablo> | k |
| [15:48:17] | <pacopablo> | do you know what method is called when the build slave connects? |
| [15:51:48] | <pacopablo> | oh, yummy! |
| [15:51:59] | <pacopablo> | looks like I've gotten my checkout all screewd up with patches ;( |
| [16:04:09] | <pacopablo> | er, ok, BuildQueue.populate() looks like it grabs the repos and then loops through nodes |
| [16:04:30] | <pacopablo> | in the web_ui.py we're using req.authname to make sure the user can even grab the repos |
| [16:04:43] | <pacopablo> | but in BuildQueue.populate() we don't |
| [16:04:50] | <pacopablo> | shouldn't be be passing the athname? |
| [16:05:07] | <pacopablo> | er, we |
| [16:12:19] | <pacopablo> | haha |
| [16:12:25] | <pacopablo> | well, it kind of works ;) |
| [16:12:46] | <pacopablo> | managed to get it into what appeared to be an infinite loop of builds ;) |
| [16:17:21] | <osimons> | pacopablo: it will only populate from the list already passed from collect_changes (and thereby approved) |
| [16:17:46] | <pacopablo> | populate call collect_chagnes |
| [16:18:02] | <pacopablo> | er, populate calls collect_changes |
| [16:18:16] | <osimons> | oh - i see |
| [16:20:16] | <pacopablo> | so, right now I got it to do a build |
| [16:20:24] | <pacopablo> | but then it seems to keep on doing the build |
| [16:20:51] | <pacopablo> | then the subsequent builds are for the root |
| [16:20:51] | <pacopablo> | the semi weird thing is that the first build appers to be for the path I specify |
| [16:20:52] | <pacopablo> | make any sense? |
| [16:21:04] | <osimons> | well, all it does is populate the db with builds in pending status - it does not retrieve any info or pass any out |
| [16:21:34] | <osimons> | that depends on the actual client (slave) accessing the build and the authname then used |
| [16:21:37] | <pacopablo> | BuildQueue.populate? |
| [16:22:33] | <pacopablo> | hmm, well for multirepos, the call I'm using: get_repository_by_path, requires the authname |
| [16:22:36] | <pacopablo> | http://trac.edgewall.org/browser/sandbox/multirepos/trac/versioncontrol/api.py#L455 |
| [16:23:06] | <pacopablo> | hmm, maybe passing None as the authname will be sufficient |
| [16:23:17] | <osimons> | yeah - get get_build_for_slave() on the other hand should match, but if not all it gets is Forbidden when it tries to check out |
| [16:24:38] | <osimons> | it bitten is set to create builds for all revisions and platforms, it does so. but it does not really deal with repos other than populating builds and reporting - all repos access is directly from client anyway |
| [16:24:55] | <pacopablo> | k |
| [16:25:32] | <osimons> | pacopablo: however, only looked at this for a couple of weeks - and certainly not with a view from the repos side... make notes, and do say if things look wrong |
| [16:26:16] | <pacopablo> | hehe, thanks, will do |
| [16:26:26] | <pacopablo> | still trying to feel my way around |
| [16:26:45] | <pacopablo> | I dont' really have a good idea of what bitten is trying to do, so some things do seem a bit confusing |
| [16:27:59] | <pacopablo> | how does the slave report that it finished? |
| [16:28:46] | <osimons> | well, in essence it collects changes and creates a build (pending) for each platform of each active config matching repos path. slave does all the work and reports xml using regular requests. master just stores on build |
| [16:28:55] | <pacopablo> | warning minro flood: |
| [16:28:56] | <pacopablo> | 009-07-31 16:14:52,810 Trac[main] DEBUG: Dispatching <Request "DELETE u'/builds/2'"> |
| [16:28:59] | <pacopablo> | 2009-07-31 16:14:52,812 Trac[api] INFO: Synchronized default repository in 0.00 seconds |
| [16:29:02] | <pacopablo> | 2009-07-31 16:14:52,813 Trac[perm] DEBUG: No policy allowed anonymous performing BUILD_EXEC on None |
| [16:29:12] | <pacopablo> | I wonder if it's related to the auth patch |
| [16:29:24] | <pacopablo> | perhaps it's pulling the build, but can't report that it's done |
| [16:29:30] | <pacopablo> | and so pulls it again? |
| [16:29:55] | <osimons> | does anonymous have BUILD_EXEC? |
| [16:30:01] | <pacopablo> | no |
| [16:30:08] | <pacopablo> | I created a user |
| [16:30:16] | <pacopablo> | and the slave shoudl be authing as said user |
| [16:30:41] | <osimons> | so you are not authorized from the slave making the request - turn on -v for verbose (debug) logging on slave, it should say how it authorizes |
| [16:30:53] | <pacopablo> | k |
| [16:31:39] | <osimons> | all slave logic is contained in slave.py - at least how it polls for jobs, starts builds, builds and reports each step etc. |
| [16:33:19] | <osimons> | even "setup-slave.py install" works now, and all it does is slave.py + recipe/config/xml stuff it needs with no dependencies on trac etc -- all the rest is just for the master (trac) |
| [16:33:48] | <osimons> | (basically build/, recipe and util/) |
| [16:33:54] | <pacopablo> | ok, so somethign iw srong with the slave login |
| [16:34:13] | <osimons> | not surprising... :-) |
| [16:34:27] | <pacopablo> | [DEBUG ] Enabling authentication with username 'bittenslave' |
| [16:34:27] | <pacopablo> | [DEBUG ] Authentication not provided. Attempting to execute build anonymously. |
| [16:34:41] | <pacopablo> | yet it manages to login to get teh build |
| [16:35:41] | <pacopablo> | looks like I'v got more code to dig into ;) |
| [17:43:26] | <pacopablo> | ok, so, found issue |
| [17:43:34] | <pacopablo> | you latest patch to #208 |
| [17:43:40] | <pacopablo> | has at least two problems |
| [17:44:03] | <pacopablo> | first, it doesn't same the username from the config.ini to the BuildSlave object |
| [17:44:40] | <pacopablo> | so when it goes to check to see if it needs to do the HEAD, then it fails an saysit's going to do it without auth |
| [17:49:34] | <CIA-7> | r683 by osimons in bitten/admin.py: 0.6dev: Removing whitespace from target platform rules admin. Fixes #336. |
| [18:19:21] | <pacopablo> | ahh, you hadn't updated your patch for the username/auth_cookie issue |
| [18:35:04] | <pacopablo> | appearantly account manager has issues with HEAD requests :) |
| [18:35:17] | <pacopablo> | 'doh! |
| [18:44:44] | <CIA-7> | r684 by osimons in bitten/slave.py: 0.6dev: Logging start + stop time for the slave. Closes #268. |
| [18:45:41] | <pacopablo> | ahh, it's the HTTPAuthPlugin that doesn't allow HEAD requests |
| [18:47:17] | <pacopablo> | er, maybe it's not |
| [18:47:21] | * | pacopablo is really confused right now |
| [18:47:37] | <osimons> | i don't know - i use basic auth + digest auth only, no accountmanager... |
| [18:47:56] | <pacopablo> | yeah, I'm using account manager |
| [18:48:00] | <pacopablo> | + HTTPAuthPlugin |
| [18:48:09] | <pacopablo> | to rpovide basic auth on /login/builds |
| [18:48:21] | <pacopablo> | but it's not working properly |
| [18:48:33] | <pacopablo> | if I give a HEAD request, then it complains that Authentication isn't configured |
| [18:49:11] | <pacopablo> | if I git a GET, then it bombs with a 405: Method Not Allowed |
| [18:51:34] | <pacopablo> | hmm, but I also use the permredirect plugin |
| [18:51:41] | <pacopablo> | I wonder if that's also messing with it |
| [18:51:54] | <pacopablo> | wow, what a quagmire |
| [18:54:31] | <pacopablo> | 2009-07-31 18:53:42,657 Trac[filter] DEBUG: HTTPAuthFilter: Authentication okay for bittenslave |
| [18:54:34] | <pacopablo> | 2009-07-31 18:53:42,659 Trac[main] WARNING: HTTPInternalError: 500 Trac Error (Authentication information not available. Please refer to the <a href="/support/wiki/TracInstall#ConfiguringAuthentication" title="Configuring Authentication">installation documentation</a>.) |
| [18:54:38] | <pacopablo> | grr |
| [18:57:02] | <CIA-7> | r685 by osimons in (5 files in 3 dirs): 0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test. |
| [18:59:42] | <osimons> | pacopablo: another vote for getting #208 fixed once and for all, perhaps...? :-) |
| [19:00:02] | <osimons> | and the new count of open tickets is... wait for it.... 99! |
| [19:00:12] | <pacopablo> | woowoo! |
| [19:00:23] | <pacopablo> | osimons: well, I'm working on #208 :) |
| [19:00:27] | <pacopablo> | as well as #342 |
| [19:00:48] | <osimons> | goodie :-) |
| [19:01:12] | <osimons> | i have quite a bit still remaining in my hg mq patch queue... |
| [19:06:44] | <pacopablo> | hehe, that's goign to be the fun part for me |
| [19:06:56] | <pacopablo> | I'm old skool and am developing on a patch svn checkout ;) |
| [19:07:27] | <pacopablo> | should really use git svn to do the development |
| [19:07:30] | <pacopablo> | oh well |
| [19:24:54] | <CIA-7> | r686 by osimons in bitten/tests/master.py: 0.6dev: Follow-up to [685] - fix 1 failing test. |
| [19:25:28] | <pacopablo> | I think it would be great if bitten had no tests itself :) |
| [19:27:28] | <osimons> | such a pain, indeed - although i've added ~20 in the last weeks... |
| [19:28:23] | <osimons> | that's what i'm doing now for another patch - i've made it work, it looks good and works well. but does the doc test pass now? nooooo.... |
| [19:36:13] | <pacopablo> | hehe |
| [19:37:43] | <CIA-7> | r687 by osimons in bitten/ (2 files in 2 dirs): 0.6dev: Fixing browse source coverage annotation. Also fixes tests (source paths starts with '/', reduces log amount, and tones down the red and green ... |
| [19:37:55] | <osimons> | well, now it does :-) |
| [20:04:55] | * | osimons sleeps. night. |
| [21:04:00] | <pacopablo> | wb retracile |

Select Date