Message ID | 20210621080824.789274-2-eric.auger@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | avocado-qemu: New SMMUv3 and intel IOMMU tests | expand |
Hi Eric, On 6/21/21 5:08 AM, Eric Auger wrote: > When running LinuxTests we may need to run the guest with > custom params. It is practical to store the pxeboot URL > and the default kernel params so that the > tests just need to fetch those and augment the kernel params. > > Signed-off-by: Eric Auger <eric.auger@redhat.com> > > --- > > v2 -> v3: > - add fed32 and fed33 checksums > --- > tests/acceptance/avocado_qemu/__init__.py | 52 ++++++++++++++++++++++- > 1 file changed, 50 insertions(+), 2 deletions(-) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 81ac90bebb..8152420fa5 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -305,17 +305,59 @@ def ssh_command(self, command): > 'fedora': { > '31': { > 'x86_64': > - {'checksum': 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0'}, > + {'checksum': 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0', > + 'pxeboot_url': "https://archives.fedoraproject.org/pub/archive/fedora/" > + "linux/releases/31/Everything/x86_64/os/images/pxeboot/", > + 'kernel_params': "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro " > + "no_timer_check net.ifnames=0 " > + "console=tty1 console=ttyS0,115200n8"}, > 'aarch64': > - {'checksum': '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49'}, > + {'checksum': '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49', > + 'pxeboot_url': "https://archives.fedoraproject.org/pub/archive/fedora/" > + "linux/releases/31/Everything/aarch64/os/images/pxeboot/", > + 'kernel_params': "root=UUID=b6950a44-9f3c-4076-a9c2-355e8475b0a7 ro " > + "earlyprintk=pl011,0x9000000 ignore_loglevel " > + "no_timer_check printk.time=1 rd_NO_PLYMOUTH " > + "console=ttyAMA0 "}, > 'ppc64': > {'checksum': '7c3528b85a3df4b2306e892199a9e1e43f991c506f2cc390dc4efa2026ad2f58'}, > 's390x': > {'checksum': '4caaab5a434fd4d1079149a072fdc7891e354f834d355069ca982fdcaf5a122d'}, > } > + , > + '32': { > + 'aarch64': > + { 'kernel_params': "root=UUID=3df75b65-be8d-4db4-8655-14d95c0e90c5 ro " > + "no_timer_check net.ifnames=0 console=tty1 " > + "console=ttyS0,115200n8 ", Nit: indentation ^ > + 'checksum': 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967', > + 'pxeboot_url': "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" Maybe use dl.fedoraproject.org instead of a mirror server? > + "32/Server/aarch64/os/images/pxeboot/"}, > + } > + , > + '33': { > + 'aarch64': > + { 'kernel_params': "root=UUID=d20b3ffa-6397-4a63-a734-1126a0208f8a ro " > + "no_timer_check net.ifnames=0 console=tty1 " > + "console=ttyS0,115200n8 console=tty0 ", > + 'checksum': 'e7f75cdfd523fe5ac2ca9eeece68edc1a81f386a17f969c1d1c7c87031008a6b', > + 'pxeboot_url': "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" Likewise. > + "33/Server/aarch64/os/images/pxeboot/"}, > + } > } > } > > +def get_known_distro_kernel_params(distro, distro_version, arch): > + try: > + return KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('kernel_params') > + except AttributeError: > + return None > + > +def get_known_distro_pxeboot_url(distro, distro_version, arch): > + try: > + return KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('pxeboot_url') > + except AttributeError: > + return None > > def get_known_distro_checksum(distro, distro_version, arch): > try: > @@ -449,6 +491,12 @@ def set_up_cloudinit(self, ssh_pubkey=None): > cloudinit_iso = self.prepare_cloudinit(ssh_pubkey) > self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso) > > + def get_default_kernel_params(self): > + return get_known_distro_kernel_params(self.distro, self.distro_version, self.arch) > + > + def get_pxeboot_url(self): > + return get_known_distro_pxeboot_url(self.distro, self.distro_version, self.arch) > + As the KNOWN_DISTROS grows, more loosely methods will be created in the avocado_qemu/__init__.py file. I refactored the code so that KNOWN_DISTROS and related methods are packaged in a class. See in: https://github.com/wainersm/qemu/tree/eauger_avocado-qemu-v3-refactor Maybe you could incorporate that in your series? Otherwise I can send as a follow up series. Whatever you prefer. Thanks! - Wainer > def launch_and_wait(self, set_up_ssh_connection=True): > self.vm.set_console() > self.vm.launch()
Hi Wainer, On 6/28/21 5:06 PM, Wainer dos Santos Moschetta wrote: > Hi Eric, > > On 6/21/21 5:08 AM, Eric Auger wrote: >> When running LinuxTests we may need to run the guest with >> custom params. It is practical to store the pxeboot URL >> and the default kernel params so that the >> tests just need to fetch those and augment the kernel params. >> >> Signed-off-by: Eric Auger <eric.auger@redhat.com> >> >> --- >> >> v2 -> v3: >> - add fed32 and fed33 checksums >> --- >> tests/acceptance/avocado_qemu/__init__.py | 52 ++++++++++++++++++++++- >> 1 file changed, 50 insertions(+), 2 deletions(-) >> >> diff --git a/tests/acceptance/avocado_qemu/__init__.py >> b/tests/acceptance/avocado_qemu/__init__.py >> index 81ac90bebb..8152420fa5 100644 >> --- a/tests/acceptance/avocado_qemu/__init__.py >> +++ b/tests/acceptance/avocado_qemu/__init__.py >> @@ -305,17 +305,59 @@ def ssh_command(self, command): >> 'fedora': { >> '31': { >> 'x86_64': >> - {'checksum': >> 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0'}, >> + {'checksum': >> 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0', >> + 'pxeboot_url': >> "https://archives.fedoraproject.org/pub/archive/fedora/" >> + >> "linux/releases/31/Everything/x86_64/os/images/pxeboot/", >> + 'kernel_params': >> "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro " >> + "no_timer_check net.ifnames=0 " >> + "console=tty1 console=ttyS0,115200n8"}, >> 'aarch64': >> - {'checksum': >> '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49'}, >> + {'checksum': >> '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49', >> + 'pxeboot_url': >> "https://archives.fedoraproject.org/pub/archive/fedora/" >> + >> "linux/releases/31/Everything/aarch64/os/images/pxeboot/", >> + 'kernel_params': >> "root=UUID=b6950a44-9f3c-4076-a9c2-355e8475b0a7 ro " >> + "earlyprintk=pl011,0x9000000 >> ignore_loglevel " >> + "no_timer_check printk.time=1 >> rd_NO_PLYMOUTH " >> + "console=ttyAMA0 "}, >> 'ppc64': >> {'checksum': >> '7c3528b85a3df4b2306e892199a9e1e43f991c506f2cc390dc4efa2026ad2f58'}, >> 's390x': >> {'checksum': >> '4caaab5a434fd4d1079149a072fdc7891e354f834d355069ca982fdcaf5a122d'}, >> } >> + , >> + '32': { >> + 'aarch64': >> + { 'kernel_params': >> "root=UUID=3df75b65-be8d-4db4-8655-14d95c0e90c5 ro " >> + "no_timer_check net.ifnames=0 >> console=tty1 " >> + "console=ttyS0,115200n8 ", > Nit: indentation ^ sure >> + 'checksum': >> 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967', >> + 'pxeboot_url': >> "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" > Maybe use dl.fedoraproject.org instead of a mirror server? yep >> + "32/Server/aarch64/os/images/pxeboot/"}, >> + } >> + , >> + '33': { >> + 'aarch64': >> + { 'kernel_params': >> "root=UUID=d20b3ffa-6397-4a63-a734-1126a0208f8a ro " >> + "no_timer_check net.ifnames=0 >> console=tty1 " >> + "console=ttyS0,115200n8 console=tty0 ", >> + 'checksum': >> 'e7f75cdfd523fe5ac2ca9eeece68edc1a81f386a17f969c1d1c7c87031008a6b', >> + 'pxeboot_url': >> "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" > Likewise. ok >> + "33/Server/aarch64/os/images/pxeboot/"}, >> + } >> } >> } >> +def get_known_distro_kernel_params(distro, distro_version, arch): >> + try: >> + return >> KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('kernel_params') >> + except AttributeError: >> + return None >> + >> +def get_known_distro_pxeboot_url(distro, distro_version, arch): >> + try: >> + return >> KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('pxeboot_url') >> + except AttributeError: >> + return None >> def get_known_distro_checksum(distro, distro_version, arch): >> try: >> @@ -449,6 +491,12 @@ def set_up_cloudinit(self, ssh_pubkey=None): >> cloudinit_iso = self.prepare_cloudinit(ssh_pubkey) >> self.vm.add_args('-drive', 'file=%s,format=raw' % >> cloudinit_iso) >> + def get_default_kernel_params(self): >> + return get_known_distro_kernel_params(self.distro, >> self.distro_version, self.arch) >> + >> + def get_pxeboot_url(self): >> + return get_known_distro_pxeboot_url(self.distro, >> self.distro_version, self.arch) >> + > > As the KNOWN_DISTROS grows, more loosely methods will be created in > the avocado_qemu/__init__.py file. > > I refactored the code so that KNOWN_DISTROS and related methods are > packaged in a class. See in: > > https://github.com/wainersm/qemu/tree/eauger_avocado-qemu-v3-refactor > > Maybe you could incorporate that in your series? Otherwise I can send > as a follow up series. Whatever you prefer. OK I take your patch on top of my series then. > > Thanks! > > - Wainer > >> def launch_and_wait(self, set_up_ssh_connection=True): >> self.vm.set_console() >> self.vm.launch() >
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py index 81ac90bebb..8152420fa5 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -305,17 +305,59 @@ def ssh_command(self, command): 'fedora': { '31': { 'x86_64': - {'checksum': 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0'}, + {'checksum': 'e3c1b309d9203604922d6e255c2c5d098a309c2d46215d8fc026954f3c5c27a0', + 'pxeboot_url': "https://archives.fedoraproject.org/pub/archive/fedora/" + "linux/releases/31/Everything/x86_64/os/images/pxeboot/", + 'kernel_params': "root=UUID=b1438b9b-2cab-4065-a99a-08a96687f73c ro " + "no_timer_check net.ifnames=0 " + "console=tty1 console=ttyS0,115200n8"}, 'aarch64': - {'checksum': '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49'}, + {'checksum': '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49', + 'pxeboot_url': "https://archives.fedoraproject.org/pub/archive/fedora/" + "linux/releases/31/Everything/aarch64/os/images/pxeboot/", + 'kernel_params': "root=UUID=b6950a44-9f3c-4076-a9c2-355e8475b0a7 ro " + "earlyprintk=pl011,0x9000000 ignore_loglevel " + "no_timer_check printk.time=1 rd_NO_PLYMOUTH " + "console=ttyAMA0 "}, 'ppc64': {'checksum': '7c3528b85a3df4b2306e892199a9e1e43f991c506f2cc390dc4efa2026ad2f58'}, 's390x': {'checksum': '4caaab5a434fd4d1079149a072fdc7891e354f834d355069ca982fdcaf5a122d'}, } + , + '32': { + 'aarch64': + { 'kernel_params': "root=UUID=3df75b65-be8d-4db4-8655-14d95c0e90c5 ro " + "no_timer_check net.ifnames=0 console=tty1 " + "console=ttyS0,115200n8 ", + 'checksum': 'b367755c664a2d7a26955bbfff985855adfa2ca15e908baf15b4b176d68d3967', + 'pxeboot_url': "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" + "32/Server/aarch64/os/images/pxeboot/"}, + } + , + '33': { + 'aarch64': + { 'kernel_params': "root=UUID=d20b3ffa-6397-4a63-a734-1126a0208f8a ro " + "no_timer_check net.ifnames=0 console=tty1 " + "console=ttyS0,115200n8 console=tty0 ", + 'checksum': 'e7f75cdfd523fe5ac2ca9eeece68edc1a81f386a17f969c1d1c7c87031008a6b', + 'pxeboot_url': "https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/" + "33/Server/aarch64/os/images/pxeboot/"}, + } } } +def get_known_distro_kernel_params(distro, distro_version, arch): + try: + return KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('kernel_params') + except AttributeError: + return None + +def get_known_distro_pxeboot_url(distro, distro_version, arch): + try: + return KNOWN_DISTROS.get(distro).get(distro_version).get(arch).get('pxeboot_url') + except AttributeError: + return None def get_known_distro_checksum(distro, distro_version, arch): try: @@ -449,6 +491,12 @@ def set_up_cloudinit(self, ssh_pubkey=None): cloudinit_iso = self.prepare_cloudinit(ssh_pubkey) self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso) + def get_default_kernel_params(self): + return get_known_distro_kernel_params(self.distro, self.distro_version, self.arch) + + def get_pxeboot_url(self): + return get_known_distro_pxeboot_url(self.distro, self.distro_version, self.arch) + def launch_and_wait(self, set_up_ssh_connection=True): self.vm.set_console() self.vm.launch()
When running LinuxTests we may need to run the guest with custom params. It is practical to store the pxeboot URL and the default kernel params so that the tests just need to fetch those and augment the kernel params. Signed-off-by: Eric Auger <eric.auger@redhat.com> --- v2 -> v3: - add fed32 and fed33 checksums --- tests/acceptance/avocado_qemu/__init__.py | 52 ++++++++++++++++++++++- 1 file changed, 50 insertions(+), 2 deletions(-)