On Thu, Aug 19, 2021 at 6:47 PM Scott Murray wrote: > From: Paul Barker > > Update the prserv client and server classes to use the modern json and > asyncio based RPC system implemented by the asyncrpc module. > > Signed-off-by: Paul Barker > [updated for asyncrpc changes, client split to separate file] > Signed-off-by: Scott Murray > > .... > - def export(self,version=None, pkgarch=None, checksum=None, > colinfo=True): > - return self.connection.export(version, pkgarch, checksum, colinfo) > +class PRServSingleton(object): > + def __init__(self, dbfile, logfile, host, port): > + self.dbfile = dbfile > + self.logfile = logfile > + self.host = host > + self.port = port > > - def importone(self, version, pkgarch, checksum, value): > - return self.connection.importone(version, pkgarch, checksum, > value) > + def start(self): > + self.prserv = PRServer(self.dbfile) > + self.prserv.start_tcp_server(self.host, self.port) > + self.process = self.prserv.serve_as_process() > > - def getinfo(self): > - return self.host, self.port > + if not self.port: > + self.port = int(self.prserv.address.rsplit(':', 1)[1]) > > Hi, I've tried this when running inside docker container and it failed with a bit ugly exception: bitbake@599696cd20aa:~/nodistro/honister$ bitbake -k pkgconfig-native Traceback (most recent call last): File "/OE/nodistro/honister/bitbake/bin/bitbake", line 35, in sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv), File "/OE/nodistro/honister/bitbake/lib/bb/main.py", line 385, in bitbake_main return ui_module.main(server_connection.connection, server_connection.events, File "/OE/nodistro/honister/bitbake/lib/bb/ui/knotty.py", line 397, in main params.updateToServer(server, os.environ.copy()) File "/OE/nodistro/honister/bitbake/lib/bb/cookerdata.py", line 75, in updateToServer raise Exception("Unable to update the server configuration with local parameters: %s" % error) Exception: Unable to update the server configuration with local parameters: Traceback (most recent call last): File "/OE/nodistro/honister/bitbake/lib/bb/command.py", line 90, in runCommand result = command_method(self, commandline) File "/OE/nodistro/honister/bitbake/lib/bb/command.py", line 286, in updateConfig command.cooker.updateConfigOpts(options, environment, cmdline) File "/OE/nodistro/honister/bitbake/lib/bb/cooker.py", line 491, in updateConfigOpts self.reset() File "/OE/nodistro/honister/bitbake/lib/bb/cooker.py", line 1717, in reset self.handlePRServ() File "/OE/nodistro/honister/bitbake/lib/bb/cooker.py", line 383, in handlePRServ self.prhost = prserv.serv.auto_start(self.data) File "/OE/nodistro/honister/bitbake/lib/prserv/serv.py", line 318, in auto_start singleton.start() File "/OE/nodistro/honister/bitbake/lib/prserv/serv.py", line 133, in start self.port = int(self.prserv.address.rsplit(':', 1)[1]) AttributeError: 'NoneType' object has no attribute 'rsplit' after removing the rsplit it shows better error message: bitbake@599696cd20aa:~/nodistro/honister$ bitbake -k pkgconfig-native WARNING: Error talking to server: Multiple exceptions: [Errno 111] Connect call failed ('127.0.0.1', 0), [Errno 99] Cannot assign requested address WARNING: Error talking to server: Multiple exceptions: [Errno 111] Connect call failed ('127.0.0.1', 0), [Errno 99] Cannot assign requested address WARNING: Error talking to server: Multiple exceptions: [Errno 111] Connect call failed ('127.0.0.1', 0), [Errno 99] Cannot assign requested address WARNING: Error talking to server: Multiple exceptions: [Errno 111] Connect call failed ('127.0.0.1', 0), [Errno 99] Cannot assign requested address ERROR: PRservice localhost:0 not available ERROR: Unable to start PR Server, exitting It would be nice to improve the error handling a bit. Regards,