# Progress #
* Transitioning into the LAVA team from the System team
* Setting up local LAVA development/deployment
* Browsing into LAVA code to get used to it
* Code reviews for the System team
* Bugs
* #583 (https://bugs.linaro.org/show_bug.cgi?id=583)
# Plan #
* Complete local LAVA setup
* Continue support to the Systems team
--
Milo Casagrande
Linaro.org <www.linaro.org> │ Open source software for ARM SoCs
When hard_reset_command is the empty string, it's supposed to fall
through and send the hardreset command through as a conmux command
(e.g. ~$hardreset). However, the check for the existence of a
hard_reset_command also fails for the empty string, so it never falls
through.
Signed-off-by: Kevin Hilman <khilman(a)linaro.org>
---
Suggestion: Since nobody seems to actually be using this feature
except me, maybe the hard_reset_commmand (and power_off_command etc.)
should be generalize so that if the string starts with "console:",
then it sends the command over the serial console instead of runs it
at the shell. e.g.
hard_reset_command = console: ~$hardreset
power_off_cmd = console: ~$off
I started to implement but it didn't work as expected (see other post from me
today on the linaro-validation list.)
lava_dispatcher/device/bootloader.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lava_dispatcher/device/bootloader.py b/lava_dispatcher/device/bootloader.py
index 529ad8048356..c784e8e8b1f9 100644
--- a/lava_dispatcher/device/bootloader.py
+++ b/lava_dispatcher/device/bootloader.py
@@ -332,7 +332,7 @@ class BootloaderTarget(MasterImageTarget):
def _boot_linaro_image(self):
self.proc.empty_buffer()
if self._is_bootloader() and not self._booted:
- if self.config.hard_reset_command:
+ if self.config.hard_reset_command or self.config.hard_reset_command == "":
self._hard_reboot(self.proc)
self._run_boot()
else:
--
1.9.2
Hello,
I'm trying to generalize the power_off_cmd support so in addition to
running an arbitrary command, it can send a command over the serial
console. This is useful where conmux is abstracting not only the serial
console, but also the power control.
The patch below implements what I *think* is needed, and using that,
here's the tail end of the LAVA logs showing that it's at least trying
to send my commands:
84.3 2014-08-21 04:08:20 PM INFO: [ACTION-E] boot_linaro_image is finished successfully.
84.4 2014-08-21 04:08:20 PM DEBUG: KJH: power_off_cmd: console: ~$off,
84.5 2014-08-21 04:08:20 PM DEBUG: send (delay_ms=0): ~$
84.6 2014-08-21 04:08:20 PM DEBUG: send (delay_ms=0): off
84.7 2014-08-21 04:08:20 PM DEBUG: send (delay_ms=0):
But the commands don't get to the console, so the board never powers
down.
Any ideas what's going on here? Is the console being disconnected
before a power_off_cmd?
Kevin
>From 1a748eff537d47107b23bc0dd1e8d2871bde5550 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman(a)linaro.org>
Date: Thu, 21 Aug 2014 09:15:53 -0700
Subject: [PATCH] WIP: power_off_cmd: use conmux
---
lava_dispatcher/device/master.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lava_dispatcher/device/master.py b/lava_dispatcher/device/master.py
index 2036776b6d56..6bf20661bcd0 100644
--- a/lava_dispatcher/device/master.py
+++ b/lava_dispatcher/device/master.py
@@ -105,7 +105,14 @@ class MasterImageTarget(Target):
def power_off(self, proc):
if self.config.power_off_cmd:
- self.context.run_command(self.config.power_off_cmd)
+ logging.debug("KJH: power_off_cmd: %s, %s" %(self.config.power_off_cmd, type(self.config.power_off_cmd)))
+ if self.config.power_off_cmd.startswith("console:"):
+# console_cmd = self.config.power_off_cmd.split(':', 1)[1].strip()
+# self.proc.sendline(console_cmd)
+ self.proc.send("~$")
+ self.proc.sendline("off")
+ else:
+ self.context.run_command(self.config.power_off_cmd)
finalize_process(self.proc)
def deploy_linaro(self, hwpack, rfs, dtb, rootfstype, bootloadertype):
--
1.9.2
Hi,
I'm trying to run some android tests using multi-node API. In order to
make sure both nodes of the multi-node job are in known state I'm
using lava-wait test_started/test_finished signals to sync between
nodes. Signals are prefixed so they identify host-target
lava-test-shell pairs with unique names. This works well when there is
only one test scheduled in a job. If anything goes wrong, the worst
case is tests will time out. However in case there are more tests
scheduled in a single job, the flow control sometimes fails. It
happens when lava-test-shell times out on one node. In this scenario
I'm doing:
1. host (wait for test_started from target)
2. target -> test_started -> host
Tests are executed...
3. target (wait for test_finished from host)
4. time out on host
So in this scenario target waits for the test_finished signal and
eventually times out as well (as the signal never comes). At the same
time host node already starts executing next lava-test-shell when it
waits for test_started signal from target. So nodes go out of sync and
the job produces no results. Is there any way to avoid such situation?
Best Regards,
milosz
# Progress #
* Bug #173 - Unclear reporting of parameterised tests - fixed
* Show how long its been since the user joined in profile page.
* Fix time display at various places to be more human readable.
* LAVA-1490: Add info level logs on job start on master.
* patches / code / bugs / debugging - 60%
* code reviews - 20%
# Plan #
* Continue with pending cards and bugs
--
Senthil Kumaran
http://www.stylesen.org/http://www.sasenthilkumaran.com/