From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7188033154287927296 X-Received: by 2002:a05:600c:49aa:b0:3da:1dc7:6af2 with SMTP id h42-20020a05600c49aa00b003da1dc76af2mr2124123wmp.164.1674544457075; Mon, 23 Jan 2023 23:14:17 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:2317:b0:3cf:afd2:ab84 with SMTP id 23-20020a05600c231700b003cfafd2ab84ls7726909wmo.2.-pod-control-gmail; Mon, 23 Jan 2023 23:14:16 -0800 (PST) X-Google-Smtp-Source: AMrXdXvGnZKbKwhe7uMPXhLkq//FaYcMs+nZnwVWWO3TCZeHbBIqIbowwFuiUDLDlr6WpL0RriPK X-Received: by 2002:a05:600c:434b:b0:3d9:cc40:a8dc with SMTP id r11-20020a05600c434b00b003d9cc40a8dcmr25249701wme.27.1674544456016; Mon, 23 Jan 2023 23:14:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1674544456; cv=pass; d=google.com; s=arc-20160816; b=el/kNVud1CzOcxRfHe044khq/D2MBWOCWXm805lw6c1sciJInQfc6/TM+73Ru1v9Ms W8mZte4cbXg4m8oggKVeecZnYxVGLfjfr1HwwgBwUCAE/DxUcDnP1SKNQb1cCerm6XD8 gQdE68v83wqV+ThZ8aeyIwC2vgewayh1X6ZUeIZGNerP5pFoKCSwzR0sTwNoPtEjqRfh tRrMQpIoAsG2KXS9kS2jKwOMItGE2zxWBgsWaKE5hk/pzYIeN6oNKKJbO4mM2Rk1ZtNY iGnWFN6JhU0cNUFuL6gfnonRXBLYc62sxZTIiW1RkmNtLtekn56kIgUQIINvfRcah2BD x+hA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=DO7BquGdpDgDPxG7xF7vEbxpOuVhlmO5GvG+/anbDTI=; b=NF9fmDCKshy6veFwBsLOkXc1thJ5maMbJI+Q4PVqfWI9XgiEUyephLQpJqaIUkwEsz r1EM+hiaQARgjHvz5RsFZcF/akhZWJfupx5/8j7dEQsTFSeyKlvIipSRbLCPyzeJHa16 SvA/By8MFZj7h62KjIpNPW0PZllBL0l0h0MvvLAwtVuqIt/H2BVs0nEPTs5S5FlfB2hY 4v72Ic7uX4tCJJuas0KhsKsc2K9WxHFd/KwS/mhfKtaw5wjCZWTshsdiFrPpe95wpHT5 wKlMPAG9h0BWWRJyLkL1wWjG7PUyf2P/ewRFOvvRh31tC0K3uqLjYYhE6lgMmPgGiHyU bXrA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=iCta0hi2; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.80 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2080.outbound.protection.outlook.com. [40.107.7.80]) by gmr-mx.google.com with ESMTPS id e9-20020a05600c4e4900b003d9c73c820asi41958wmq.3.2023.01.23.23.14.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jan 2023 23:14:15 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.80 as permitted sender) client-ip=40.107.7.80; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=iCta0hi2; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.80 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ReADQO4/lAvnLDj7Z4tD7UHrkLT6pF1trNSK6kDzT/s4auEbx0VGq+6gr+0aqZxTP3oD4fvh9e+J0Sr2s8Qm3E6BA0bEX63Ogr1JrsXPuYboP9ipGiFTX5e/FPB+IxL45YaOEJCkjQfWGEivwYFaqBfiU6anV79ZkqlwfSWeGrKONiFWp6y+PoxZEPvovyAF0Orm4KTgUKv4XuAYu8GleKQFjxQ/l0uGYlF8fXCTgDS7VKdeiqOpMZ+dKaxJvAX/VYtE0GPuhkLu7G4jxHVqJLy5uoHKrAYGB1ELEYqt7wCfvTPvSsFm7/DquMaupD5yzCr1qeV8P/MF52s4PAWUQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DO7BquGdpDgDPxG7xF7vEbxpOuVhlmO5GvG+/anbDTI=; b=UU3KXfydGtYCuV0ZR6wrb/oOU2BdIEeWQLJX/P+m+1AISEgTpHFtRMIZh0lLYTQng9sDLIWU0jFIi5mbqswr0dskIcezolXf8G6WMqdr0wRF6KuW7jcnI6kiREs3+0cG9whEbwggOMuS26IkrpDNFQAliRj0lXRi0RMUaJul+sUBkZXFX2jp0k8xIk/mIOlygaBxVZONdAkBgtPiKyGtNm2bbgAeQiOSU8ykoAdBG8GNKoqhXyMsdLW6LeG2lc09N2vPm5qRDwZyQzzmAAgCe/JKicce5Bz2DNrwAnvIkof3yV7ri4GR2us9qKlKbk4+nJPEbLtBsJdxAZ0KhwfTHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DO7BquGdpDgDPxG7xF7vEbxpOuVhlmO5GvG+/anbDTI=; b=iCta0hi2IyBvPO/tnz977d8HQ+vWps9C9sMUFKvdKRjBiuAj6eU52V1zM5dP1LJP+1EC32mOG5IPqTr6yGkV/11iPebKUN1OdXX3XJGtqaLcZQy5QUS1gRkbUyQ8vKlOKR2gm1khA8a0cvfK0VseHgEwRpClnOkd8oBrwHA9zwUs4jWd+5PKx14DVb0xLRJb18Zmv8EHv/aWcQzxHsQB3mD1aGIt8dReGNlPisYSVX/ik8i+xJybAkPJIYnFnw4anEU8UM7aEZ50tHNO3EbNnAUxfiHRgbYwWJa3ee/E/ro+Au9FLUPrNQJW1GpaHyEw1p7IebM/jmLFlplowzqCZA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by AS8PR10MB7729.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:63e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Tue, 24 Jan 2023 07:14:14 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79%4]) with mapi id 15.20.6002.033; Tue, 24 Jan 2023 07:14:14 +0000 Date: Tue, 24 Jan 2023 08:14:04 +0100 From: Henning Schild To: Uladzimir Bely Cc: isar-users@googlegroups.com Subject: Re: [PATCH 08/11] testsuite: Support running custom commands in VM Message-ID: <20230124081404.25aa167c@md1za8fc.ad001.siemens.net> In-Reply-To: <20230113071942.22506-9-ubely@ilbers.de> References: <20230113071942.22506-1-ubely@ilbers.de> <20230113071942.22506-9-ubely@ilbers.de> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.35; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN4PR0501CA0055.namprd05.prod.outlook.com (2603:10b6:803:41::32) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|AS8PR10MB7729:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d4f8d79-97eb-4a3c-2d2b-08dafdda994c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eTEzxwgnt3ErnNd6jWWYFz8P9ovFXFjXScRXkRf+DXRF9VbS9vjCw+WVotcwYfbqMsx1YH6r8qfbUyXuJ0k+p/1eBvrC9BMJP6BVaBWaFZ7nAPvvf5O4unxBuZObzp+FG2VV44OG8fT+itiYMoSKQLEg2GBzK+mMw5gab2GOQmXl2MmvAtBj3OQJfKJ5scpnQWIgpbqBtio2S1hrl6IdngZqTAjN6kEn7sPq/KOOomruNGlgI/Zjd2J/0/FNJlLbZAboV6WdbKzgQFTLC0IBAdPa+O6zsq5Nte3cNRwcusP67nqOP2t+LHove2qGOBmokI6I28EL+ADg+7fiidqi2q4uiT1zVOeINB9+Jd+KW/XF7dE2hTP0SNdFNFYRISvvJuzGSqmZly+QgEKipfNBE6L6X4qR4UgdDEGieUdgZBaOdeJiRYQgAK9xtJl3S3TWAUqmEhWkMGgIgTJkkRPxPyoOXX/qf8V3uEeiTjvp0/HmOLdM/+2M6c7YMYGAdtciqv7R1JW21mEUq66mFY+2tHgsHfZPC/831YnS2ic9QdAomx3TTmCU+gh43Pxeqj47apQXZ3zXjsIESxlT9dprAXcxcsK9hJlD7Ck5lVNBK9KPoulcMuVO4nDaNAlIx5Yf9KUHWly2AWHKnQAvusB0iQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199015)(316002)(86362001)(66476007)(66556008)(186003)(9686003)(6486002)(478600001)(6512007)(6666004)(1076003)(6506007)(66946007)(82960400001)(38100700002)(2906002)(4326008)(83380400001)(41300700001)(8936002)(8676002)(6916009)(44832011)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SxgELO7oTy0dQNPO5Hn1rFusPLkHlnx86uxGWp2oVfBxyIuxm+Wk6dpip5Tx?= =?us-ascii?Q?H78xeLMHPoyZdWZloy3tBj4hWr+dm/3FZnbzIB0y1Zhpu7ugB8KSGt84zDe0?= =?us-ascii?Q?6gxd/kopRP1nA6cq0qEQ/ZGiwNTl2Ie3QzqiR1IdKf64VveVmCqffOAdptM3?= =?us-ascii?Q?IS5Nlb6UXD7BSH90wdbrbcNAyBwzKzPupsMzKLs+/iMPQgRxqO1PDpR2akUL?= =?us-ascii?Q?vFloqGzYctL/YtpYl8QiIfxCsu+yBy5UnIkvkkdv/te0HFvcVp31+iBZE+A9?= =?us-ascii?Q?IO9ATEguFt5J1Kdf4RCcjOnDf4kirq0O3uVLb2Rk8YE8v2R7M6jyFJh0bKid?= =?us-ascii?Q?BRWmxqCS65FRIcF+gSP2Cxhf9XRnnd8MzlKFsroWz5ol2A1+Wyw7RNt01iGT?= =?us-ascii?Q?2lfe72knFNsnrbBUn22VbpsmN/bSR0KQTx+RtgAh8xMlesfM4+rio+TkRW23?= =?us-ascii?Q?84aCuiFo+vTiJ9D95RJj5UU69HEhOAGpQv/rpvIBqJwdSoaWBqjXpkvvafda?= =?us-ascii?Q?+bRmvlC+VSHr/c7uOxGYD6oQBjssnpZtDzEVeMjpaRGyOr0d5nxv1Ylb8qav?= =?us-ascii?Q?UbjZtLP2uadq91wjO+Qab+TZSS6x3pKvd1W2gFqv6CD+hkL4wV1mYSnIRKkC?= =?us-ascii?Q?al72JCy7HtDoDCK9JVSHbAro5jIdJn6S1uGqrB3Ss6DEdCSzNj2kJamW4w/p?= =?us-ascii?Q?cIC9bcHSaI25r5fGFMQ0g9jsB662UMaAZ9qZnGJdCironw2EGlOZHr3NOgV6?= =?us-ascii?Q?TCFnviXNZ96mNBcX4upENPJkaGFkFYxMnhHPEAU1GnS23O9RFYNqJDLS2G/g?= =?us-ascii?Q?2Uz5b3e88yH8AwukjGMxmwbQ0RoiDook2otMh7uyKiho8uXLjN6gG1Q8/kPI?= =?us-ascii?Q?oJqatmvVXgnS+P5O0UAQEVubSUzRKWmQiz0kq8YoYvhRzH2fPrZO5jx50sPq?= =?us-ascii?Q?vXRfJ4BD8FJW0izrL2BlnAZNgEarntQ5w8oA7eOkqleV5uiPyQERtMpi560z?= =?us-ascii?Q?PW9o1eUHyxSMUEsEk5qdpBrZIebvqahyebp626Vhke3Uk5p7hf+WhKQLWdGs?= =?us-ascii?Q?GT7fr+QFttnnDYgZtxOUkVlOJ5YWKnLqhJLw6aCLrRMsI9NS9Hku2BMqXzmw?= =?us-ascii?Q?5YNftuRk1sUU999PH55NGTwIAJ1jDGtF3LJHKhWs33oi/LmuoTBHTifWCNGE?= =?us-ascii?Q?poJCXJABY0G+P5XWP2OU3QFXzDpbKp2Xn6/49cpQW2Re/w7vUXzvlBiDsyyk?= =?us-ascii?Q?AyOoHBA9+6571mVtByswGOMxXnymZDRHeVHjHX8nHZG//MuP7NhQEiX4AcE6?= =?us-ascii?Q?D4Dpeish68EGgYaJ8j1aegzDMVwOD4gAJMk/DVKQIxwZSdVcMQBEblU1Tuip?= =?us-ascii?Q?FxcZ75DrN5R2kl6A73fSPT/pa37vJqye5cfn8raISuTufFk0cdDPxrKgDLPy?= =?us-ascii?Q?wGboODgkjKp9oeO2a4/yFSlppk2KvKL3rv7Nr//QClpXc/+2RLrh6aymWP8l?= =?us-ascii?Q?dgyONhexlBkfm9g8g/Jjewc+0mD0j9v6oE/wABfhvBbpRS9S7E2ERHsXHS59?= =?us-ascii?Q?mg7AkcUwbqiyPWdScZeFh2z+8H0PQ+u4Y6Qt77RU1LU48UNVYN0wktX6bV6+?= =?us-ascii?Q?srCRUcmyzN4KLieDetKeDJDOMOrPCPTwJzFDf6eFjuSD0/YSXeA3XX9qKNG9?= =?us-ascii?Q?cC5c6A=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d4f8d79-97eb-4a3c-2d2b-08dafdda994c X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2023 07:14:14.6074 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rqAPNtw/HGBgT80zEcXa2nSemU/1lJKAtuZ1YsBXI3FfAObLOGtSLHO2SfQ7m9hSDAoMwSv8+lGXi/yZyQw4Ft+Ctt5PCWnT1KlfW1GKuRQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB7729 X-TUID: 7H4pGYILgfox Am Fri, 13 Jan 2023 08:19:39 +0100 schrieb Uladzimir Bely : > By specifying `cmd=''` it's now possible to run VM and > execute the command over SSH connection. > > If this is not specified, tests uses previous approach, with > parsing output log and searching some specific fragments. > > Signed-off-by: Uladzimir Bely > --- > testsuite/cibuilder.py | 60 > +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 > insertions(+), 1 deletion(-) > > diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py > index 9e9cc8a3..4496b0dd 100755 > --- a/testsuite/cibuilder.py > +++ b/testsuite/cibuilder.py > @@ -2,6 +2,7 @@ > > import logging > import os > +import re > import select > import shutil > import subprocess > @@ -201,11 +202,44 @@ class CIBuilder(Test): > > return env['LAYERDIR_' + layer].strip('"') > > - def vm_start(self, arch='amd64', distro='buster', > image='isar-image-base', enforce_pcbios=False): > + def vm_exec_cmd(self, cmd='/bin/true', timeout=10, port=None): > + spk = os.path.dirname(__file__) + '/keys/ssh/id_rsa' > + os.chmod(spk, 0o400) > + > + port_args = '' > + if port: > + port_args = ' -p ' + str(port) > + > + cmd_prefix = 'ssh' + port_args + \ > + ' -o ConnectTimeout=5 -o IdentityFile=' + spk + > \ > + ' -o StrictHostKeyChecking=no ci@localhost ' What is the username? My guess would be root. Let us make that explicit and see if we can at some point get away with running this as non-root while we root into the VMs. Henning > + self.log.debug('Waiting for SSH server ready...') > + > + rc = None > + while time.time() < timeout and rc != 0: > + rc = subprocess.call('exec ' + cmd_prefix + '/bin/true', > + shell=True, > + stdin=subprocess.PIPE, > stdout=subprocess.PIPE, > + stderr=subprocess.PIPE) > + time.sleep(1) > + if rc != 0: > + self.log.error('SSH server is not ready') > + return -1 > + > + rc = subprocess.call('exec ' + cmd_prefix + cmd, shell=True, > + stdin=subprocess.PIPE, > stdout=subprocess.PIPE, > + stderr=subprocess.PIPE) > + time.sleep(1) > + > + return rc > + > + def vm_start(self, arch='amd64', distro='buster', > image='isar-image-base', > + enforce_pcbios=False, cmd=None): > time_to_wait = self.params.get('time_to_wait', default=60) > > self.log.info('===================================================') > self.log.info('Running Isar VM boot test for (' + distro + > '-' + arch + ')') > + self.log.info('Remote command is ' + str(cmd)) > self.log.info('Isar build folder is: ' + self.build_dir) > self.log.info('===================================================') > > @@ -256,6 +290,30 @@ class CIBuilder(Test): > p1 = subprocess.Popen('exec ' + ' '.join(cmdline), > shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, > stderr=subprocess.PIPE, universal_newlines=True) > + > + if cmd is not None: > + rc = None > + try: > + port = None > + for arg in cmdline: > + match = re.match(r".*hostfwd=tcp::(\d*).*", arg) > + if match: > + port = match.group(1) > + break > + > + rc = self.vm_exec_cmd(cmd, timeout, port) > + self.log.debug('`' + cmd + '` returned ' + str(rc)) > + finally: > + if p1.poll() is None: > + self.log.debug('Killing qemu...') > + p1.kill() > + p1.wait() > + > + if rc != 0: > + self.fail('Log ' + output_file) > + > + return > + > try: > poller = select.poll() > poller.register(p1.stdout, select.POLLIN)