[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1345/8267] bitbake: bitbake: xmlrpc: implement check of connection to server



commit 6597ba6b43fff2c8d8179090b4c92ce511c84a20
Author: Ed Bartosh <ed bartosh linux intel com>
Date:   Mon Jul 18 19:07:16 2016 +0300

    bitbake: bitbake: xmlrpc: implement check of connection to server
    
    Implemented check_connection function. The purpose of this function
    is to check if bitbake server is accessible and functional.
    To check this this function tries to connect to bitbake server and
    run getVariable command.
    
    This API is going to be used to implement autoloading of bitbake
    server.
    
    [YOCTO #5534]
    
    (Bitbake rev: 1a18f5ceb478f766b53850451549333f655621ea)
    
    Signed-off-by: Ed Bartosh <ed bartosh linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/server/xmlrpc.py |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index 57c59a8..4131b52 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -85,6 +85,23 @@ def _create_server(host, port, timeout = 60):
     s = xmlrpc.client.ServerProxy("http://%s:%d/"; % (host, port), transport=t, allow_none=True, 
use_builtin_types=True)
     return s, t
 
+def check_connection(remote, timeout):
+    try:
+        host, port = remote.split(":")
+        port = int(port)
+    except Exception as e:
+        bb.warn("Failed to read remote definition (%s)" % str(e))
+        raise e
+
+    server, _transport = _create_server(host, port, timeout)
+    try:
+        ret, err =  server.runCommand(['getVariable', 'TOPDIR'])
+        if err or not ret:
+            return False
+    except ConnectionError:
+        return False
+    return True
+
 class BitBakeServerCommands():
 
     def __init__(self, server):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]