From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6523072403514327040 X-Received: by 10.28.202.2 with SMTP id a2mr654064wmg.20.1519033526694; Mon, 19 Feb 2018 01:45:26 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.63.138 with SMTP id m132ls1177730wma.5.canary-gmail; Mon, 19 Feb 2018 01:45:26 -0800 (PST) X-Google-Smtp-Source: AH8x226+PEwENmgRuwsZX9awdL6IT9YxW53Wf3XooJkD5J2P5DSKrQUx7d65h5T2Bu/6Xx9wfbEf X-Received: by 10.28.138.138 with SMTP id m132mr1064592wmd.11.1519033526194; Mon, 19 Feb 2018 01:45:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519033526; cv=none; d=google.com; s=arc-20160816; b=JQwnjHDvZe7PAtjmy1m004OhvF8fEB7ADHSvJZPXCA7amNIb308JH/5O96uj2SQjio krazN7HMSRtLqrW4kNr4v7u/ttTgw6YM1lRShjZR4GjpRto2IHzCKHaJqkcYBv1S+/b+ cU/8gGyp5C96JOemas6ms86bfdWdkGP6yzMTFFUEknOXBrQQxCk0194oPm3vNweFC/KD 5ieaEgR6jYm6yTrgDJal2WZbLXTdTbHBurTOZIVSmi4S0wsTbCjFA4cQDncqfjq/F6GM O33p8nis07oE7cQuGxnlKQ8loLrvqMkcy5KABITSfWZNlZjO2iZT7zDQgrrnoMiB9T+H i7PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject :arc-authentication-results; bh=hQYpF7hSjyaAzCJFBevcV4QfZTlZED6WCxGLEM6tSQE=; b=l9KeL7atNNWqo+GMre7pzlUdfH98Uy9dAG6a+/G1BQq+tbdPe+n63BPq+YwnSEv6yW 1WAywMiFXZ3yUjiTLVFuyRro5I0Mug46D3WgCKAK2IUgPWlpySLSomIJ7+WSIR3BNHsn TwemiJZ4zw/7XuPcGIkAEqM40I+OqSRg3TepHehwdhq2e1I7Q9XH5hGZlxw9GjP+BmYg bX5/9kfKHvhB7eI29bfob1UqT+8q0TJzOogFNIR1+M0Uf3z/gRNSHlVkQQ/JHAa4d7Md U28lo1PGEVWRb0Lz1BMGr1f7BB5u+GOR5BNhcSdf4caLPMece2PBvLSeVmBs0g2UVw9F Y89g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id c11si357654wrb.0.2018.02.19.01.45.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Feb 2018 01:45:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from [10.0.2.15] ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w1J9jMbO030966 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 19 Feb 2018 10:45:24 +0100 Subject: Re: [PATCH 2/8] isar-events: Wait for failing umounts To: Jan Kiszka , isar-users References: <3db8db617fb01db824b962b979de745fa0f4bc9a.1518771143.git.jan.kiszka@siemens.com> From: Alexander Smirnov Message-ID: Date: Mon, 19 Feb 2018 12:45:17 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <3db8db617fb01db824b962b979de745fa0f4bc9a.1518771143.git.jan.kiszka@siemens.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: n/XldUVlXkrH On 02/16/2018 11:52 AM, Jan Kiszka wrote: > From: Jan Kiszka > > The BuildCompleted event may come prior to all running build processes > being terminated. In that case, some mount might be busy, and we will > leave them dangling behind. Wait in that case. How long we should wait? For example there was a bug with apt-get which results as hanging of 'http' process. So in this case Isar never returns to command prompt until second ^C pressed. Alex > > Signed-off-by: Jan Kiszka > --- > meta/classes/isar-events.bbclass | 28 +++++++++++++++++++--------- > 1 file changed, 19 insertions(+), 9 deletions(-) > > diff --git a/meta/classes/isar-events.bbclass b/meta/classes/isar-events.bbclass > index 4b5e97e..68208f1 100644 > --- a/meta/classes/isar-events.bbclass > +++ b/meta/classes/isar-events.bbclass > @@ -2,11 +2,26 @@ > # > # This software is a part of ISAR. > # Copyright (C) 2015-2017 ilbers GmbH > +# Copyright (c) Siemens AG, 2018 > > addhandler isar_handler > > python isar_handler () { > import subprocess > + import time > + > + def umount_all(basepath): > + # '/proc/mounts' contains all the active mounts, so knowing basepath > + # we can get the list of mounts for the specific multiconfig and > + # clean them. > + with open('/proc/mounts', 'rU') as f: > + for line in f: > + if basepath in line: > + if subprocess.call('sudo umount ' + line.split()[1], > + stdout=devnull, stderr=devnull, > + shell=True) != 0: > + return False > + return True > > devnull = open(os.devnull, 'w') > > @@ -16,15 +31,10 @@ python isar_handler () { > arch = d.getVar('DISTRO_ARCH', True) > > if tmpdir and distro and arch: > - w = tmpdir + '/work/' + distro + '-' + arch > - > - # '/proc/mounts' contains all the active mounts, so knowing 'w' we > - # could get the list of mounts for the specific multiconfig and > - # clean them. > - with open('/proc/mounts', 'rU') as f: > - for line in f: > - if w in line: > - subprocess.call('sudo umount -f ' + line.split()[1], stdout=devnull, stderr=devnull, shell=True) > + basepath = tmpdir + '/work/' + distro + '-' + arch > + > + while not umount_all(basepath): > + time.sleep(1) > > devnull.close() > } > -- With best regards, Alexander Smirnov ilbers GmbH Baierbrunner Str. 28c D-81379 Munich +49 (89) 122 67 24-0 http://ilbers.de/ Commercial register Munich, HRB 214197 General manager: Baurzhan Ismagulov