lava_rpc_connector: use authenticated REST API to download logs

When downloading logs for restricted devices one needs to use
authenticated GET calls. This is complicated when using web UI so this
implementation uses REST API which only requires passing proper headers.

Reported-by: Karl Zhang <karl.zhang@arm.com>
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
Change-Id: I67e3b5b97fe96de92e38334ef6279984d00914e3
diff --git a/tfm_ci_pylib/lava_rpc_connector.py b/tfm_ci_pylib/lava_rpc_connector.py
index f1767fe..80e0ff6 100644
--- a/tfm_ci_pylib/lava_rpc_connector.py
+++ b/tfm_ci_pylib/lava_rpc_connector.py
@@ -54,6 +54,7 @@
                                            hostname)
 
         self.server_job_prefix = "%s/scheduler/job/%%s" % self.server_url
+        self.server_api = "%s/api/v0.2/" % self.server_url
         self.server_results_prefix = "%s/results/%%s" % self.server_url
         self.token = token
         self.username = username
@@ -97,9 +98,13 @@
         return job_def, def_o.get('metadata', [])
 
     def get_job_log(self, job_id, target_out_file):
-        log_url = "{}/log_file/plain".format(self.server_job_prefix % job_id)
-        r = requests.get(log_url, stream=True)
-        if not r:
+        auth_headers = {"Authorization": "Token %s" % self.token}
+        log_url = "{server_url}/jobs/{job_id}/logs/".format(
+            server_url=self.server_api, job_id=job_id
+        )
+        r = requests.get(log_url, stream=True, headers=auth_headers)
+        if r.status_code != 200:
+            print("{} - {}".format(log_url, r.status_code))
             return
         with open(target_out_file, "w") as target_out:
             try: