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 >>> >