Message ID | 20240502141830.1137815-1-JPEWhacker@gmail.com |
---|---|
State | New |
Headers | show |
Series | cooker: Use hash client to ping upstream server | expand |
Disregard. Wrong mailing list On Thu, May 2, 2024 at 8:18 AM Joshua Watt <jpewhacker@gmail.com> wrote: > > The cooker attempts to connect to the upstream hash equivalent server to > warn the user early if it is misconfigured. However, this was making the > assumption that it was a raw TCP connection and failed when attempting > to use a websocket upstream server. Fix this by creating an hash client > and using the ping API to check the server instead of using a raw > socket. > > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> > --- > bitbake/lib/bb/cooker.py | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py > index c5bfef55d67..25b614f1e44 100644 > --- a/bitbake/lib/bb/cooker.py > +++ b/bitbake/lib/bb/cooker.py > @@ -315,11 +315,10 @@ class BBCooker: > dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" > upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None > if upstream: > - import socket > try: > - sock = socket.create_connection(upstream.split(":"), 5) > - sock.close() > - except socket.error as e: > + with hashserv.create_client(upstream) as client: > + client.ping() > + except ConnectionError as e: > bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s" > % (upstream, repr(e))) > > -- > 2.34.1 >
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index c5bfef55d67..25b614f1e44 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -315,11 +315,10 @@ class BBCooker: dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None if upstream: - import socket try: - sock = socket.create_connection(upstream.split(":"), 5) - sock.close() - except socket.error as e: + with hashserv.create_client(upstream) as client: + client.ping() + except ConnectionError as e: bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s" % (upstream, repr(e)))
The cooker attempts to connect to the upstream hash equivalent server to warn the user early if it is misconfigured. However, this was making the assumption that it was a raw TCP connection and failed when attempting to use a websocket upstream server. Fix this by creating an hash client and using the ping API to check the server instead of using a raw socket. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> --- bitbake/lib/bb/cooker.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)