summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-19 16:04:24 +0000
committerSteve Sakoman <steve@sakoman.com>2024-01-04 04:09:44 -1000
commit0fdd3151749c31064079041c9e43e14d3ade6206 (patch)
tree68f6cc88dbe5457ff8597b949528ad3ecc188655
parent99f26364ced532a20793096cb98679db5c7e279f (diff)
downloadpoky-0fdd3151749c31064079041c9e43e14d3ade6206.tar.gz
testimage: Drop target_dumper and most of monitor_dumper
The target_dumper code is basically broken. It has been reading binary files over the text base serial communication and runs at every command failure which makes no sense. Each run might overwrite files from the previous run and the output appears corrupted due to confusion from the binary data. For now, remove the commands and the target dumper code as the command and execution point are problematic. Also remove the same pieces of the monitor code but leave the command list since in theory this can be moved to a more useful place in the code. (From OE-Core rev: 4c7aa982a996b23a4c5100c5a5a9390e26e5fe46) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a24d787987dccc95fdd95b7e85bf525a1c55b285) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/classes-recipe/testimage.bbclass16
-rw-r--r--meta/lib/oeqa/core/target/qemu.py10
-rw-r--r--meta/lib/oeqa/core/target/ssh.py20
-rw-r--r--meta/lib/oeqa/targetcontrol.py2
4 files changed, 1 insertions, 47 deletions
diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index c6b7a1e142..f36d941891 100644
--- a/meta/classes-recipe/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -109,21 +109,6 @@ TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
109 109
110TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME" 110TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME"
111 111
112testimage_dump_target () {
113 top -bn1
114 ps
115 free
116 df
117 # The next command will export the default gateway IP
118 export DEFAULT_GATEWAY=$(ip route | awk '/default/ { print $3}')
119 ping -c3 $DEFAULT_GATEWAY
120 dmesg
121 netstat -an
122 ip address
123 # Next command will dump logs from /var/log/
124 find /var/log/ -type f -name !wtmp* 2>/dev/null -exec echo "====================" \; -exec echo {} \; -exec echo "====================" \; -exec cat {} \; -exec echo "" \;
125}
126
127testimage_dump_monitor () { 112testimage_dump_monitor () {
128 query-status 113 query-status
129 query-block 114 query-block
@@ -352,7 +337,6 @@ def testimage_main(d):
352 target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None 337 target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None
353 target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or "" 338 target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or ""
354 target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or "" 339 target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or ""
355 target_kwargs['testimage_dump_target'] = d.getVar("testimage_dump_target") or ""
356 340
357 def export_ssh_agent(d): 341 def export_ssh_agent(d):
358 import os 342 import os
diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py
index 6893d10226..d93b3ac94a 100644
--- a/meta/lib/oeqa/core/target/qemu.py
+++ b/meta/lib/oeqa/core/target/qemu.py
@@ -14,8 +14,6 @@ from collections import defaultdict
14 14
15from .ssh import OESSHTarget 15from .ssh import OESSHTarget
16from oeqa.utils.qemurunner import QemuRunner 16from oeqa.utils.qemurunner import QemuRunner
17from oeqa.utils.dump import MonitorDumper
18from oeqa.utils.dump import TargetDumper
19 17
20supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] 18supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
21 19
@@ -47,14 +45,6 @@ class OEQemuTarget(OESSHTarget):
47 use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, logger=logger, 45 use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, logger=logger,
48 serial_ports=serial_ports, boot_patterns = boot_patterns, 46 serial_ports=serial_ports, boot_patterns = boot_patterns,
49 use_ovmf=ovmf, tmpfsdir=tmpfsdir) 47 use_ovmf=ovmf, tmpfsdir=tmpfsdir)
50 dump_monitor_cmds = kwargs.get("testimage_dump_monitor")
51 self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner)
52 if self.monitor_dumper:
53 self.monitor_dumper.create_dir("qmp")
54
55 dump_target_cmds = kwargs.get("testimage_dump_target")
56 self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
57 self.target_dumper.create_dir("qemu")
58 48
59 def start(self, params=None, extra_bootparams=None, runqemuparams=''): 49 def start(self, params=None, extra_bootparams=None, runqemuparams=''):
60 if self.use_slirp and not self.server_ip: 50 if self.use_slirp and not self.server_ip:
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py
index f4dd0ca417..09cdd14c75 100644
--- a/meta/lib/oeqa/core/target/ssh.py
+++ b/meta/lib/oeqa/core/target/ssh.py
@@ -48,8 +48,6 @@ class OESSHTarget(OETarget):
48 if port: 48 if port:
49 self.ssh = self.ssh + [ '-p', port ] 49 self.ssh = self.ssh + [ '-p', port ]
50 self.scp = self.scp + [ '-P', port ] 50 self.scp = self.scp + [ '-P', port ]
51 self._monitor_dumper = None
52 self.target_dumper = None
53 51
54 def start(self, **kwargs): 52 def start(self, **kwargs):
55 pass 53 pass
@@ -57,15 +55,6 @@ class OESSHTarget(OETarget):
57 def stop(self, **kwargs): 55 def stop(self, **kwargs):
58 pass 56 pass
59 57
60 @property
61 def monitor_dumper(self):
62 return self._monitor_dumper
63
64 @monitor_dumper.setter
65 def monitor_dumper(self, dumper):
66 self._monitor_dumper = dumper
67 self.monitor_dumper.dump_monitor()
68
69 def _run(self, command, timeout=None, ignore_status=True): 58 def _run(self, command, timeout=None, ignore_status=True):
70 """ 59 """
71 Runs command in target using SSHProcess. 60 Runs command in target using SSHProcess.
@@ -104,14 +93,7 @@ class OESSHTarget(OETarget):
104 93
105 status, output = self._run(sshCmd, processTimeout, ignore_status) 94 status, output = self._run(sshCmd, processTimeout, ignore_status)
106 self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) 95 self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output))
107 if (status == 255) and (('No route to host') in output): 96
108 if self.monitor_dumper:
109 self.monitor_dumper.dump_monitor()
110 if status == 255:
111 if self.target_dumper:
112 self.target_dumper.dump_target()
113 if self.monitor_dumper:
114 self.monitor_dumper.dump_monitor()
115 return (status, output) 97 return (status, output)
116 98
117 def copyTo(self, localSrc, remoteDst): 99 def copyTo(self, localSrc, remoteDst):
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index e21655c979..6e8b781973 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -103,7 +103,6 @@ class QemuTarget(BaseTarget):
103 self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("IMAGE_LINK_NAME") + '.' + self.image_fstype) 103 self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("IMAGE_LINK_NAME") + '.' + self.image_fstype)
104 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin') 104 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin')
105 self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) 105 self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime)
106 dump_target_cmds = d.getVar("testimage_dump_target")
107 dump_monitor_cmds = d.getVar("testimage_dump_monitor") 106 dump_monitor_cmds = d.getVar("testimage_dump_monitor")
108 dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") 107 dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
109 if not dump_dir: 108 if not dump_dir:
@@ -144,7 +143,6 @@ class QemuTarget(BaseTarget):
144 tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), 143 tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"),
145 serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) 144 serial_ports = len(d.getVar("SERIAL_CONSOLES").split()))
146 145
147 self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
148 self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) 146 self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner)
149 if (self.monitor_dumper): 147 if (self.monitor_dumper):
150 self.monitor_dumper.create_dir("qmp") 148 self.monitor_dumper.create_dir("qmp")