Mailinglist Archive: opensuse-buildservice (258 mails)

< Previous Next >
Re: [opensuse-buildservice] Linking two (private) OBS servers at different sites.
  • From: Troy Telford <ttelford.groups@xxxxxxxxx>
  • Date: Mon, 16 Aug 2010 12:59:28 -0600
  • Message-id: <201008161259.29096.ttelford.groups@xxxxxxxxx>
On Thursday, August 12, 2010 08:39:08 am Luke Imhoff wrote:
On Wed, 2010-08-11 at 12:59 -0500, Troy Telford wrote:
On Tuesday, August 10, 2010 03:29:33 am Adrian Schröter wrote:
However, if I look in /srv/obs/log/scheduler_arch.log, I see the
following repeated endlessly:

2010-08-09 19:02:13: waiting for an event...
retrying watcher for http://obsapi.foo.bar.com/public
setting up watcher for http://obsapi.foo.bar.com/public
2010-08-09 19:03:16: waiting for an event...
response from watcher for http://obsapi.foo.bar.com/public
400 remote error: Bad Request
retrying in 60 seconds

Any ideas on what I might be missing?

Not really, I would either add some debug code to print the request or
look in the logs of the remote instance.

You need to enable anonymous access.
Otherwise, the API will reject everything w/o an auth.

Erm, no, anonymous access is only for webui. /public is independend of
that.

Unfortunately, the log is as follows (each time it fails):
::ffff:128.162.244.210 obsapi.foo.bar.com - [11/Aug/2010:11:42:32 -0600]
::"POST

/public/lastevents HTTP/1.1" 400 154 "-" "BSRPC 0.9.1"

And I'm not sure where in the code to add any debugging...

BSRPC is from the perl backend server. I believe all the OBS to OBS
stuff is handled in bs_sched and any print statements will go directly
to the normal log for bs_sched.

I've been able to get the following out of the logs (One each for i586 and
x86_64; I only include one for brevity's sake...)
--------------------------------------------------------------------------
Processing PublicController#lastevents (for ::ffff:10.0.2.1 at 2010-08-16
12:25:37) [POST]
[I|#15339] Parameters: {"obsname"=>"obs2.foo.bar.com/x86_64",
"filter"=>"package/someproject/somepkg"}
[F|#15339]
InvalidHttpMethodError (Invalid HTTP Method: POST):
app/controllers/application_controller.rb:346:in `valid_http_methods'
app/controllers/public_controller.rb:107:in `lastevents'
public/dispatch.fcgi:24


[E|#15339] rescue_action: caught InvalidHttpMethodError: Invalid HTTP Method:
POST
[I|#15339] Rendering status
[I|#15339] errorcode 'invalid_http_method' - Invalid HTTP Method: POST
[I|#15339] Rendering status (400)
[I|#15339]
--------------------------------------------------------------------------
If I remove the package it's filtering on, I get the same error with the next
package (it appears to be iterating in reverse alphabetical order; and the
failure is on the first package queried).

Just for completeness, here's my project file that links the two OBS servers;
it's based on the opensuse.org.xml project file. Note one major difference:
my API is using http (instead of https, like api.opensuse.org)

<project name="mainobs">
<title>Main office OBS</title>
<description>This project refers to projects hosted on the Build Service at
the Main office. This is important especially for the base projects which
provides the distributions to build against by default. Your local Build
Service instance will request, download and cache all needed sources or binary
packages from the Main server when you build against it.

Use mainobs:SUSE:SLE-11sp1 for example to build against the SLES-11sp1 project
as specified on the Main OBS Build Service.
</description>
<remoteurl>http://obsapi.foo.bar.com/public</remoteurl>
<person role="maintainer" userid="Admin" />
</project>
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >