[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests
From: |
Eric Auger |
Subject: |
Re: [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests |
Date: |
Mon, 5 Jul 2021 09:55:29 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 |
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
>>>
>
- Re: [PATCH v4 0/4] avocado-qemu: New SMMUv3 and intel IOMMU tests,
Eric Auger <=