Opened 15 years ago
Closed 15 years ago
#551 closed defect (worksforme)
Admin interfaces asks that I change namespace but when I do, builds stop working.
Reported by: | J. Berger <jeberger@…> | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | General | Version: | dev |
Keywords: | Cc: | hodgestar | |
Operating System: | Windows |
Description
The Bitten admin interface displays the following warning:
Notice: Recipe uses a deprecated namespace. Replace 'http://bitten.cmlenz.net/tools/' with 'http://bitten.edgewall.org/tools/'.
When I obey, the notice disappears, but builds fail with an InvalidRecipe exception. This is with trunk revision [815].
Attachments (0)
Change History (8)
comment:1 follow-up: ↓ 2 Changed 15 years ago by hodgestar
- Cc hodgestar added
comment:2 in reply to: ↑ 1 ; follow-ups: ↓ 3 ↓ 4 Changed 15 years ago by J. Berger <jeberger@…>
Replying to hodgestar:
Has the slave also been update (I assume so but it helps to be sure)?
Yes, both the slave and the server are at the same version. I just ran a "diff" on the two folders just to be sure and the only difference is the addition of ", errors='replace'" on line 104 in utils/xmlio.py as per my comments on #243.
Note however that when I run the slave directly on the server (Linux), the problem does not happen.
If it has, what was the message associated with the Invalid Recipe? exception? Maybe also paste the relevant parts of the recipe and traceback in the exception message looks unhelpful.
Here's the trace from the console:
>bitten-slave --user=bitten-slave --password=bitten -d . -v http://.../builds [INFO ] Slave launched at 2010-03-12 10:59:37 [DEBUG ] Enabling authentication with username 'bitten-slave' [DEBUG ] Performing basic/digest authentication [DEBUG ] Sending HEAD request to 'http://.../login?referer=http%3A%2F%2F...%2Fbuilds' [DEBUG ] Configured packages: {} [DEBUG ] Sending slave configuration: <slave version="3" name="xxx"><platform processor=""/><os version="" family="nt">Windows</os></slave> [DEBUG ] Sending POST request to 'http://xxx/builds' [INFO ] Build pending at http://xxx/builds/15 [DEBUG ] Sending GET request to 'http://xxx/builds/15' [DEBUG ] Running build in directory M:\Workspaces\Bitten\work\build_Test_15 [INFO ] Executing build step 'checkout' [ERROR ] Internal error in build step 'checkout' Traceback (most recent call last): File "c:\python25\lib\site-packages\bitten\slave.py", line 335, in _execute_step output File "c:\python25\lib\site-packages\bitten\util\xmlio.py", line 85, in __getitem__ self.append(node) File "c:\python25\lib\site-packages\bitten\util\xmlio.py", line 104, in append self.children.append(unicode(node, errors='replace')) TypeError: coercing to Unicode: need string or buffer, InvalidRecipeError found
And here's the recipe:
<build xmlns:svn="http://bitten.edgewall.org/tools/svn"> <step id="checkout" description="Checkout the source from SVN"> <svn:checkout url="http://..." path="${path}" revision="${revision}"/> </step> </build>
comment:3 in reply to: ↑ 2 Changed 15 years ago by J. Berger <jeberger@…>
Replying to J. Berger <jeberger@…>:
Given that this traceback is not very helpfull, I've patched utils/xmlio.py to re-raise the exception instead of trying to convert it to unicode if node is an exception. The result is the following traceback:
[ERROR ] Internal error in build step 'checkout' Traceback (most recent call last): File "c:\python25\lib\site-packages\bitten\slave.py", line 335, in _execute_step output File "c:\python25\lib\site-packages\bitten\util\xmlio.py", line 85, in __getitem__ self.append(node) File "c:\python25\lib\site-packages\bitten\util\xmlio.py", line 101, in append raise node InvalidRecipeError: Unknown recipe command http://bitten.edgewall.org/tools/svn#checkout
(Is there a way to get the traceback for the original exception in Python? I was unable to find how...)
comment:4 in reply to: ↑ 2 ; follow-up: ↓ 5 Changed 15 years ago by osimons
Replying to J. Berger <jeberger@…>:
Yes, both the slave and the server are at the same version. I just ran a "diff" on the two folders just to be sure...
The tools declarations are part of the egg-info created when running setup.py. I suspect you may just have updated the source but not done a new setup.py install|develop|bdist_egg or similar to get the new metainfo operative.
comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 15 years ago by J. Berger <jeberger@…>
Replying to osimons:
Replying to J. Berger <jeberger@…>:
Yes, both the slave and the server are at the same version. I just ran a "diff" on the two folders just to be sure...
The tools declarations are part of the egg-info created when running setup.py. I suspect you may just have updated the source but not done a new setup.py install|develop|bdist_egg or similar to get the new metainfo operative.
No, I did do a "setup.py bdist_wininst" and an install. However, it looks like it kept an old version of the egg info alongside the new one. When I uninstalled and reinstalled bitten, only the new egg info remained and the slave now works.
No idea if the problem is something Bitten does or a bug in the Python distutils...
comment:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 15 years ago by osimons
Replying to J. Berger <jeberger@…>:
No idea if the problem is something Bitten does or a bug in the Python distutils...
Nah, it will just be disorder and mixup in the metadata. Nothing Bitten itself can do about it really.
Close this ticket?
comment:7 in reply to: ↑ 6 ; follow-up: ↓ 8 Changed 15 years ago by J. Berger <jeberger@…>
comment:8 in reply to: ↑ 7 Changed 15 years ago by osimons
- Milestone 0.6.1 deleted
- Resolution set to worksforme
- Status changed from new to closed
Replying to J. Berger <jeberger@…>:
Replying to osimons:
Close this ticket?
Yes, go ahead, and thank you.
Oki. Closed.
Has the slave also been update (I assume so but it helps to be sure)?
If it has, what was the message associated with the Invalid Recipe? exception? Maybe also paste the relevant parts of the recipe and traceback in the exception message looks unhelpful.