Hi Eric,

On Mon, Jul 5, 2021 at 4:55 AM Eric Auger <eric.au...@redhat.com> wrote:
>
> 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?

It is possible to use the hash you generate from the downloaded file.

While I was reviewing this series, I thought it makes more sense to
have Wainer's path applied first and then have your changes. I did
this here, with the addition of myu suggestions in the series:
https://gitlab.com/willianrampazzo/qemu/-/commits/test_eric_auger_v5.

Feel free to pick it and resend a new version.

Wainer, check if you agree with the changes to your patch and ack it.

Regards,

>
> 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 via email to