On a system wide install, in order to successfuly parse
autotest server results, the parse utility must be available.

So let's create the new system wide installable autotest-tko-parse,
and adapt the scheduler to call it correctly.

Changes from v1:
 * parse.main() must be called rather than just main()

CC: Cleber Rosa <[email protected]>
CC: Martin Krizek <[email protected]>
Signed-off-by: Lucas Meneghel Rodrigues <[email protected]>
---
 scheduler/drone_manager.py |  2 +-
 scheduler/monitor_db.py    |  7 ++++++-
 tko/autotest-tko-parse     | 10 ++++++++++
 tko/setup.py               |  1 +
 4 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100755 tko/autotest-tko-parse

diff --git a/scheduler/drone_manager.py b/scheduler/drone_manager.py
index 1e888fd..172ae11 100644
--- a/scheduler/drone_manager.py
+++ b/scheduler/drone_manager.py
@@ -317,7 +317,7 @@ class DroneManager(object):
 
 
     def _add_autoserv_process(self, drone, process_info):
-        assert process_info['comm'] == 'autoserv'
+        assert process_info['comm'] in ['autoserv', 'autotest-remote']
         # only root autoserv processes have pgid == pid
         if process_info['pgid'] != process_info['pid']:
             return
diff --git a/scheduler/monitor_db.py b/scheduler/monitor_db.py
index fec018f..361372a 100644
--- a/scheduler/monitor_db.py
+++ b/scheduler/monitor_db.py
@@ -60,7 +60,12 @@ _drone_manager = None
 
 
 def _parser_path_default(install_dir):
-    return os.path.join(install_dir, 'tko', 'parse')
+    try:
+        return os_dep.command('autotest-tko-parse')
+    except ValueError:
+        return os.path.join(install_dir, 'tko', 'parse')
+
+
 _parser_path_func = utils.import_site_function(
         __file__, 'autotest.scheduler.site_monitor_db',
         'parser_path', _parser_path_default)
diff --git a/tko/autotest-tko-parse b/tko/autotest-tko-parse
new file mode 100755
index 0000000..ef0d18b
--- /dev/null
+++ b/tko/autotest-tko-parse
@@ -0,0 +1,10 @@
+#!/usr/bin/python -u
+
+try:
+    import autotest.common
+except ImportError:
+    import common
+from autotest.tko import parse
+
+if __name__ == "__main__":
+    parse.main()
diff --git a/tko/setup.py b/tko/setup.py
index 47c3c8e..c8562c7 100644
--- a/tko/setup.py
+++ b/tko/setup.py
@@ -40,5 +40,6 @@ setup(name='autotest',
                                          ]),
                  ],
       scripts=[tko_dir + '/autotest-db-delete-job',
+               tko_dir + '/autotest-tko-parse',
                ],
 )
-- 
1.7.11.4

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to