Edgewall Software
Modify

Opened 11 years ago

Closed 11 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: Changed 11 years ago by hodgestar

  • Cc hodgestar added

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.

comment:2 in reply to: ↑ 1 ; follow-ups: Changed 11 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 11 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: Changed 11 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: Changed 11 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: Changed 11 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: Changed 11 years ago by J. Berger <jeberger@…>

Replying to osimons:

Close this ticket?

Yes, go ahead, and thank you.

comment:8 in reply to: ↑ 7 Changed 11 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.

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.