=== modified file 'lava_dispatcher/device/master.py' --- lava_dispatcher/device/master.py 2012-10-18 18:00:43 +0000 +++ lava_dispatcher/device/master.py 2012-10-22 19:44:28 +0000 @@ -74,6 +74,7 @@ } self.master_ip = None + self.device_version = None if config.pre_connect_command: logging_system(config.pre_connect_command) @@ -81,6 +82,9 @@ self.proc = self._connect_carefully(config.connection_command) atexit.register(self._close_logging_spawn) + def get_device_version(self): + return self.device_version + def power_on(self): self._boot_linaro_image() return self.proc @@ -365,6 +369,7 @@ runner = MasterCommandRunner(self) self.master_ip = runner.get_master_ip() + self.device_version = runner.get_device_version() lava_proxy = self.context.config.lava_proxy if lava_proxy: @@ -476,6 +481,20 @@ logging.debug("Master image IP is %s" % ip) return ip + def get_device_version(self): + rootfs_cmd = 'lava-master-image-info --master-image-rootfs' + self.run(rootfs_cmd, ['(.*)', pexpect.EOF, pexpect.TIMEOUT], timeout=5) + rootfs = self.match.group(1) + + hwpack_cmd = 'lava-master-image-info --master-image-hwpack' + self.run(hwpack_cmd, ['(.*)', pexpect.EOF, pexpect.TIMEOUT], timeout=5) + hwpack = self.match.group(1) + + version = '%s/%s' % (rootfs, hwpack) + version = re.sub('linaro-|hwpack_linaro-|\.tar\.gz', '', version) + return version + + def has_partition_with_label(self, label): if not label: return False