All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@redhat.com>
To: wainersm@redhat.com, eric.auger.pro@gmail.com,
	qemu-devel@nongnu.org, philmd@redhat.com, crosa@redhat.com
Cc: wrampazz@redhat.com, peterx@redhat.com
Subject: Re: [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests
Date: Mon, 5 Jul 2021 09:55:29 +0200	[thread overview]
Message-ID: <656d8d2a-9317-9a97-15c6-d385027e6eab@redhat.com> (raw)
In-Reply-To: <a63cae4d-365f-2f48-2de1-be50197f6f4d@redhat.com>

Hi Wainer,

On 7/1/21 1:22 AM, Wainer dos Santos Moschetta wrote:
> Hi,
>
> On 6/29/21 5:17 PM, Eric Auger wrote:
>> Hi Cleber, all,
>>
>> On 6/29/21 4:36 PM, Eric Auger wrote:
>>> This series adds ARM SMMU and Intel IOMMU functional
>>> tests using Fedora cloud-init images.
>>>
>>> ARM SMMU tests feature guests with and without RIL
>>> (range invalidation support) using respectively fedora 33
>>> and 31.  For each, we test the protection of virtio-net-pci
>>> and virtio-block-pci devices. Also strict=no and passthrough
>>> modes are tested. So there is a total of 6 tests.
>>>
>>> The series applies on top of Cleber's series:
>>> - [PATCH 0/3] Acceptance Tests: support choosing specific
>>>
>>> Note:
>>> - SMMU tests 2, 3, 5, 6 (resp. test_smmu_noril_passthrough and
>>> test_smmu_noril_nostrict) pass but the log reports:
>>> "WARN: Test passed but there were warnings during execution."
>>> This seems due to the lack of hash when fetching the kernel and
>>> initrd through fetch_asset():
>>> WARNI| No hash provided. Cannot check the asset file integrity.
>> I wanted to emphasize that point and wondered how we could fix that
>> issue. Looks a pity the tests get tagged as WARN due to a lack of sha1.
>> Any advice?
>
> As Willian mentioned somewhere, to supress the WARN you can pass the
> kernel and initrd checksums (sha1) to the fetch_asset() method.
>
> Below is an draft implementation. It would need to fill out the
> remaining checksums and adjust the `smmu.py` tests.
>
> - Wainer
>
> ----
>
> diff --git a/tests/acceptance/avocado_qemu/__init__.py
> b/tests/acceptance/avocado_qemu/__init__.py
> index 00eb0bfcc8..83637e2654 100644
> --- a/tests/acceptance/avocado_qemu/__init__.py
> +++ b/tests/acceptance/avocado_qemu/__init__.py
> @@ -312,6 +312,8 @@ class LinuxDistro:
>                  {'checksum':
> 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0',
>                  'pxeboot_url':
> "https://archives.fedoraproject.org/pub/archive/fedora/"
> "linux/releases/31/Everything/x86_64/os/images/pxeboot/",
> +                'pxeboot_initrd_chksum':
> 'dd0340a1b39bd28f88532babd4581c67649ec5b1',
> +                'pxeboot_vmlinuz_chksum':
> '5b6f6876e1b5bda314f93893271da0d5777b1f3c',
where did you get the checksum? I don't see any at the URL? Did you
generate it yourself?

Thanks

Eric
>                  'kernel_params':
> "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro "
>                                "no_timer_check net.ifnames=0 "
>                                "console=tty1 console=ttyS0,115200n8"},
> @@ -371,6 +373,16 @@ def pxeboot_url(self):
>          """Gets the repository url where pxeboot files can be found"""
>          return self._info.get('pxeboot_url', None)
>
> +    @property
> +    def pxeboot_initrd_chksum(self):
> +        """Gets the pxeboot initrd file checksum"""
> +        return self._info.get('pxeboot_initrd_chksum', None)
> +
> +    @property
> +    def pxeboot_vmlinuz_chksum(self):
> +        """Gets the pxeboot vmlinuz file checksum"""
> +        return self._info.get('pxeboot_vmlinuz_chksum', None)
> +
>      @property
>      def checksum(self):
>          """Gets the cloud-image file checksum"""
> diff --git a/tests/acceptance/intel_iommu.py
> b/tests/acceptance/intel_iommu.py
> index bf8dea6e4f..a2f38ee2e9 100644
> --- a/tests/acceptance/intel_iommu.py
> +++ b/tests/acceptance/intel_iommu.py
> @@ -55,8 +55,10 @@ def common_vm_setup(self, custom_kernel=None):
>
>          kernel_url = self.distro.pxeboot_url + 'vmlinuz'
>          initrd_url = self.distro.pxeboot_url + 'initrd.img'
> -        self.kernel_path = self.fetch_asset(kernel_url)
> -        self.initrd_path = self.fetch_asset(initrd_url)
> +        self.kernel_path = self.fetch_asset(kernel_url,
> + asset_hash=self.distro.pxeboot_vmlinuz_chksum)
> +        self.initrd_path = self.fetch_asset(initrd_url,
> + asset_hash=self.distro.pxeboot_initrd_chksum)
>
>      def run_and_check(self):
>          if self.kernel_path:
>
>>
>> Best Regards
>>
>> Eric
>>> History:
>>> v3 -> v4:
>>> - I added Wainer's refactoring of KNOWN_DISTROS
>>> into a class (last patch) and took into account his comments.
>>>
>>> v2 -> v3:
>>> - Added Intel IOMMU tests were added. Different
>>> operating modes are tested such as strict, caching mode, pt.
>>>
>>> Best Regards
>>>
>>> Eric
>>>
>>> The series and its dependencies can be found at:
>>> https://github.com/eauger/qemu/tree/avocado-qemu-v4
>>>
>>> Eric Auger (3):
>>>    Acceptance Tests: Add default kernel params and pxeboot url to the
>>>      KNOWN_DISTROS collection
>>>    avocado_qemu: Add SMMUv3 tests
>>>    avocado_qemu: Add Intel iommu tests
>>>
>>> Wainer dos Santos Moschetta (1):
>>>    avocado_qemu: Fix KNOWN_DISTROS map into the LinuxDistro class
>>>
>>>   tests/acceptance/avocado_qemu/__init__.py | 118 +++++++++++++------
>>>   tests/acceptance/intel_iommu.py           | 115 +++++++++++++++++++
>>>   tests/acceptance/smmu.py                  | 132
>>> ++++++++++++++++++++++
>>>   3 files changed, 332 insertions(+), 33 deletions(-)
>>>   create mode 100644 tests/acceptance/intel_iommu.py
>>>   create mode 100644 tests/acceptance/smmu.py
>>>
>



  reply	other threads:[~2021-07-05  7:56 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-29 14:36 [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests Eric Auger
2021-06-29 14:36 ` [PATCH v4 1/4] Acceptance Tests: Add default kernel params and pxeboot url to the KNOWN_DISTROS collection Eric Auger
2021-06-29 19:50   ` Willian Rampazzo
2021-06-29 14:36 ` [PATCH v4 2/4] avocado_qemu: Add SMMUv3 tests Eric Auger
2021-07-01 18:13   ` Wainer dos Santos Moschetta
2021-07-05  8:00     ` Eric Auger
2021-07-05 21:04       ` Willian Rampazzo
2021-07-06 14:26       ` Wainer dos Santos Moschetta
2021-07-06 14:33         ` Eric Auger
2021-07-05 21:06   ` Willian Rampazzo
2021-06-29 14:36 ` [PATCH v4 3/4] avocado_qemu: Add Intel iommu tests Eric Auger
2021-07-05 21:15   ` Willian Rampazzo
2021-06-29 14:36 ` [PATCH v4 4/4] avocado_qemu: Fix KNOWN_DISTROS map into the LinuxDistro class Eric Auger
2021-07-05 21:17   ` Willian Rampazzo
2021-06-29 20:17 ` [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests Eric Auger
2021-06-29 20:38   ` Willian Rampazzo
2021-06-30  6:53     ` Eric Auger
2021-06-30 23:22   ` Wainer dos Santos Moschetta
2021-07-05  7:55     ` Eric Auger [this message]
2021-07-05 21:10       ` Willian Rampazzo
2021-07-05 21:20         ` Philippe Mathieu-Daudé
2021-07-05 21:24           ` Willian Rampazzo
2021-07-06  7:06             ` Eric Auger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=656d8d2a-9317-9a97-15c6-d385027e6eab@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=peterx@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    --cc=wrampazz@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.